网络拓扑规划:物理拓扑、逻辑拓扑、网络隔离策略
讲到分布式巡检集群,网络拓扑是地基。地基没打好,上层再漂亮的架构也是空中楼阁。
我见过不少团队,上来就堆服务器、配IP,结果联调时发现跨网段不通,或者监控流量把管理网络撑爆了。所以这一章,我们先把“怎么连”这件事捋清楚。
物理拓扑:怎么连才靠谱
物理拓扑说白了就是设备之间怎么用网线连起来。分布式巡检集群对链路冗余要求很高,你不能让整个集群因为一根线断了就瘫痪。
我个人习惯用两层树型结构。核心交换机做汇聚,接入交换机连巡检节点。为什么呢?
- 核心层:两台核心交换机做堆叠或VRRP,单台挂了不影响整体。
- 接入层:每个机柜配一台接入交换机,上联到两台核心。
- 节点接入:每个巡检服务器双网卡绑定(bonding),分别接到两台接入交换机。
链路冗余配置要点
- 使用 LACP 做链路聚合,不要用主备模式——我在项目中遇到过主备切换时丢包的问题,LACP 能分担流量并自动故障转移。
- STP 要开启 RSTP 或 MSTP,收敛时间控制在秒级。
- 跨机柜互联推荐用光纤,距离超过100米时铜缆信号衰减太快。
我曾经吃过这方面的亏。有个项目图省事,全部节点接在同一台接入交换机上。结果一次交换机升级,整个集群失联三小时。从那以后,我规定每台接入交换机的节点数不能超过集群总数的40%。
逻辑拓扑:数据怎么走
物理拓扑拉好线,接下来得规划 IP 和 VLAN。这里我不建议把所有设备放在同一个广播域,你知道的,ARP 风暴会把管理网络打残。
我的做法是这样:
| 网络段 | VLAN ID | IP 段示例 | 用途 |
|---|---|---|---|
| 管理网络 | 100 | 10.0.100.0/24 | SSH、监控、配置下发 |
| 业务网络 | 200 | 10.0.200.0/24 | 巡检任务调度、结果上报 |
| 存储网络 | 300 | 10.0.300.0/24 | NFS/Ceph、日志同步 |
| 带外管理 | 400 | 10.0.400.0/24 | BMC/iLO/IPMI |
为什么要分这么细?你想,如果巡检任务流量和监控流量混在一起,万一业务峰值把带宽占满,你连 SSH 都登不上去,还怎么排查问题?
一个实用技巧:每个 VLAN 之间通过三层交换机做策略路由,默认拒绝所有跨段流量,只放行必要的端口。比如管理网络只能访问节点 22 和 443 端口,业务网络只能访问 8080 端口。这样哪怕一个段被攻破,横向移动也难。
还有个细节——子网掩码别贪大。我在一个项目里看到有人把所有巡检节点塞进一个 /16 段,结果广播风暴加上 MAC 表溢出,整个网络间歇性瘫痪。老老实实用 /24 甚至 /28,规模大了再划新区。
网络隔离策略:安全怎么保
隔离不是简单的物理隔开,而是要“该通的通,不该通的不通”。
我建议做三层隔离:
- 物理隔离:管理网络和业务网络使用独立的物理网卡甚至独立交换机。预算不够时至少使用 802.1Q 做 VLAN 硬隔离。
- 逻辑隔离:VACL 或 PACL 控制二层转发,防止 VLAN 间未经授权的通信。举个例子,存储 VLAN 不应该直接访问业务 VLAN 的广播域。
- 应用层隔离:即使 IP 能通,防火墙策略也要精确到端口。比如只允许调度中心 8080 访问节点的巡检服务,不允许反过来。
巡检集群特有的隔离需求
- 节点之间不要互相暴露数据端口——分布式巡检经常涉及敏感配置,节点间通信要走专用的内部 。
- 管理平台与巡检节点之间必须走加密通道(SSL/TLS),如果你还在用明文 HTTP,趁早改。
- 日志收集走专用存储网络,别跟业务流量抢带宽。我有个项目因为日志量爆炸,把业务链路堵了,巡检任务超时率飙升到 30%。
曾经有一次,我在一个现场发现客户把所有网络平面混在一个交换机上,只是用 VLAN 做了逻辑隔离。结果有人误配了 Trunk 口,存储流量直接广播到了管理网络,导致 BMC 大规模掉线。原因就是缺少物理隔离的兜底。所以我现在坚持至少管理平面要独立硬件。
总结一下,网络拓扑不是画个图就完事的。物理拓扑保证链路不中断,逻辑拓扑保证流量不混乱,隔离策略保证安全不泄露。这三层叠起来,你的分布式巡检集群才能跑得稳。