在Rocky Linux里调整网卡优先级,主要靠改路由的metric值(数值越小越优先)。用nmcli或者改配置文件都行:1️⃣ 先用nmcli con show
查网卡名字;2️⃣ 用nmcli con modify 你的连接名 ipv4.route-metric 100
(数字自己改)调优先级;3️⃣ 最后nmcli con up 你的连接名
生效。用nmtui图形工具改也行,老手可以直接手搓/etc/sysconfig/network-scripts/里的配置文件嗷!
如何在 Rocky Linux 中配置和管理网络接口的优先级?
在Rocky Linux中配置网络接口优先级,需通过路由度量值(metric)控制。操作步骤:
- 查看接口:
nmcli connection show
获取连接名称 - 设置metric:
- 临时修改:
nmcli con mod <连接名> ipv4.route-metric 100
(数值越小优先级越高) - 永久生效:在/etc/sysconfig/network-scripts/ifcfg-<接口名>中添加
METRIC=100
- 临时修改:
- 应用配置:
nmcli con reload && nmcli con down/up <连接名>
- 验证路由:
ip route show
查看各接口metric值 - 多网卡策略:通过
/etc/iproute2/rt_tables
创建自定义路由表,结合策略路由(ip rule)实现分流
注:WireGuard等VPN需在配置文件中显式设置Table=自定义表名,并配置metric优先级。
-
查看当前网络接口及路由优先级
ip route show # 查看默认路由及metric值 nmcli con show # 确认连接名称及当前配置
-
通过NetworkManager设置优先级(推荐)
sudo nmcli con modify <连接名称> ipv4.route-metric 50 # 设置IPv4优先级(数值越小优先级越高) sudo nmcli con modify <连接名称> ipv6.route-metric 50 # 设置IPv6优先级 sudo nmcli con up <连接名称> # 应用配置
-
手动配置ifcfg文件(传统方法)
sudo vi /etc/sysconfig/network-scripts/ifcfg-<接口名>
添加:
METRIC=50 # 数值范围0-65535
重启服务:
sudo systemctl restart NetworkManager
-
验证路由优先级
ip route | grep default # 观察metric值变化 traceroute 8.8.8.8 # 测试实际流量路径
注意:多网卡场景建议优先配置主接口metric值低于备用接口,通过connection.autoconnect-priority
参数可辅助控制连接激活顺序。
是否考虑过使用NetworkManager的connection.autoconnect-priority设置来调整网络接口的自动连接顺序?
在Rocky Linux中,可通过metric
值配置网络接口优先级(值越小优先级越高)。使用nmcli
修改连接配置(如nmcli connection modify eth0 ipv4.route-metric 100
)或编辑/etc/sysconfig/network-scripts/ifcfg-eth0
添加IPV4_ROUTING_METRIC=100
后重启网络服务。
延伸知识点:Metric值的作用原理
Metric决定内核路由表的选择优先级。当系统存在多个可用接口时,内核会优先选择metric值低的接口发送数据。例如有线网卡(eth0)metric设为100,无线网卡(wlan0)metric设为200,则所有出站流量默认走eth0。通过ip route
可查看当前路由表中每条路径的metric值,此机制常用于多网卡负载均衡或故障切换场景。
在Rocky Linux中配置网络接口优先级的关键在于路由Metric值、策略路由和NetworkManager工具。以下是实践总结和挑战分析:
-
Metric值控制优先级
- 修改
/etc/sysconfig/network-scripts/ifcfg-*
文件,添加METRIC=100
(数值越小优先级越高) - 使用
nmcli connection modify eth0 ipv4.route-metric 50
动态调整 - 挑战:多网卡环境下Metric冲突可能导致非预期路由,需通过
ip route show
验证主路由表
- 修改
-
策略路由(Policy-Based Routing)
- 创建自定义路由表:
echo '200 custom_table' >> /etc/iproute2/rt_tables
- 添加规则:
ip rule add from 192.168.1.0/24 lookup custom_table
- 挑战:复杂网络环境下规则优先级易混乱,需用
ip rule list
持续监控
- 创建自定义路由表:
-
NetworkManager优先级配置
nmcli connection modify eth0 connection.autoconnect-priority -10
- 通过
nmcli connection show --active
检查生效状态 - 挑战:NetworkManager可能覆盖手动配置,需在
/etc/NetworkManager/conf.d/
中设置[main]
段的ignore-carrier
参数
-
内核级路由调整
- 临时修改:
ip route add default via 10.0.0.1 dev eth0 metric 50
- 持久化需写入
/etc/sysconfig/network-scripts/route-eth0
- 挑战:IPv4/IPv6双栈环境需分别设置
metric
和metric6
参数
- 临时修改:
典型问题案例:某生产环境因bonding接口与物理接口Metric相同导致流量分流异常,通过设置bond0
的Metric低于物理接口并添加策略路由解决。建议结合traceroute
和nmap --script traceroute-geolocation
验证实际路由路径。