如果设备有多个网卡,可能因为默认路由优先级的原因,导致不能上外网,这里介绍下通过netplan设置网卡优先级的方法。
使用route -n
命令可以看到网卡的路由状态
目标 网关 子网掩码 标志 跃点 引用 使用 接口
0.0.0.0 192.168.43.1 0.0.0.0 UG 100 0 0 usb0
0.0.0.0 192.168.137.1 0.0.0.0 UG 101 0 0 eth0
192.168.43.0 0.0.0.0 255.255.255.0 U 100 0 0 usb0
192.168.137.0 0.0.0.0 255.255.255.0 U 101 0 0 eth0
可以看到,默认路由使用了usb0
的网卡,但是我们要使用eth0来上网。
可以通过设置网络接口默认跃点的方式来控制路由优先级,默认跃点约小优先级越高。
编辑netplan
配置文件,将usb0的跃点设置成200,因为网卡的默认跃点是100,所以eth0的网络优先级就比usb0高
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true
usb0:
dhcp4: true
dhcp4-overrides:
route-metric: 200
编辑完后应用配置
netplan generate
netplan apply