华硕BE86U梅林固件,实现一根网线承载外网(PPPoE)+内网(LAN)流量
前段时间分享了客厅到弱电箱只预埋了一根网线,主路由放在客厅,如何实现一根网线承载外网(PPPoE)+内网(LAN)流量的方法,相信很多网友都有这个需求,特别是老房子。
▲ 找了一个示意图:弱电箱到客厅一根网线
主路由是华硕BE86U+弱电箱一台支持VLAN的2.5G交换机,通过设置单VLAN,实现了使用一根网线连接光猫和路由器,完成双向复用。
简单回顾一下设置方法。
网络拓扑图

VLAN10设定为WAN流量,VLAN20设置为LAN流量 2、3、4网口为Access端口连接房间,VLAN20 5号网口为Access端口连接光猫,VLAN10 1号网口设置为Trunk端口连接主路由:VLAN10+VALN20
▲ 启用802.1Q协议,VLAN ID填入设置的WAN口数值,我这里是10(后来改成了41),然后应用。
使用了一段时间感觉还不错、能跑满千兆宽带+2.5G内网带宽,但玩华硕路由器,不刷机,不如推下海。
刷了华硕BE86U的梅林固件,发现一个问题,同样的设置无法拨号成功,不能上网,这个问题折腾了好久,网上也没有相关资料,大部分都是单线复用实现观看IPTV。
问了下AI,提示IPTV设置里需要填写VLAN ID。
▲ 感觉和IPTV也没关系呀?
▲ 来到网络→IPTV选择ISP设置档→手动设置,互联网 VID填入自己在VLAN交换机里设置的WAN口ID
▲ 神奇的事情发生了,竟然拨号成功了,可以上网。
▲ 单线复用的LAN流量和官方固件同样的设置,在WAN口新增桥接,启动802.1Q协议,VID填入20。
▲ 但没有效果,书房的电脑无法获取IP。
根据前面的现象发现在WAN联机这里设置的VLAN无效,梅林固件的版本落后于官方固件,可能还是没有生效,只能自己在SSH里手写VLAN命令了,研究了一下,成功把LAN流量也跑起来了。
#启用 VLAN 功能
nvram set vlan_enable=1
nvram commit
# 创建 VLAN 20 接口
ip link add link eth0 name eth0.20 type vlan id 20
ip link set eth0.20 up
# 加入 LAN 桥接组
brctl addif br0 eth0.20
ifconfig eth0.20
brctl show
▲ 进入SSH后台,依次执行上面命令,然后查看一下,发现br0有了eth0.20这个VLAN标识。
▲ 查看电脑网卡,已经获取到正确的IP地址,可以上网了。
注意,这里在SSH里设置VLAN的命令,当路由器重启的时候会失效,为了保证每次重启后VLAN也能生效,需要写一个自启动脚本。
总结
梅林固件让华硕路由器的可玩性高了很多,但有些地方和官方设置有一点区别,比如这个VLAN设置,可能是版本落后的原因,后续更新一点的梅林版本,也有可能在图形界面能设置完成就简单一些了。

