Ubuntu设置网络优先级

前言

有这么一种情况,机器上有有线和无线,有线因为要和内部通讯所以没有网,无线是有网的,但是默认网络却走了有线,导致无法访问外部网络。

我们可以通过以下几种方式解决:

调整网络连接优先级

NetworkManager 是 Ubuntu 中默认的网络管理工具,你可以通过修改连接的优先级来实现让网络走无线连接。

(1)打开网络连接设置

  • 通过 Settings(设置) -> Network(网络) 进入网络设置页面,找到有线连接并点击齿轮图标打开详细设置。

(2)调整优先级

  • 在有线连接的详细设置界面中,切换到 详细信息(常规) 选项卡。取消勾选 自动连接

    这样当有线和无线同时可用时,系统会优先选择无线连接。

  • 如果你想进一步确保无线连接的优先级,可以在无线连接的详细设置中,勾选 自动连接,并确保其优先级高于有线连接。

通过命令行修改路由表

你可以使用 ip route 命令来修改系统的路由表,从而让网络流量通过无线网卡。

查看当前网络接口和路由表

打开终端,使用以下命令查看当前系统的网络接口:

1
ip addr

该命令会列出所有网络接口及其配置信息,找到无线网卡(通常以 wlan 开头)和有线网卡(通常以 ethenp 开头)的名称。

接着使用以下命令查看当前的路由表:

1
ip route

该命令会显示系统当前的路由规则。

1
2
3
4
5
6
default via 192.168.123.1 dev eth0 proto static metric 20100 
default via 192.168.3.254 dev wlan0 proto dhcp metric 20600
169.254.0.0/16 dev eth0 scope link metric 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.3.0/24 dev wlan0 proto kernel scope link src 192.168.3.96 metric 600
192.168.123.0/24 dev eth0 proto kernel scope link src 192.168.123.164 metric 100

删除默认的有线路由

假设有线网卡的默认网关为 192.168.123.1,可以使用以下命令删除该路由:

1
sudo ip route del default via 192.168.123.1

添加无线网卡的默认路由

假设无线网卡的默认网关为 192.168.3.254,可以使用以下命令添加该路由,我这里有这个默认的路由了就不用再添加了:

1
sudo ip route add default via 192.168.3.254 dev wlan0

其中 wlan0 是无线网卡的名称,根据实际情况进行替换。