网络管理器是否能够检查默认网关是否可以将包路由到internet?
我有两个接口,两者都提供了一条通往互联网的通道。
当我从其中任何一个拔掉电缆时,默认网关将被更新,并且我的互联网连接正常。但是,如果当前首选网关失败而不破坏物理链路,则系统不会故障到第二个网关。
我试着手动为失败的GW设置一个更高的度量,它起了作用,但这是我想要避免的手动步骤。
使用网络管理器可以解决这个问题吗?
我的设置: Ubuntu 16.04,NM 1.2.2
NM的irc频道上的社区成员回答说,NM不检查网关是否实际工作,也不执行任何GW交换。
VRRP/ucarp/心跳/保持生命也不检查。他们只检查网络可用性,并在虚拟接口后切换上游GWs。这对我的情况没有帮助。
Iproute的下一个操作是可行的,但有很大的延迟。路由正在由内核缓存,即使在ip route flush cache之后,系统也需要大约10分钟才能故障到第二个GW。
ip route replace default scope global \
nexthop via 11.22.33.1 dev eth0 weight 1 \
nexthop via 55.66.77.1 dev eth1 weight 1我目前的解决方案是:一个shell脚本,它检查当前默认的gw是否提供互联网接入;如果没有,它会将当前GW和系统故障的度量增加到第二个,而后者的度量较低。
我还是希望能找到一个更优雅的解决方案。
发布于 2018-03-15 02:42:07
这就是BGP的目的。使用通常被称为iBGP的内部路由器、内部通信和路径冗余和/或eBGP用于Internet级别的全路径冗余。BGP描述了路由器之间相互通信的协议,这些分析数据是对自治系统中有效和功能性业务路径的性质进行判断所必需的。
我没有看到有人用NetworkManager作为这种程度的路由的运行时配置工具。NM在使用多条路由时没有很好地扩展,这在历史上一直存在问题,并且有更好的软件可以实现您想做的事情。
大多数商业路由器将有BGP功能,所以你可以让它“罐头”。如果我打算使用“软件路由器”,通常使用pfSense或VyOS,因为它们都能很好地虚拟化。VyOS甚至维护LXD图像,所以我通常使用它。您还可以使用openbgbpd或quagga包在大多数Linux发行版上使用BGP。
许多SDN解决方案使用BGP来提供冗余和网络平衡,而不是像MLAG这样的系统,因为在以太网交换机和路由器上的许多MLAG实现历史上要么过于特定于供应商,要么没有按预期操作,特别是在使用不匹配的硬件时。与其担心每个交换机的控制驱动程序,SDN更倾向于在第二层以上操作这些多节点冗余解决方案,即使在内部网络中也是如此。
发布于 2019-04-15 16:45:16
现在,您可以向NM添加一个连接检查,如果主机不可接触,它将自动增加接口度量。
见NetworkManager.conf连接部分。Digi也有一个关于这一主题的好文章。
https://serverfault.com/questions/821767
复制相似问题