前言
我家有三个房间,最简单的网络布局,每个房间有一跟网线是从弱电箱走到房间,弱电箱中只有一个光猫,带有四个千兆网口,三根网线直接从光猫中接出。我在家中布线的时候,就是把这三根网线接到了三个房间的网口上,然后在每个房间中接了一个小米路由器。由于每个小米路由器都来自同一个上级路由(光猫),所以可以开启Mesh,在不同房间中无缝切换WiFi信号。并且主Mesh节点采用中继模式,因此不同路由器下的设备都可以互相访问。
另外,我家一直有一个NAS设备,用于存储家庭中的一些文件。NAS放在书房,从书房的路由器接出一根网线,接到NAS上,这样就可以在家庭中的任何一个房间访问NAS中的文件。
今年5月替换了NAS的基础硬件设备(主板、CPU、电源等),同时也因为一些不可抗力因素导致容器镜像无法随心所欲拉取,因此才下定决心想要通过openwrt优化家庭网络,便于内网设备访问互联网
准备工作
我们知道要想搞openwrt,首先需要有网口,由于我的NAS只有一个2.5G网口,我已经给NAS用了,因此我需要额外的网口用来给openwrt使用。我在pdd上购入了一张pcie网卡,带有2个2.5G网口,这样就可以给openwrt使用了。
我的NAS系统是Unraid,我需要在Unraid中安装openwrt虚拟机,将pcie网卡直通给openwrt虚拟机,这样openwrt就有了两个网口。这里我就不讲解Unraid如何直通网卡和安装openwrt虚拟机了,只讲解和网络本身有关的openwrt的配置。
pdd上购入的网卡是
Intel I226-V,价格是165.83¥,有需要可以参考一下价格。
效果预期
- 三个房间下的所有设备通过openwrt访问互联网
- 三个房间下的所有设备可以互相访问
- 三个房间下的所有设备可以访问NAS中的文件(其实在第二点中已经涵盖)
- 原来的路由器仍然可以组成Mesh网络,用于WiFi覆盖
写到此处时,不得不说当时购入网卡的时候,没有事先做好功课,没有准备详细的网路规划,导致后续的配置工作变得复杂,因此在购入硬件之前,一定要做好功课,明确自己的需求。
犹豫纠结
还是先记录下我对当时的选择的纠结,我有两个(大致)选择:
- 在弱电箱中加装openwrt设备,这样就可以直接在弱电箱中接入所有的网线,然后在弱电箱中配置好openwrt,这样就可以直接实现所有设备访问互联网。这是最简易的方案,但是我考虑的:
- 我除了NAS还要再加一个设备,我对增加一个设备的方案有一丝排斥
- 一个4网口的设备支持openwrt最佳选择是n100工控机,但是价格在接近
800¥,我觉得有点贵;或者j1900/j4125主板,价格也在500¥左右,我觉得还是有点贵- 我已经买了pcie网卡,如果再买一个设备,那么pcie网卡就没有用武之地了(沉默成本)
- 在NAS中安装openwrt虚拟机,然后直通网卡给openwrt使用,这样也可以实现所有设备访问互联网。但是NAS的位置在书房,而弱电箱到书房仅有一根网线,显然这是一个严重的缺陷。为了解决这个缺陷,就不得不引入一个技术叫做
VLAN,这样就可以在一根网线上实现多个网段的通信。
此时我就纠结了,我是选择简单的方案,还是选择复杂的方案。最终我选择了复杂的方案,因为我觉得这样可以学到更多的东西,也可以更好的利用我购入的硬件。(GPT生成😀)
关于VLAN
VLAN是一种虚拟局域网技术,可以将一个物理局域网划分为多个逻辑上的局域网,这样就可以在一个物理局域网上实现多个逻辑上的局域网之间的通信。
在我的网络中,我的目标是这一根从弱电箱到书房的网线,可以当成两根网线使用。
我用我的话通俗的解释下VLAN的特性:
- 网络数据是可以带
标记的 - 网口可以设定接收和发送的
标记 - 网口设定好的标记相当于
卡,经过这道卡的数据,可以根据卡的标记来决定是否接收或者发送,和网口与网口之间是否连通
我所理解的概念来自以下两个链接:
- VLAN基础概念
- B站司波图老师的视频(如果直接看第二期比较吃力,可以先看第一期)
其实到这里又有了新的问题,我需要一个(也可能是两个)支持VLAN的交换机,这样才能实现VLAN的划分。我看的网上的教程都是通过这个叫
网管交换机的设备实现的,所以我并不清楚我自己能否在不购入网管交换机的情况下实现VLAN的划分。
网络规划
这是我摸索过后最终实现的效果图,我在这里简单的解释一下:
- 一根网线从弱电箱到书房openwrt的eth0口,这根网线可以当成两根网线使用
- 光猫开启桥接模式,关闭dhcp,固定IP192.168.31.1
- 光猫开启vlan端口绑定,lan1口绑定上行/下行:4031/4031,1/1。lan2-4口绑定上行/下行:1/1
- openwrt创建自定义端口为eth0.4031(绑定在eth0端口,并设置vlanid为4031),分配该端口为wan口,并在该端口进行拨号
- openwrt创建虚拟网桥br-lan,将eth0和eth1加入到br-lan中,固定IP192.168.31.2,开启dhcp
- 书房的小米路由器开启中继模式,其他房间的路由器通过Mesh接入
- 颜色箭头为不同vlanid的数据包的数据流向,这是由VLAN决定的
不过需要注意,我所使用的4031这个vlanid并是我自己随便取的,这个取决于的运营商的配置,不同地区不同运营商都可能是不一样的,如果你能拿到光猫的超级密码,你是可以在后台看到你的vlanid是多少。这个我在后面的配置中会详细说明。
光猫配置
我使用的是
中国移动的光猫,我的超级密码是在某鱼买的,发卖家光猫的SN码和地区可以直接告诉你超级密码,价格是4¥,我觉得还是很划算的。其他运营商也可以去某鱼试试。
不过也有一些人也可以自己搞到超级密码,比如直接问宽带师傅,或者在网上找到一些破解方法,这里我就不展开了,可以自行搜索。
我的光猫是创维SK-D747,我直接使用超级密码登录后台,然后进行配置。
重新分配Internet连接,找到链接名称中带有INTERNET的,记住这个连接使用的VLAN ID,这个ID就是你的上行VLAN ID,我的是4031
随后删除该连接,重新创建新连接,模式选择桥模式,业务模式选择INTERNET,绑定端口选择lan1,vlan模式选择改写(tag),vlan id填写记录的上行VLAN ID,然后保存 
再新建一个连接,模式选择桥模式,业务模式选择INTERNET,绑定端口选择lan2-4,vlan模式选择改写(tag),vlan id填写1,然后保存

