家里有两个斐讯N1盒子,一个已经刷了armbian系统安装docker使用,另外一个由于网口两边的卡扣断了,导致普通网线插进去松动,但是最近买了扁平的短水晶头的网线插进去刚好合适,于是决定尝试刷个openwrt系统通过设置vlan配合网管交换机做主路由使用。
N1设置
本次使用的是K大的openwrt.ai固件,在网络
->接口
->设备
新增两个VLAN,一个为vlan100用于WAN口,一个vlan101用于Lan口
WAN口配置
新增一个WAN口,名称
选择WAN,协议
选择PPPoE,设备
选择eth0.100,防火墙设置
选择WAN,DHCP服务器
不用管。
Lan口配置
在网络
->接口
->设备
,配置br-lan,把eth0.101加入到网桥端口
在网络
->接口
编辑lan口,在常规设置
中填入ipv4地址和掩码,网关是自己,不需要填写。高级设置
中自定义dns填写自己的地址,委托 IPv6 前缀
取消打勾,IPv6 分配长度
选择64
在DHCP服务器
->IPv6设置
,RA服务选择服务器模式,DHCPv6服务选择禁用,取消勾选本地IPV6 DNS服务器
在DHCP服务器
->IPv6 RA设置
,启用SLAAC打勾,RA标记取消勾选,最后保存并应用。
网管交换机设置
802.1q类型的vlan涉及到三个概念,端口类型
,vlan ID
和PVID
如果熟悉交换机的命令,一般会先创建vlan,设置端口类型再把端口加入vlan。理解就是先创建两个vlan,分别为为vlan100和vlan101,然后把端口设置为access口或者trunk口,假设把端口1和端口3设置为access口,然后就是把vlan100加入到端口1,把vlan101加入到端口3。把端口2设置为trunk口,那么就是把vlan100和vlan101加入到端口2中。
端口类型
:一般分为access和trunk,access端口只允许一种vlan通过,trunk端口允许多个vlan通过
vlan ID
:为了区分不通的vlan,就是给每个vlan编个号码。
PVID
:access的pvid就是vlan id,trunk口的pvid默认为1,不需要改动。
假设我们只使用网管交换机的三个端口,端口1连接桥接的光猫,端口2连接N1做主路由,端口3连接AP做wifi,那么端口1类型设为access口,PVID为100,用于外网,端口2的类型设为trunk口,允许vlan100和vlan101的数据通过,端口3设为access口,PVID为101即可。
当端口1access口接收到数据时,由于自己的PVID为100,会打上一个100的标签,转发到端口2trunk上,trunk口允许100和101的数据通过,经过转换会去掉100的标签,重新打上一个101的标签再从端口2转发出去,端口3收到101数据的标签,发现和自己的PVID101相同,于是就去掉101的标签。这就是整个vlan802.1q数据转发的流程。
使用感受
相比动则四五百x86软路由,如果要all in one价格需要更多,如果预算有限,通过设置vlan做主路由,使用体验丝毫不差。另外家庭网络一定要加个交换机,因为可以让你的科学速度上一个档次,深有体会。以前就是一个路由器,apptv 通过surge看油管的速度不到10万,也就七八万的样子,这次使用了交换机,同样的设置油管速度轻松突破20万,真是意想不到的结果。