-2 写在最前面:为什么不用 All-in-one?
- 担心弱电箱比较小,一个小的软路由(J4125/N5105 扛不住)
- 穷,买不起核心路由器
- 一个大的 Pve 设备挂了就是全屋都挂,这个可靠性我不接受
- 各种设备都试一试( x86 主路由,arm 的旁路由,tp 的企业级多 wan 口路由),相互配合一下挺好玩的
-1 几款核心设备
-
TPLink XDR5480 && MA5671A 猫棒(192.168.10.0/24):
- TP 家的飞流系列的路由器,带有 2.5G SFP 接口,接了华为 MA5671A GPON stick (猫棒)
- 用无线 mesh 连接 AX1850 路由做房间覆盖
-
某家 J4125 1GbE 的软路由(192.168.0.0/24)
- 4 口软路由,2g+16g 的丐配置
- 本来开始打算上 5125+2.5GbE 的,无奈和某光纤转发器不太兼容,遂退货作罢
-
TPLink R483G 企业级路由器(192.168.100.0/24)
- 之前有一段时间做多 wan 口聚合等用途,现在作为网桥服务&&vpn 接入
- 非常稳定可靠
- 买二手的性价比也不错
-
光纤转发器&&隐形光纤
- 当初某宝买的时候说 2Lan 口支持隔离,但是实际看下来并不支持隔离,坑爹啊这
- 需求点是弱电箱到机柜没有网线,所以拉了一根隐形光纤作为通信手段。
-
R2s && N1
- 这俩就不多说了,R2s 两百多,N1 不带遥控器的话 100 不到
- 感觉性能上不分伯仲,R2s 多一个 Lan 口可以多整活
0 前情提要
XDR5480 与 R2s 做 Lan 口聚合——放弃,5480 提供的链路聚合功能有限。
vpn&&网桥——TL-R483G 基本完美完成任务
旁路由端口转发的一些坑——不依赖旁路由做端口转发
1 梳理核心需求
机柜,生产网络科学稳定
这个真没啥说的,直接走软路由拨号,在软路由上进行流量分离等等, 这部分就走基于 J4125 的 x86 软路由去实现了。
WiFi 路由 5G ax 覆盖,科学,稳定
之前用的是 XDR-5430 ,升级成为 XDR-5480 之后,多了一个自定义的 SFP 接口,可以直接用猫棒就很香
所以基于要使用猫棒,就必须路由拨号,科学上网使用旁路由网关实现。
wifi 的 mesh 子路由选择的是 TP XDR1850 ,最开始的时候 200 一个,现在涨价到 250 了
远程办公期间可以可靠访问机柜网络,修复和诊断家庭网络问题
远程访问嘛,ssh/rdp/web 等各种服务直接用端口开放在公网上安全性问题很大,外面需要套一层 vpn 的壳子。
如何实现 vpn server ?大概有这么几个方案
- 在 J4125 软路由上开启 vpn 服务器
- 在 XDR-5480 下的子网开 vpn 服务器,用端口转发访问(涉及到旁路由,可能需要两次端口转发)
- 在 J4125 软路由下面的某个设备上开启 vpn 服务器
但是这些方案面临的共同问题是:
如果接入的路由器出了问题了( 5480/J4125)挂了,vpn 不也是连不进去了?
参考去年 B 站的复盘,一个核心原因是:生产网络挂了之后,缺乏旁路进入机房的手段
B 站宕机事故复盘:2021.07.13 我们是这样崩的
因此,在这个环节,我选择用 R483G 企业级有线路由器做 VPN 接入网关。
同时,感谢 TP 厂家的客服支持,R483G 的 NAPT 功能启用之后,就可以实现一个简单的免配置的网桥功能,可以很方便的打通各个子网,作为 WiFi 网络和生产网络互访的一个 Backup 。
使用 R483G 作为接入 VPN 路由之后,可以很方便的访问两个子网,实现远程接入。
当然,如果偶尔 R483G 出了问题,还保留一个在 J4125 下的 vpn 服务作为备用接入。
WiFi 网络和机柜网络可以实现互访
在以上基础设施搭建完成之后,网络互访的路由表就可以配置了,而且可以有两条线路:
- 通过一个机柜网络的接口 DHCP 分配给 Wifi 网络,加入静态路由可以互访
- 通过 R483G 的接口互访,作为 Backup
线路部署
弱电箱部分配合两个置物架,放置了
电信光猫+XDR5480 (这家伙真大啊)+R483G+J4125+N1+R2s+光纤转发器的一端
这些都在弱电箱这里了。
到机柜处基本就一根光纤了,从转发器接入交换机到各个设备。
路由表设计
路由表比较复杂,请忽略黑字重点看彩色字就行。
R483G 做了一层接入层网桥的功能,可以实现网间互访的备份。
测速杂项
wifi 能测到 800Mbps(三星 S20+,只能 1T1R 1200Mbps )
LAN 测速( R2s+N1 一起),出口能跑到 1200Mbps ,证明猫棒是生效的。
稳定性可靠性分析
设计目标:任意一个设备单点故障,能做到自动 /手动切换,可用。
-
R483G 挂了
- 内网互联不影响
- VPN 可以 fallback 到走 J4125 下面的 vpn
- wifi 和机柜网络不影响
-
J4125 挂了
- wifi 不影响
- 机柜的内网访问不影响
- 未来可以在机柜加一个备用网关,走机柜的 XDR1850 的 Mesh 路由出公网
-
XDR-5480 挂了
- 机柜网络不受影响
- mesh 路由和下面的有线设备几乎都得挂,这个暂时无解
- 无线可以用 N1 起一个同 SSID 的备用接入点+DHCP ,走机柜网络出(不一定,前提是 5480 的交换别挂)
- J4125 下面挂了一个很挫很小的路由器,作为 wifi 接入点可以直接进 J4125 的网络。
-
R2s 挂了
- 机柜网络不受影响
- 用 N1 起 mac vlan 来代替 R2s 作为网关
- 内网互联可以走 R483G
-
光纤转发器 /光纤挂了
- wifi 不受影响
- 未来可以做一个备用网关,见 2.3
-
电信光猫 /光纤挂了
- wifi 不受影响
- 在 J4125 上加一个走 R2s 出的网关可以正常上网
-
移动光纤挂了
- 都不受影响,都是双路热备的
服务监控和诊断
目前主要靠内网的一些脚本实现 DDNS ,服务发现,服务心跳报警等,对于一些网络层不可达的问题也能提早发现。
稳定性的核心是:如果我不在家,家里网络出了一些问题,至少我能尝试做点什么。
未来一些迭代点:
- 在 N1 上整活,实现和 R2s 的 keep-alive
- 机柜侧做 WiFi 网络接入的 backup ,保证断线的时候对业务影响最小
- 提升服务监控和诊断的能力,有问题及时预警