前言
前些日子搭建了一台FreeNAS,由于性能过剩,于是就想着再虚拟一个软路由使用
搭建环境
FreeNAS11.3-U1物理机
配件 | 型号 |
---|---|
CPU | E5-2630L v3 |
主板 | 华硕X99-A |
显卡 | GeForce 310(GT218) |
内存 | 镁光DDR4 2133Mhz RECC 16G |
硬盘 | 淘汰的2.5寸500G机械硬盘 |
电源 | 全汉FSP600-60WS2 |
机箱 | 12盘位服务器机架式2U机箱 |
在此基础上开启虚拟机安装Lean大神源码编译的openwrt固件,固件版本是R20.3.19,内核版本是4.19.108
故障描述
一开始wan口使用DHCP模式网络还是正常的,但不知为何wol唤醒无法正常使用,端口转发也无效,后面切换为PPPoE协议拨号时,始终是0个数据包
尝试过的解决方案
拨号问题
貌似类似的例子很少出现,找了很久也只有一个较为明确的解决方案:
在命令行下手动指定wan口mac地址
#修改配置文件
vi /etc/config/network
#按i进入编辑模式,找到wan口的位置,在最后一行添加
option macaddr ‘xx:xx:xx:xx:xx:xx’
#按Esc键退出编辑模式,输入命令保存并退出
:wq
#重启网络服务
service network restart
这是由于部分地区的ISP运营商开启了mac地址限制,类似白名单,只有固定的mac地址可以拨号成功,其他的设备一律失败
也就是最开始拨号成功的设备的mac地址才能使用
但在openwrt固件下也有人随意指定一个mac地址就成功拨号的情况出现,具体原因不明
而我的情况应该不在此列,毕竟我后来用家里的电视盒子,二级路由什么的去拨号也还是成功了的
但我还是死马当活马医的去试了一下,结果当然还是失败
wol唤醒设备&端口转发问题
由于我是想外网远程控制家里的台式机,但是软路由无法拨号的情况下,只得作为二级路由使用,再进行两层端口转发
即:PC-openwrt-主路由-互联网
这样的路线
这时遇到的新问题就是在主路由下无法远程控制PC,更不用说外网了.而且使用openwrt的网络唤醒(wol)功能显示正常,没有报错,但PC没有开机
wol这块我找到的帖子是由于mac地址最开始的两位数是00
,导致识别错误,mac地址没有正确输入的bug,但我的mac地址最开始的两位数也不是00
:sleepy:
而端口转发这一块,我查了很多教程,明确设置没有问题,所以怀疑是防火墙的问题,随后使用命令行停止了防火墙
#关闭防火墙
/etc/init.d/firewall stop
#阻止防火墙服务开机自动启动
/etc/init.d/firewall disable
再次尝试在主路由下远程控制PC,结果是成功了,但等了一会后,网络就挂了,一查才发现openwrt的防火墙直接关闭会导致断网
折腾了好几天的多重打击之下,暂时让我压抑住了探究的内心
命运扼住了我的咽喉
最后的尝试
经过这么久的折腾,也能猜到是FreeNAS的虚拟机不够完善造成的问题,偏偏国内还没什么人折腾FreeNAS ,查阅英文资料对我来说也很吃力,我也基本快要放弃使用FreeNAS搭建软路由了,但偶然在FreeNAS官方论坛里看见一篇帖子有人和我遇到了一样的问题,下面的回复有提到解决方法,于是我再最后挣扎一下
进入FreeNAS Web管理页面-系统(System )-微调(Tunables)
- 添加(ADD)一条规则
- 变量(Variable)为
net.link.bridge.pfil_onlyip
- 值为(Value)
0
- 选择类型(Type)为
sysctl
- 点击保存(SAVE)
- 最后重启FreeNAS
- 把wan口网线插入光猫
- 重新拨号
神奇的是,以上问题全部解决了
貌似原因是因为FreeNAS虚拟机的网卡不是直通,而是经过了转换导致的
果然还是再搭建一个ESIX物理机专门用来玩虚拟机吧
版权属于:本文为原创文章,版权归 AUK CL 所有。
文章地址: https://aukcl.win/archives/445/
所有原创文章由知识共享署名-非商业性使用 4.0 国际许可协议进行许可。
您可以自由转载或修改,但禁止一切形式的商业使用,同时,务必请注明原文地址及作者信息。