如何在 Ubuntu 中设置网络连接的优先级?

Pra*_*ati 59 networking connection ubuntu

如果 Ubuntu 11.04 机器同时连接 WiFi 和 3G,如何设置优先级让应用程序(浏览器等)先使用 WiFi?如果那不可用,它应该使用3G。

基本上,我想设置使用网络连接的顺序。

编辑:我正在寻找一种更简单的方法,这对那些在 Ubuntu/Linux 中感到舒适而不是专家的人很有用。

shi*_*ams 61

我很惊讶没有人提到执行此操作的最简单命令:ifmetric. 可以使用sudo apt-get install ifmetric. 此命令可用于更改任何接口的度量。Internet首选具有较低度量接口

要使用它,首先使用route命令查看指标:

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.42.0.1       0.0.0.0         UG    100    0        0 eth0
0.0.0.0         10.42.0.2       0.0.0.0         UG    600    0        0 wlan0
Run Code Online (Sandbox Code Playgroud)

在这里,eth0具有较低的指标,因此将优先于wlan0。如果你想更喜欢wlan0,那么降低它的指标:

sudo ifmetric wlan0 50
Run Code Online (Sandbox Code Playgroud)

现在,路由表将如下所示:

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.42.0.2       0.0.0.0         UG    50     0        0 wlan0
0.0.0.0         10.42.0.1       0.0.0.0         UG    100    0        0 eth0
Run Code Online (Sandbox Code Playgroud)

现在 Linux 将wlan0用于 Internet。更改将立即反映出来。

  • @ThorstenNiehues:我想到的一个快速解决方案是将 ifmetric 命令添加到您的 crontab 中,方法是执行 `crontab -e`,然后在末尾添加一行:`@reboot sudo ifmetric wlan0 50`。 (3认同)
  • 很好的答案。谢谢(也适用于路线 -n)。安装 ifmetric 后我必须重新启动才能使用命令更改指标 (2认同)

har*_*ymc 16

设置指标是您更改优先级的方式。较高的度量值使用起来更“昂贵”,因此如果需要路由流量,操作系统将使用具有最低度量值的接口。如果较低的度量接口关闭,它将使用较高的度量接口,因为它是唯一可用于将流量路由到该特定网络/目的地的接口。

指标在文件/etc/network/interfaces 中指定,链接指向文档。

使用任何文本编辑器来编辑文件,识别网络,只需更改metric参数并保存即可。重新启动是重置所有值的最简单方法,而无需涉及重新启动网络服务的令人讨厌的细节。

  • 每个人都会做的最简单的解决方案就是关闭您不想使用的接口,或者将其限制为“仅将此连接用于其网络上的资源”(如果您还有打印机或其他任何东西)同一个路由器)。 (3认同)
  • Harry - 感谢您的回复 - 我对 eth1 感兴趣的网络显示在“ifconfig”中,但不在“/etc/network/interfaces”中。“ifconfig”中显示什么,“/etc/network/interfaces”中显示什么? (2认同)
  • 在对所有适配器进行快速测试后,Linux 似乎决定使用最快的适配器。许多发行版不再支持指标。你仍然可以尝试通过“/etc/network/interfaces”来决定事情,但我不知道你会成功。另见[这个问题](http://superuser.com/questions/216678/ubuntu-network-priority)。 (2认同)

Red*_*ick 7

  1. 为一般流量确定接口的优先级是通过操纵路由度量来完成的。每条路由都有相关的参数,例如跳数和带宽。请参阅route命令手册页中的“metric”选项。

    $ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref     Use Iface
    0.0.0.0         192.168.1.254   255.255.255.255 U     0      0        0 eth0
    192.168.1.0     0.0.0.0         255.255.255.0   U     256    0        0 eth0
    
    Run Code Online (Sandbox Code Playgroud)
  2. 优先应用程序访问网络资源通常通过“流量整形”来解决 - 我会使用网络搜索引擎来查看 Ubuntu 或路由器是否可以做到这一点。


脚注。

在 MS Windows 上,而不是在 Linux 上,该netstat -nr命令输出的信息与route print. 包括路由度量。

  • @PraveenSripati - 我不相信你为这样的答案付出了 100 你辛苦赚来的代表 - 技术上是正确的,但对你或我没有帮助。:-( 我也在寻找一个特定的命令。 (12认同)