家庭网络架构

前言

家庭网络结构极大影响了在家使用网络的体验,我个人的家庭网络经过这么多年的演变,也逐渐形成了一个较为方便稳定的家用网络结构,该结构可能并不适用于每个人的情况,仅写下来作参考和记录。

演变

0.0(光猫 -> 终端设备)

可能大家使用的最简单的家用网络是由运营商提供的光猫直接负责拨号和接入,甚至可以忍受使用光猫发出的无线信号,我没有经历过这个时代,因为我从一开始就对运营商光猫的性能嗤之以鼻,经常会有网速不稳定,Wifi信号不稳定等问题,所以每次安装宽带第一件事就是让安装小哥把光猫配置成桥接模式,由路由器负责所有功能,把光猫只做一个光电转换器使用。

至于改桥接模式后的IPTV的vlan等配置,可以专门当作一篇文章来写了。

1.0(光猫 -> 路由器交换机AP三合一 -> 终端设备)

和每个人一样,我的家用网络最初也经历了由单个无线路由器负责包括防火墙、PPPoE、交换机、DNS、DHCP、FQ、Wifi等全部功能的时代。随着接入设备的增多、对速度、稳定性和扩展性的要求提升,这个模式逐渐无法满足我的需求。

2.0(光猫 -> 路由器交换机AP三合一 -> 终端设备)

随着有线设备的增多,路由器接口不够用,最简单直观的办法就是增加一台傻瓜交换机来扩展网口数量,而无线覆盖的增加,最简单的办法就是下挂更多Wifi路由器,为了统一分配网段和减少一层路由转发,下挂的Wifi路由器被配置为AP模式,或者关闭DHCP,直接接入LAN口做AP使用。这个阶段还是没有考虑到功能的分开,网段的划分,设备的隔离,无线信号的无缝漫游等问题。网络整体性能还是依赖主路由的性能。

3.0(光猫 -> 路由器交换机二合一 -> 多AP -> 终端设备)

家里增添了NanoPi,摄像机,各种智能家居iot,NAS,UPS,HTPC,PVE虚拟服务器,电视盒子,XBOX游戏机等设备,外部也由于需要连接多种服务器,对网络的要求也变得复杂多样,只好继续完善网络架构以便满足需求。

首先是把路由器和AP功能分开,使用一台纯有线的EdgeRouter X SFP来做主路由,负责PPPoE拨号、防火墙、DHCP和 VPN 等功能,其他无线路由器只做AP中途还刷了AP专用固件,支持无缝漫游、弱信号自动剔除等功能,让全屋有线无线内网都可以跑满千兆,性能和稳定性都有了进一步提升。

然后是把DNS和FQ功能分给了NanoPi来负责,安装Pi-Hole或AdguardHome来做DNS层面的加速、广告过滤和分流。

4.0(光猫 -> 路由器-> 交换机 -> 多AP -> 终端设备)

如果说3.0版本对于家用已经比较完善了,我现在的架构就有点企业级内味了。

首先是有线网口又又又又不够用了,由路由器和傻瓜交换机提供的十个有线网口被完全占满,本着折腾到底的原则,我直接淘了一台H3C S5120 24电口+4光口的企业级交换机,打算按企业级大二层网络来重做整个网络架构。到手发现风扇声音有点吵(毕竟是机房用的),我直接把风扇拆掉了,监测了一段时间温度,平时55度,满载也不会超过65度,还是比较稳定的。

有了S5120这个24+4口大家伙,这下所有东西都可以插在上面了。接下来就是网络配置,我划分了三个vlan来做网络分割,分别给我自己+受信任的服务器(vlan1)、不受信任的iot设备(vlan2)、不受信任的Guest(vlan3)使用,通过端口和mac地址来识别设备应该属于哪个vlan,这样可以在同一个Wifi名下使不同设备属于不同vlan,未知mac默认vlan3,并且把光猫和路由器和IPTV盒子的端口配置为trunk,光猫自带的运营商vlan1101和1103分别给路由器拨号和IPTV端口通过去。这样平时内网流量基本都可以走交换机二层满速转发,路由器的负载就小了很多,可以专心做一些三层的事情。

虽然UBNT的硬路由性能已经足够强,但是秉承着能少一个设备就少一个设备的想法,既然现在不缺网口,不需要用UBNT路由器上的网口做扩展,那么直接使用PVE主机虚拟一台软路由出来岂不美哉,于是我选定Router OS 6作为软路由操作系统,至于ROS6不能支持的一些协议和功能由一台虚拟的Debian来完成。

在ROS6里配置了三个vlan,并且分别为其配置了DHCP服务,为三个不同的/24的IP段,其中vlan1和2基本都是固定分配IP,DNS指向NanoPi,vlan3为动态分配,DNS指向公共DNS,对于vlan之间的互通,通过ROS6里的firewall来控制,其中vlan1可以随意访问vlan2和vlan3,vlan2的部分设备可以访问访问vlan1的iot控制器(Home Assistant),vlan3为独立网段。再配置好ROS6的PPPoE拨号和Masquerade就可以愉快的上网了。

大致数了一下,目前分配的IP有28个,可以通过ROS6对于单个设备进行精细化管控,外网分流,另外像静态路由,IPV6,端口映射,UPnP完全不在话下,甚至OSPF,BGP等协议都可以玩起来了(最近沉迷DN42,详见 https://dn42.tms.im )。

总结

目前家用网络的核心无非是光猫 - 路由器 - 交换机 - AP - 终端设备的组合,适合自己的才是最好的,我目前的网络架构是这些年用下来一点一点演变发展过来的,具有很好的扩展性,虽然未来还有很多可以升级的点(比如万兆、光纤内网、AC+AP等),但目前已经是能完全满足我需求的最佳性价比的架构了。

P.S. 架构图在画了在画了。

本文作者: TMs
本文链接: https://blog.tms.im/2022/07/02/home-network.html
版权声明: 本作品采用 CC BY-NC-SA 3.0 CN 进行许可。转载请注明出处!
知识共享许可协议