在
绑定设置中修改绑定模式为端口绑定,随后编辑lan1和lan2-4,将lan1的上行/下行绑定设置为4031/4031、1/1,将lan2-4的上行/下行绑定设置为1/1,然后保存
至此光猫的设置就完成了
openwrt配置
首先要确保你的openwrt拥有至少1个网口
- 登录openwrt后台,进入
网络-接口,添加一个新的接口,命名为wan,选择pppoe(因为我是用openwrt拨号所以选pppoe),设备选择在自定义中键入:eth0.4031然后回车,之后保存并应用
- 编辑
wan接口,在防火墙设置中,创建/分配防火墙区域选择wan,然后保存并应用
- 编辑
br-lan接口,协议修改为静态地址,固定IP192.168.31.2,开启dhcp,绑定eth0和eth1 - 设置wan口拨号信息
结束
拨号成功后,就可以通过openwrt上网了。
也许你的方案不能和我一样,如果有问题,可以试着自己分析网络连通性和数据包流向。我觉得这个过程中学到的东西是很有价值的,也许你可以通过这个过程学到更多的东西。
如果你需要帮助,也可以在评论区留言,我会尽力帮助你。
附录
关于hack光猫超级密码的链接:
- 光猫折腾记 | 获取超级管理员密码&开启telnet&IPv6&桥接宽带
- 联通SK-D742-C光猫管理员密码获取/宽带密码获取/改桥接/IPv6设置
- [资料分享] 中国联通创维SK-D740光猫管理员密码破解教程
关于光猫设置vlan的链接:
openwrt镜像链接: openwrt.ai