Linux 网络配置实战:RHEL/CentOS 7+ 永久静态路由配置与优先级调整全攻略

在企业环境中,服务器常有多网卡、多出口的复杂网络环境。 如果仅使用临时命令 ip route add,路由表在系统重启后就会丢失。 本文带你实现 RHEL/CentOS 7+ 永久静态路由配置,并讲解 路由优先级(metric)调整方法。


一、背景说明

RHEL/CentOS 7 之后,网络管理机制 发生变化:

  • NetworkManager 接管了大部分网络配置;

  • 传统的 /etc/sysconfig/static-routes 文件已经失效;

  • 静态路由应写入对应网卡的配置文件:

    /etc/sysconfig/network-scripts/route-

例如: 若网卡名为 ens192,则文件路径为:

复制代码
/etc/sysconfig/network-scripts/route-ens192

二、示例环境

我们希望:

  • 内网段 192.168.1.0/24 从 ens192 出;
  • 默认网关(外网访问)走 ens224;
  • 同时设置 ens192 优先级更高。

三、配置永久静态路由

编辑对应网卡的路由配置文件:

复制代码
vi /etc/sysconfig/network-scripts/route-ens192

写入以下内容:

复制代码
192.168.1.0/24 via 192.168.1.1 dev ens192
default via 172.20.17.1 dev ens224

💡 说明:

  • 第一行:表示内网网段的路由;
  • 第二行:设置默认出口(外网)网关。

保存后,执行:

复制代码
nmcli connection reload
systemctl restart network

四、调整路由优先级(Metric)

在 RHEL7+ 中,可以通过参数 IPV4_ROUTE_METRIC 调整路由优先级。 数值越小,优先级越高。

示例:编辑网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens192

复制代码
vi /etc/sysconfig/network-scripts/ifcfg-ens192

添加或修改以下行:

复制代码
IPV4_ROUTE_METRIC=0

如果有多块网卡,比如 ens224,则可以设置:

复制代码
IPV4_ROUTE_METRIC=100

这样系统会优先选择 ens192 作为主路由出口。

保存后重启网络:

复制代码
systemctl restart network

五、验证配置结果

查看当前路由表:

复制代码
ip route

输出示例:

复制代码
default via 172.20.17.1 dev ens224 metric 100
192.168.1.0/24 via 192.168.1.1 dev ens192 metric 0

✅ 可以看到:

  • 默认路由走外网 ens224
  • 内网优先走 ens192
  • 路由优先级通过 metric 数值体现

六、知识拓展:为什么不用 rc.local?

有些旧教程会建议在 /etc/rc.local 中添加:

复制代码
ip route add 10.15.150.0/24 via 192.168.1.1 dev ens192

⚠️ 但在 RHEL7+ 中:

  • rc.local 默认 未启用执行权限;
  • NetworkManager 可能在其后重写路由;
  • 因此该方法在多数场景下 无效或不稳定。

七、示例:多条静态路由配置

若需要为同一网卡配置多条静态路由,可以直接在 route-<interface> 文件中追加:

复制代码
10.15.150.0/24 via 192.168.1.1 dev ens192 
10.25.250.0/24 via 192.168.1.1 dev ens192 

无需重启系统,只需重启网络服务:

复制代码
systemctl restart network
相关推荐
Escalating_xu11 小时前
【Linux 网络编程】IP 分片与重组:3000 字节的数据报,怎样拆开又拼回来?
linux·网络·tcp/ip
小相会自律11 小时前
全平台远程控制软件推荐2026:Win/Mac/Linux/手机/鸿蒙互通哪款好
linux·macos·智能手机·todesk·teamviewer·向日葵
风娜11 小时前
【Linux网络】UDP 服务器怎么写?从 socket、bind 到 recvfrom/sendto,手写完整回显服务器
linux·服务器·网络
从琳开始98911 小时前
从Socket到UDP回显服务器:Java网络编程完整指南
java·网络·网络协议·udp·java-ee
静以修身zzz11 小时前
OpenStack对象存储-Swift、OpenStack编排管理-heat、OpenStack网络管理-neutron
linux·运维·服务器·架构·openstack·swift
Gauss松鼠会12 小时前
GaussDB 整体架构解析
运维·服务器·网络·数据库·sql·架构·gaussdb
sinovoip12 小时前
Banana Pi BPI-RT2 WiFi 6 路由器板采用 Realtek RTL8198D 双核 MIPS SoC。
网络·智能路由器
一技安身12 小时前
MySQL 8.4.13 LTS 通用二进制包(Linux免安装版)完整教程
linux·mysql·adb
迷途之人不知返12 小时前
【动态库与静态库】-3-静态链接与加载
linux
xiaoye-duck12 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(上):初始化和全量响应
开发语言·网络·c++·语言模型