商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > CentOS怎么修改具体的网络路由优先级配置

CentOS怎么修改具体的网络路由优先级配置

  发布于2026-08-12 阅读(0)

扫一扫,手机访问

在 RHEL/CentOS 7 及以上版本里,需要在网卡配置文件中补上一项 IPV4_ROUTE_METRIC=数值,比如 /etc/sysconfig/network-scripts/ifcfg-ens192 这类文件。这里的规则很直接:数值越小,优先级越高;同时,不同网卡的取值必须保持唯一。这样配置后会永久生效,核心目的就是避免默认 metric 相互冲突,进而让路由选择变得不可预测、难以控制。

CentOS怎么修改具体的网络路由优先级配置

修改网卡配置文件中的 IPV4_ROUTE_METRIC

CentOS 7+(包括 RHEL、Rocky、AlmaLinux)使用 NetworkManager 或传统 network 服务管理路由,优先级由 metric 值控制——数值越小,优先级越高。永久生效的唯一可靠方式是写入网卡配置文件。

操作路径固定:/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME(如 ifcfg-ens192)。必须添加或修改这一行:

IPV4_ROUTE_METRIC=50
  • 若该网卡需作为主出口(例如走外网),建议设为 010
  • 若为辅助网卡(如内网管理口),设为 100200 等更高值;
  • 不能留空或设为负数,否则会被忽略或触发 fallback 行为;
  • 多个网卡的 IPV4_ROUTE_METRIC 值必须互不相同,否则系统可能任意选择默认路由。

为什么不能只用 ip route replaceroute add

这些命令改动的,其实只是内核当前正在使用的路由表:机器一旦重启,配置就会失效;即便不重启,只要遇到 NetworkManager 接管,或者执行了 systemctl restart network,这些临时路由也很容易被重新覆盖。更需要警惕的是,如果多张网卡都配置了 GATEWAY,却没有显式设置 IPV4_ROUTE_METRIC,系统通常会自动给它们分配默认 metric,常见就是 100。结果是什么?路由冲突几乎是必然的——执行 ip route show 时,很可能会同时看到两条 default via ... metric 100。一旦出现这种情况,内核就只能按“先到先得”的方式来选路,整个行为也就变得不可控了。

常见错误现象:

  • ping 外网通,但 SSH 连入时响应慢或超时;
  • 从某网卡进来的连接,回包却从另一网卡发出(asymmetric routing);
  • ip route get 8.8.8.8 返回的出口设备与预期不符。

验证是否生效:看 ip route 输出里的 metric

重启网络后运行:

ip route show

输出中每条 default 路由末尾必须带明确的 metric N,例如:

default via 172.20.17.1 dev ens224 metric 100
192.168.1.0/24 via 192.168.1.1 dev ens192 metric 0

注意:

  • 没有 metric 字样的默认路由,说明 IPV4_ROUTE_METRIC 未被读取(检查拼写、空格、是否漏掉引号);
  • 如果看到 metric 1024 这类大数值,往往是 NetworkManager fallback 分配的,代表配置未生效;
  • ip route get 测试具体目标走哪条路径,比只看 default 更准。

双网卡同网段时 metric 不起作用?得靠策略路由

如果两块网卡在同一子网(比如都接 192.168.1.0/24),仅靠 metric 无法区分出口——因为内核路由决策优先匹配最长前缀,子网完全一致时才看 metric。这时必须用策略路由(policy routing):

  • 编辑 /etc/iproute2/rt_tables,新增自定义表名与 ID(如 200 net_a);
  • ip rule add from table net_a 绑定源地址;
  • ip route add default via dev table net_a 设置该表路由;
  • 所有配置需写入脚本并加入 /etc/rc.d/rc.local 或 systemd service 才能持久化(RHEL/CentOS 7+ 中 rc.local 默认不执行,需手动启用)。

这种场景下,IPV4_ROUTE_METRIC 完全无效,硬套只会浪费调试时间。

本文转载于:https://www.php.cn/faq/2977996.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注