对抗单点故障:家庭网络子网拆分和隔离拆成三个子网,搞定路由表 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
phpfpm

对抗单点故障:家庭网络子网拆分和隔离拆成三个子网,搞定路由表

  •  
  •   phpfpm 2022 年 9 月 12 日 2328 次点击
    这是一个创建于 1319 天前的主题,其中的信息可能已经有所发展或是发生改变。

    -2 写在最前面:为什么不用 All-in-one?

    1. 担心弱电箱比较小,一个小的软路由(J4125/N5105 扛不住)
    2. 穷,买不起核心路由器
    3. 一个大的 Pve 设备挂了就是全屋都挂,这个可靠性我不接受
    4. 各种设备都试一试( x86 主路由,arm 的旁路由,tp 的企业级多 wan 口路由),相互配合一下挺好玩的

    -1 几款核心设备

    1. TPLink XDR5480 && MA5671A 猫棒(192.168.10.0/24):
      1. TP 家的飞流系列的路由器,带有 2.5G SFP 接口,接了华为 MA5671A GPON stick (猫棒)
      2. 用无线 mesh 连接 AX1850 路由做房间覆盖
    2. 某家 J4125 1GbE 的软路由(192.168.0.0/24)
      1. 4 口软路由,2g+16g 的丐配置
      2. 本来开始打算上 5125+2.5GbE 的,无奈和某光纤转发器不太兼容,遂退货作罢
    3. TPLink R483G 企业级路由器(192.168.100.0/24)
      1. 之前有一段时间做多 wan 口聚合等用途,现在作为网桥服务&&vpn 接入
      2. 非常稳定可靠
      3. 买二手的性价比也不错
    4. 光纤转发器&&隐形光纤
      1. 当初某宝买的时候说 2Lan 口支持隔离,但是实际看下来并不支持隔离,坑爹啊这
      2. 需求点是弱电箱到机柜没有网线,所以拉了一根隐形光纤作为通信手段。
    5. R2s && N1
      1. 这俩就不多说了,R2s 两百多,N1 不带遥控器的话 100 不到
      2. 感觉性能上不分伯仲,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 ?大概有这么几个方案

    1. 在 J4125 软路由上开启 vpn 服务器
    2. 在 XDR-5480 下的子网开 vpn 服务器,用端口转发访问(涉及到旁路由,可能需要两次端口转发)
    3. 在 J4125 软路由下面的某个设备上开启 vpn 服务器

    但是这些方案面临的共同问题是:

    如果接入的路由器出了问题了( 5480/J4125)挂了,vpn 不也是连不进去了?

    参考去年 B 站的复盘,一个核心原因是:生产网络挂了之后,缺乏旁路进入机房的手段

    B 站宕机事故复盘:2021.07.13 我们是这样崩的

    因此,在这个环节,我选择用 R483G 企业级有线路由器做 VPN 接入网关。

    同时,感谢 TP 厂家的客服支持,R483G 的 NAPT 功能启用之后,就可以实现一个简单的免配置的网桥功能,可以很方便的打通各个子网,作为 WiFi 网络和生产网络互访的一个 Backup 。

    使用 R483G 作为接入 VPN 路由之后,可以很方便的访问两个子网,实现远程接入。

    当然,如果偶尔 R483G 出了问题,还保留一个在 J4125 下的 vpn 服务作为备用接入。

    WiFi 网络和机柜网络可以实现互访

    在以上基础设施搭建完成之后,网络互访的路由表就可以配置了,而且可以有两条线路:

    1. 通过一个机柜网络的接口 DHCP 分配给 Wifi 网络,加入静态路由可以互访
    2. 通过 R483G 的接口互访,作为 Backup

    线路部署

    布线图

    弱电箱部分配合两个置物架,放置了

    电信光猫+XDR5480 (这家伙真大啊)+R483G+J4125+N1+R2s+光纤转发器的一端 这些都在弱电箱这里了。

    到机柜处基本就一根光纤了,从转发器接入交换机到各个设备。

    路由表设计

    路由表

    路由表比较复杂,请忽略黑字重点看彩色字就行。

    R483G 做了一层接入层网桥的功能,可以实现网间互访的备份。

    测速杂项

    wifi 能测到 800Mbps(三星 S20+,只能 1T1R 1200Mbps )

    LAN 测速( R2s+N1 一起),出口能跑到 1200Mbps ,证明猫棒是生效的。

    稳定性可靠性分析

    设计目标:任意一个设备单点故障,能做到自动 /手动切换,可用。

    1. R483G 挂了
      1. 内网互联不影响
      2. VPN 可以 fallback 到走 J4125 下面的 vpn
      3. wifi 和机柜网络不影响
    2. J4125 挂了
      1. wifi 不影响
      2. 机柜的内网访问不影响
      3. 未来可以在机柜加一个备用网关,走机柜的 XDR1850 的 Mesh 路由出公网
    3. XDR-5480 挂了
      1. 机柜网络不受影响
      2. mesh 路由和下面的有线设备几乎都得挂,这个暂时无解
      3. 无线可以用 N1 起一个同 SSID 的备用接入点+DHCP ,走机柜网络出(不一定,前提是 5480 的交换别挂)
      4. J4125 下面挂了一个很挫很小的路由器,作为 wifi 接入点可以直接进 J4125 的网络。
    4. R2s 挂了
      1. 机柜网络不受影响
      2. 用 N1 起 mac vlan 来代替 R2s 作为网关
      3. 内网互联可以走 R483G
    5. 光纤转发器 /光纤挂了
      1. wifi 不受影响
      2. 未来可以做一个备用网关,见 2.3
    6. 电信光猫 /光纤挂了
      1. wifi 不受影响
      2. 在 J4125 上加一个走 R2s 出的网关可以正常上网
    7. 移动光纤挂了
      1. 都不受影响,都是双路热备的

    服务监控和诊断

    目前主要靠内网的一些脚本实现 DDNS ,服务发现,服务心跳报警等,对于一些网络层不可达的问题也能提早发现。

    稳定性的核心是:如果我不在家,家里网络出了一些问题,至少我能尝试做点什么。

    未来一些迭代点:

    1. 在 N1 上整活,实现和 R2s 的 keep-alive
    2. 机柜侧做 WiFi 网络接入的 backup ,保证断线的时候对业务影响最小
    3. 提升服务监控和诊断的能力,有问题及时预警
    20 条回复    2022-09-16 10:01:38 +08:00
    huaes
        1
    huaes  
       2022 年 9 月 12 日
    我就全靠多线接入了。。。三家都断了还有向日葵控控加 4G 随身 Wi-Fi 控制内网机器桌面修复故障
    phpfpm
        2
    phpfpm  
    OP
       2022 年 9 月 12 日 via Android
    @huaes 对,我也想写来着,未来可以单独给接入 vpn 一个移动出口哈
    lianjin
        3
    lianjin  
       2022 年 9 月 12 日   2
    用了快 8 年了就碰到一次断网,原因是楼宇交换机的问题。
    弄这么复杂,值得吗?
    phpfpm
        4
    phpfpm  
    OP
       2022 年 9 月 12 日
    @lianjin 我 不知道。
    其实我也没怎么断过网。
    更多的时候,是我想折腾下某个设备,比如重新刷个新系统啊什么的
    希望在更换这个设备的时候,其他设备工作照常,而不是我花多久时间装系统其他设备就要有多久不可用
    phpfpm
        5
    phpfpm  
    OP
       2022 年 9 月 12 日
    @lianjin 其实断网是一方面,更重要的是隔离

    把机柜作为一个自建的 ICP 就好,可以访问机柜的内容,但是机柜反过来访问家里的智能设备no way 。
    huaes
        6
    huaes  
       2022 年 9 月 12 日
    @phpfpm 三线接入最稳妥的就是用三台支持双线路的路由器,前两台负责故障转移,最后一台负责 AC+AP 哈哈哈,就是太贵了
    phpfpm
        7
    phpfpm  
    OP
       2022 年 9 月 12 日
    @huaes 我觉得我已经快往这个目标发展了哈哈哈哈(主要是接入层弱电箱的地方空间实在是局促
    huangya
        8
    huangya  
       2022 年 9 月 13 日
    OP 最好是对线路部署图进行一下基本的文字介绍,方便理解拓补图。
    yulgang
        9
    yulgang  
       2022 年 9 月 13 日
    太折腾了。。。
    maoshen1234
        10
    maoshen1234  
       2022 年 9 月 13 日
    太折腾了,我鞋柜用来 ALL IN ONE ,用服务器品质对抗 ALL IN ONE 的 BUG ,目前除了停电没出过问题。然后三家接入对抗某家挂了
    phpfpm
        11
    phpfpm  
    OP
       2022 年 9 月 13 日
    @huangya

    啊其实就是三个路由器的 wan 口设置:

    5480:

    WAN1:电信宽带,接光猫; WAN2 ,SFP 接口:接移动光纤入户

    J4125:
    ETH1 ,WAN 口:电信宽带,接光猫

    R483G:

    WAN1:接 5480 的 LAN 口
    WAN2:电信宽带,接光猫
    WAN3:接 J4125 的 LAN 口


    然后各个机器的 LAN 口互联一下。
    aulong
        12
    aulong  
       2022 年 9 月 13 日
    请教一下 xdr5480 不支持静态路由有没有办法解决
    jousca
        13
    jousca  
       2022 年 9 月 14 日
    一个大的 Pve 设备挂了就是全屋都挂,这个可靠性我不接受

    ---------------我一台思科 C3700 路由器从 2002 年用到 2022 年才挂。你看这可靠性如何?
    phpfpm
        14
    phpfpm  
    OP
       2022 年 9 月 14 日
    @aulong 没有,看看 tp 的企业级就知道了
    phpfpm
        15
    phpfpm  
    OP
       2022 年 9 月 14 日
    @jousca 牛逼啊 那么多 10/100BaseT 的端口

    得多费电啊
    onecode
        16
    onecode  
       2022 年 9 月 14 日
    搞得很复杂
    onecode
        17
    onecode  
       2022 年 9 月 14 日
    就这样吧,懒得折腾

    ![]( )
    ttvast
        18
    ttvast  
       2022 年 9 月 14 日
    前两天吧网关从 nuc9 上换到了 2.5G 的 5105 的设备上。网关用的 kvm 的 centos8 ,另外一个备份网关泡在 gen8 的 kvm 上。
    两个网关用 keepalived 热备,主网关故障或重启,备用网关 3s 内切换接替主网关的所有功能。
    zxbiao
        19
    zxbiao  
       2022 年 9 月 15 日
    大佬牛逼,这么折腾,是开私家 IDC ?
    phpfpm
        20
    phpfpm  
    OP
       2022 年 9 月 16 日
    @zxbiao 假如某一天世界末日了,至少还能用局域网自娱自乐。。至少先做 ICP ?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2811 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 59ms UTC 12:37 PVG 20:37 LAX 05:37 JFK 08:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86