在Linux中永久添加静态路由需写入启动配置文件:CentOS/RHEL 6–7用/etc/sysconfig/static-routes(格式为“any net X.X.X.X/XX gw X.X.X.X”);Ubuntu/Debian在/etc/network/interfaces中网卡块末尾加“up ip route add...”;现代发行版用Netplan YAML配置routes字段并执行netplan apply。

要在Linux系统中永久添加一条静态路由规则,避免重启后丢失,必须将路由写入系统启动时自动读取的配置文件,而不是仅用ip route或route命令临时添加。
CentOS/RHEL 6–7 系统:写入 /etc/sysconfig/static-routes
这是最稳妥的通用方案,被network服务显式调用,兼容service network restart和系统重启。
第一步:用root权限编辑配置文件:vi /etc/sysconfig/static-routes
第二步:如果文件不存在,直接新建;每行格式必须以any开头,不能省略或替换成网卡名,例如添加访问192.168.50.0/24走192.168.1.254网关:【any net 192.168.50.0/24 gw 192.168.1.254】
第三步:保存退出后执行service network restart——注意不是systemctl restart network,旧版SysV脚本不识别后者。
这一步操作起来很简单,直接把文件拖进去就行。但若开头误写为eth0或漏掉any,整行会被network脚本跳过,路由根本不会加载。
Ubuntu/Debian 系统:在 /etc/network/interfaces 中追加 up 指令
适用于使用ifupdown工具管理网络的发行版,路由随接口启停自动生效。
方法一:编辑主网络配置文件:sudo nano /etc/network/interfaces
方法二:在对应网卡(如eth0)的配置块末尾添加一行:up ip route add 10.20.30.0/24 via 10.20.0.1
方法三:保存后重启该接口:sudo ifdown eth0 && sudo ifup eth0,无需重启整个网络服务。
所有现代发行版(含CentOS 8+/RHEL 8+、Ubuntu 18.04+):用 Netplan 配置
Netplan是当前主流的声明式网络配置工具,必须用YAML语法,缩进错误会导致apply失败。
编辑Netplan配置文件,通常路径为/etc/netplan/01-netcfg.yaml或类似名称。
在目标网卡配置下添加routes字段,例如:
routes:
- to: 172.16.100.0/24
via: 172.16.1.254
metric: 100
保存后执行sudo netplan apply立即生效,且重启后持久存在。
注意:YAML对空格敏感,via前面必须是两个空格,不能用Tab;metric可选,但建议显式设置避免多路径冲突。



















