linux – 网络管理器:两个默认网关之间的故障转移

网络管理员是否能够检查默认网关是否可以将包路由到Internet?

我有两个接口,都提供到互联网的路由.

当我从其中任何一个拔下电缆时,默认网关正在更新,我的互联网连接正常工作.
但是,如果当前首选网关在不中断物理链路的情况下发生故障,则系统不会故障转移到第二个网关.

我试图手动为失败的GW设置更高的度量标准,但它是有效的,但这是我想要避免的手动步骤.

可以使用网络管理器解决此问题吗?

我的设置:Ubuntu 16.04,NM 1.2.2

UPD

NM的irc频道上的社区成员回答说,NM不检查网关是否实际工作,并且不执行任何GW切换.

VRRP / ucarp / heartbeat / keepalived也不检查它.它们仅检查网络可用性,并在虚拟接口后面切换上游GW.这对我的情况没有帮助.

Iproute的nexthop有点工作,但具有巨大的延迟.
内核正在缓存路由,甚至在ip route flush cache之后
系统故障转移到第二个GW需要大约10分钟.

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是否提供Internet访问;如果不是 – 它增加当前GW的度量,并且系统故障转移到具有较低度量的第二个.

我仍然希望找到更优雅的解决方案.

解决方法

这就是BGP的用途.使用通常称为iBGP的内部路由器互通和路径冗余和/或用于Internet级别完整路径冗余的eBGP. BGP描述了路由器彼此通信的协议,该协议用于在自治系统内对有效和功能流量路径的性质进行判断调用所必需的分析数据.

我没有看到任何人使用NetworkManager作为此程度路由的运行时配置工具. NM在使用许多路线时遇到了不能很好地扩展的历史问题,并且有更好的软件可以满足您的需求.

大多数商用路由器都具有BGP功能,因此您可以将其“封装”.如果我要使用“软件路由器”,我通常会使用pfSense或VyOS,因为它们都可以很好地虚拟化. VyOS甚至维护LXD图像,所以我通常使用它.您也可以使用openbgbpd或quagga软件包手动在大多数Linux发行版上使用BGP.

许多SDN解决方案使用BGP来提供冗余和网络平衡,而不是像MLAG这样的系统,因为以太网交换机和路由器上的许多MLAG实现过去一直是供应商特定的或者不能按预期运行,尤其是在使用非匹配硬件时.与其担心每个交换机的控制驱动程序相比,SDN通常适用于在第2层上运行,即使在内部网络中也能实现这些多节点冗余解决方案.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...