15 个人的双上行链路:基于 Linux 路由的故障切换
DSL 加 Starlink,中间一台 Debian 路由器,两条带度量值的默认路由。这样当一家运营商故障时,我们的办公室依然在线。
15 个人同时工作时,一条上行链路已不够用:视频会议、git 推送和远程访问共用一条线路,运营商状态不佳的日子里一切都会停摆。2026 年 2 月,我们的服务器管理员 Philipp Lehmann 与 Stephan Bökelmann 通过 Starlink 增加了第二条上行链路。
两条上行链路与骨干交换机之间加入了一台 Debian 机架式电脑。方案刻意保持简单:主路由表中两条默认路由,DSL 度量值更低而优先,Starlink 并列其后。DSL 网关一旦失效,Starlink 自动接管,无需人工干预,也没有可见的中断。为日后策略路由准备的路由表已经建好。
一个小型 Python 仪表盘实时显示每条链路的负载,同时也用来验证配置是否按预期工作。系列第二篇介绍了迈向加权负载均衡的步骤,以及最初导致它失效的两个 bug。
为什么这会出现在一家工程事务所的网站上:监测基础设施是我们的服务之一,而我们自己也在运营,使用 Kubernetes、Ceph 和 Keycloak。详细配置见博客。