Linux:多种网络连接 - 3G/4G/Wifi/LAN/等;如何设置要使用的首选网络连接?

Linux:多种网络连接 - 3G/4G/Wifi/LAN/等;如何设置要使用的首选网络连接?

我一直在研究如何设置具有多个网络接口的笔记本电脑,但如果所有连接都处于活动状态(即 3G、WiFi 和 LAN 都已连接),就会出现问题,我希望它默认为 LAN。

我想为每个连接设置“权重”或“优先级”,这样如果 LAN 被拔掉,它将默认为 WiFi - 如果它处于范围内并且正常工作,否则,它将切换并使用 3G 加密狗;

我一直在四处查看,发现路由的“度量”计数器未用于最近的内核。我以为这样可以设置首选网关/连接 - 但根据手册页:

人力路线:

输出

度量 到目标的“距离”(通常以跳数计算)。最近的内核不使用它,但路由守护进程可能需要它。

所以我很困惑,是否有任何脚本/应用程序/任何可以检测活动网络连接的东西,并且通过配置,如果它处于活动/活动状态,则通过该接口发送我的默认网关网络流量?

答案1

Linux 通常根据接口度量来决定路由。查看“route -n”并查看其内容。如果您有一个度量更高的默认网关 (0.0.0.0),则该网关将优先于所有其他网关。

老实说,现在我很确定如果所有网关都相同,Linux 将如何选择路由——但重点是您需要为一个默认网关提供更高的度量。

我已经有一段时间没有接触过网络管理器了,但我相信那里面有一些为网关提供指标的设置。

最糟糕的情况是,您可以使用“ip route”命令删除并重新添加具有不同度量的网关。例如:


 ip route del 0.0.0.0/0 via 1.2.3.4 dev eth0
 ip route add 0.0.0.0/0 via 1.2.3.4 dev eth0 metric 1

相关内容