ipv4_route_metric是centos 7+永久调整网卡默认路由优先级的正确方式,因其写入ifcfg文件后由networkmanager或network服务自动应用,重启不丢失;而route命令添加的metric仅临时生效。

IPV4_ROUTE_METRIC 是 CentOS 7+ 中调整网卡默认路由优先级的正确方式,不是改 route 命令临时值,也不是动 /etc/rc.local。
为什么改 IPV4_ROUTE_METRIC 而不是用 route 命令?
因为 route add default ... metric N 只生效一次,重启网络或系统就丢失;而 IPV4_ROUTE_METRIC 写入网卡配置文件后,NetworkManager 或 network 服务每次加载该接口时都会自动应用 metric 值,真正“永久生效”。
IPV4_ROUTE_METRIC 配置位置和写法
编辑对应网卡的 ifcfg 文件:/etc/sysconfig/network-scripts/ifcfg-ens192(把 ens192 换成你的实际网卡名)
- 添加或修改这一行:
IPV4_ROUTE_METRIC="10" - 数值越小,该网卡的默认路由优先级越高(比如设为
10比100更优) - 不要加空格或引号以外的字符,例如
IPV4_ROUTE_METRIC=10也行,但带引号更稳妥 - 如果该网卡不配默认网关(
GATEWAY),IPV4_ROUTE_METRIC不会起作用——它只影响该接口生成的 default 路由
多网卡场景下 metric 值怎么设才不冲突?
关键不是绝对值,而是相对大小。常见策略:
开箱即用的技能链路由引擎。13 条预定义链覆盖搜索、开发、审查、MLOps、法律、创意等场景,三层路由架构(触发词→SAD反馈→DAG编排),recall@10=96.97%。配置驱动(chains.yaml),零代码扩展。pip install skill-weave-chains 一键安装。
- 主出口网卡(如公网)设低值:
IPV4_ROUTE_METRIC="10" - 备用/内网网卡设高值:
IPV4_ROUTE_METRIC="100" - 避免设为 0:虽然合法,但可能和本地路由、docker0 等内置路由冲突,建议从 10 起步
- 不同网卡 metric 差值建议 ≥ 10,留出余量,防止未来新增路由时意外覆盖
配置完必须 reload + restart 才生效
别只改文件就以为完了。必须执行:
-
nmcli connection reload(如果启用了 NetworkManager) -
systemctl restart network(如果用传统 network 服务) - 或者对单个连接操作:
nmcli connection down ens192 && nmcli connection up ens192 - 验证:
ip route | grep default,看 metric 值是否已更新
metric 值不会自动同步到已有路由条目,必须让接口重载才能重建 default 路由。










