目前我正在使用 Alma-Linux,我需要为相同的NIC。2 个默认网关配置的主要目的是……当任何一个网关发生故障时,它将回退到其他正常工作的网关
网关配置以下 IP 用于路由
- 11.12.13.2(默认网关 - 具有较低的度量值 30)
- 11.12.13.1(通过静态路由配置的默认网关 - 具有更高的度量值 40)
两个 IP 都可以 ping 通。
为了测试故障转移场景,我禁用了具有较低指标 IP(11.12.13.2)的网关 IP,并在不同子网中的随机远程主机上执行 traceroute 命令。
命令:traceroute 17.18.19.2
但跟踪路由的结果是不可达目的地。
在这种情况下,我假设数据包将通过默认网关路由 11.12.13.1 ip 作为后备选项。因为配置的网关已关闭。它没有按我预期的方式工作。
注意:在 Windows 中,无论度量值如何,网关都会回退。
答案1
有不Linux 中完全自动的现成回退功能从未出现过。您对 Linux 能为您做什么抱有错误的期望。
路由代码不跟踪网关的可用性。如果存在多条具有不同度量的类似路由,则始终选择数值较低的度量,无需额外逻辑可以考虑网关的状态。这是因为没有任何东西检查网关是否仍然有效,系统不关心网关。即使路由中指定的网关已关闭,系统中也没有任何东西会知道这一点,路由仍然存在并且系统将使用它。
你需要一些外部机制它将 ping 或以其他方式检查网关,如果不可用则拆除其路由。只有这样,在没有到故障网关的路由的情况下,才会考虑下一个最佳路由。