Linux系统配置网络优先级
在Linux系统中,可通过metric值调整默认网关优先级(数值越小优先级越高)。提供两种配置方法: nmcli:适用于NetworkManager管理的网络,使用nmcli connection modify设置ipv4.route-metric(如以太网100,WiFi 200),并重启连接生效。 Netplan(Ubuntu推荐):编辑YAML文件,禁用DHCP自动路由,手动定义routes
·
注:Linux中默认网关的优先级是由 “metric(度量值)” 决定,metric 数值越小,优先级越高
方法一、使用 nmcli 设置连接的 route-metric
- 适用于 NetworkManager 管理的网络连接(常见于桌面和 server GUI 环境)
# 设置以太网优先级为100
nmcli connection modify <eth-conn-name> ipv4.route-metric 100
# 设置 WiFi 优先级为200
nmcli connection modify <wifi-conn-name> ipv4.route-metric 200
# 重新激活连接使设置生效
nmcli connection down <conn-name> && nmcli connection up <conn-name>
- 可用以下命令查看当前所有连接名
nmcli connection show
# 示例输出:
# NAME UUID TYPE DEVICE
# MY_WIFI a8eb3f9e-a1db-43a2-8571-6c7a8b4e1099 wifi wlan0
# Wired connection 1 97eed963-5df8-3420-b992-9306744748bb ethernet eth0
# Wired connection 2 c3e841a6-03ca-38d6-b1d9-528fb5d0366f ethernet --
- 验证网络优先级是否生效
# 查看路由表中 default 条目的 metric 值
ip route | grep default
# 输出示例:(metric 值越小优先级越高,及第一条 default 路由优先级最高)
# default via 192.168.1.1 dev eth0 proto dhcp metric 100
# default via 192.168.1.1 dev wlan0 proto dhcp metric 200
方法二、Netplan 配置(Ubuntu 18.04+ 推荐)
- 打开并编辑网络配置文件,如果没有则手动创建
sudo vim /etc/netplan/01-netcfg.yaml
- 配置文件中添加以下内容(注意缩进格式保持一致)
network:
version: 2
renderer: networkd # 使用 systemd-networkd 管理网络
ethernets:
eth0:
dhcp4: true
dhcp4-overrides:
use-routes: false # 禁止自动添加默认路由
routes:
- to: default
via: 192.168.1.1 # 这里填你的以太网网关IP,若DHCP自动分配网关,需先确认
metric: 100
wifis:
wlan0:
dhcp4: true
optional: true # 无线设备设为可选,避免系统启动等待 WiFi 联网
access-points:
"你的WiFiSSID":
password: "你的WiFi密码"
dhcp4-overrides:
use-routes: false
routes:
- to: default
via: 192.168.1.1 # 替换成你的WiFi网关IP,可能和eth0不同,确认后填写
metric: 200 # 次优先级,eth0 断开时才启用
# 配置说明:
# use-routes: false 是为了避免 DHCP 自动添加默认路由
# routes 中明确指定默认路由 (to: default)
# metric 控制优先级:数值越小优先级越高
- 执行以下命令,保存并应用 Netplan 配置
sudo netplan apply
# 可能会出现如下警告(不影响):
# WARNING:root:Cannot call Open vSwitch: ovsdb-server.service is not running.
# WARNING: systemd-networkd is not running, output will be incomplete.
# Failed to reload network settings: No such file or directory
# WARNING:root:Falling back to a hard restart of systemd-networkd.service
# Netplan 检查 Open vSwitch(OVS),发现服务没在运行,如果没有使用 OVS 网络(多数不会用到)可以忽略该警告
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)