跳至主要內容

新网络,有点灵(一)

Poteko...大约 4 分钟networking

新网络,有点灵(一)

最近搬了新家,空出个小屋子没人用。正好屋子面积又小又有空调,很合适作为机房。于是搞了个机柜,买些洋垃圾[1],把业务从 workstation 都搬去机柜了。之前受限于面积,基本所有业务都由一台跟了我7年的忒修斯电脑承载——当然也有一台路由器。

过去十年来用的一直都是 Ubiquiti EdgeMax 系列路由器。从 ER-Lite 到 ER-X,再到 ER-Pro-8 和 ER-4,有那么一段时间还是挺好用的。随着 Ubiquiti 放弃 EdgeMax 产品线,很多功能开始逐渐灵车化了。在2023年的今天,这台古旧的 ER-Pro 已经难以满足多样的网络需求了。

业务

狡兔三窟,site 当然是不可能只有一个的。之前经过多方考察与实践,各 site 之间最终还是采用了 star topology 互联——所有的 site 都有 uplink 到云服务器(Azure 上海、阿里云杭州)上。Tunneling 采用 wireguard,毕竟距离短也没有出境,上行带宽跑满没啥问题。

苏州电信和杭州电信还是相当大方的,两边都可以拿到公网IP,所以IPSec曾经也是一个选择。但 EdgeOS 的实现过于灵车,VTI 一直没有支持,charon 在 BGP 跑起来之后也经常吃满CPU,就此作罢。

跨 site 之间有语音通讯的需求,所以网络内有一台PBX. 这台PBX有两条语音的 uplink,一条是电信的固定电话,一条是 Twilio 的 SIP Trunking. 电信由于语音IP网是一张 squatting 的大内网,配置更加灵车,在我一篇还没写完的文章里会有讲述。

本地的其它基础设施就都是些常见的服务了,存储、计算、家庭自动化,没有什么特别需要注意的配置。

子网划分上,基本延续了搬迁之前的设计。

  • 访客网络独立于内部网络,采用单独的路由策略(直接从电信的口送出去),同时开启 client isolation
  • 内部网络的路由策略是按运营商分流的。路由器BGP全表收进来,根据prefix的AS Path选择移动、电信或者BUNNY出口
    • Infrastructure 和 device subnet 没什么特别的规则
    • IoT subnet 是一个受限的内部网络里,只能访问 IoT gateway 或者其它 IoT 设备
    • 考虑到会有些熟悉的朋友来玩,引入了一个 trusted guest 网络。Trusted guest 虽然使用了访客网络相邻的地址段,但路由策略和内部网络保持一致(可以看些奇怪的东西),同时添加了一些防火墙规则,只能访问内部网络的 infrastructure 段
    • Management subnet 插了各个设备的 management port 和 iDRAC,没有什么特别的规则,除了一堆防火墙

实施

之前捡了台 Juniper NFX250 放在了美国。这些年受海关、航运等因素影响,一直没能送回国内。几番周折,最近终于拿到了手。NFX250 是个好东西,当你需要它是 MX150 的时候,它就是 MX150;当你需要它是 SRX 的时候,它就是 SRX。尤其是当我们有 vSRX 快乐密钥的时候,它可以给你带来更多快乐🤪。

这些年很流行一种旁路路由,试过之后不得不说这是一种好东西。毕竟路由器本身很难支持一些灵车(当然也有不灵的)协议。相比较与之前把所有的协议都放在 EdgeOS[2] 上跑,的确是增加了很多配置,也增加了失效的概率,但是提供了前所未有的 flexibility. 实施上一个基本的思路是所有的 tunnel 都在这个旁路上面打,然后路由器只负责路由。

具体到这里的方案上,vSRX作为防火墙与路由器,上联两条运营商的线路。旁边的 Debian 与 vSRX 建立三条虚链路,其中两条通过 vSRX 路由至上游运营商,即电信和移动。另一条作为 vSRX 的上游——由这台机器 tunnel 至 Bunny 网络。如果 tunnel 有很多个的话,甚至可以在这台机器上做 HA.


  1. 禁止进口之后应该都是华垃圾了。 ↩︎

  2. 还 EdgeOS,就是个 Debian Wheezy 都 EOL 多少年了。 ↩︎

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.0.0-alpha.10