ubuntu metric网络配置 网卡优先级
·
最建议用2.1.1方法,切换wifi也生效,比较方便
1. 面向连接设置metric
1.1. nmcli
#先查看wlan0上的连接名称
nmcli connection show | grep wlan0
#为该连接设置metric
nmcli connection modify "连接名称" ipv4.route-metric 0
#激活更改
nmcli connection up "连接名称"
1.2. netplan
jetpack没有带netplan,并且没法直接按名字安装,名字为
sudo apt-get install netplan.io -y
sudo nano /etc/netplan/99-wlan0-metric.yaml
network:
version: 2
renderer: NetworkManager
wifis:
wlan0:
dhcp4: false
access-points:
"RM":
password: "***"
addresses: [10.10.20.24/24]
routes:
- to: default
via: 10.10.20.1
metric: 0
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
sudo chmod 600 /etc/netplan/99-wlan0-metric.yaml
sudo netplan apply
2. 基于网卡(interface)来设置
2.1. NetworkManager
2.1.1. NetworkManager修改网卡metric
- 创建NetworkManager配置文件,为特定接口类型或名称设置默认metric
sudo nano /etc/NetworkManager/conf.d/10-wlan0-metric.conf
[device]
match-device=interface-name:wlan0
[connection]
ipv4.route-metric=0
sudo systemctl restart NetworkManager
2.1.2. 为所有WiFi连接设置默认metric
sudo nano /etc/NetworkManager/NetworkManager.conf
[connection]
wifi.route-metric=0
sudo systemctl restart NetworkManager
2.1.3. 使用脚本监控网络接口变化,并自动设置metric
sudo nano /etc/NetworkManager/dispatcher.d/10-set-wlan0-metric
#!/bin/bash
if [ "$1" = "wlan0" ] && [ "$2" = "up" ]; then
/usr/bin/ip route change default via $(ip route | grep default | grep wlan0 | awk '{print $3}') dev wlan0 metric 0
fi
sudo chmod +x /etc/NetworkManager/dispatcher.d/10-set-wlan0-metric
3. netplan和networkmanager的工作关系
netplan配置和NetworkManager配置文件可以一起使用,但需要注意它们之间的交互关系:
- 当netplan使用
renderer: NetworkManager时,netplan会将网络配置转换为NetworkManager连接配置,并存储在/etc/NetworkManager/system-connections/目录下。 - 而NetworkManager的全局配置(如
/etc/NetworkManager/conf.d/中的文件)会影响NetworkManager如何处理所有连接,包括由netplan生成的连接。
这种组合使用的工作流程是:
- netplan定义具体的网络连接(WiFi接入点、IP地址等)
- NetworkManager配置文件定义全局行为(如默认metric值)
例如,您可以:
- 使用netplan配置WiFi连接:
# /etc/netplan/01-wifi.yaml
network:
version: 2
renderer: NetworkManager
wifis:
wlan0:
access-points:
"RM":
password: "***"
"phoenix":
password: "***"
dhcp4: true
- 同时创建NetworkManager配置文件设置默认metric:
# /etc/NetworkManager/conf.d/10-wlan0-metric.conf
[device]
match-device=interface-name:wlan0
[connection]
ipv4.route-metric=0
这样配置后:
- netplan会创建WiFi连接配置
- NetworkManager会应用全局metric设置到所有wlan0接口的连接上
这种组合使用的优点是:
- 可以利用netplan的简洁语法定义连接
- 可以利用NetworkManager的高级功能设置全局行为
- 避免在netplan中为每个连接重复设置相同的metric值
需要注意的是,如果在netplan配置中明确设置了metric值,它可能会覆盖NetworkManager的全局设置。在这种情况下,以netplan中的具体设置为准。
总的来说,这两种配置方式是可以互补使用的,可以根据您的需求选择最合适的组合。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)