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层上运行,即使在内部网络中也能实现这些多节点冗余解决方案.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...