Linux怎么配置静态路由永久生效 Linux下route与ip命令详解

落伟大大_3228

落伟大大_3228

2026-04-29

832人浏览

原创

route命令添加的静态路由重启即失效,永久生效需依赖配置文件:centos/rhel用/etc/sysconfig/static-routes,ubuntu/debian用netplan yaml;ip route更现代但同样临时。

linux怎么配置静态路由永久生效 linux下route与ip命令详解

route 命令添加的静态路由重启即失效,不是永久配置;真正能持久生效的,得靠配置文件或系统级网络管理机制,而不是命令行临时操作。

route 命令只管当前会话,别指望它永久保存

route 是传统工具,语法直观但功能受限,仅作用于内核路由表,不参与系统启动流程。你执行 route add -net 10.20.0.0/16 gw 10.10.1.1 后,route -n 能立刻看到,但只要 systemctl restart network 或机器重启,这条就没了。

常见错误现象包括:

  • 明明加了路由,ping 10.20.0.1 却不通——可能网关本身不可达,route 不校验网关连通性
  • 加完路由后 ssh 断连——因为默认路由被覆盖或冲突,route 没有优先级提示
  • 用 route del 删除失败,报 SIOCDELRT: No such process——目标条目格式不匹配(比如用了 -net 却没带 netmask)

参数差异要点:

  • -host 和 -net 必须显式指定,不能省略;route add 10.20.0.0/16 会报错
  • gw 和 dev 不能同时省略,至少填一个;若只写 dev eth0,表示直连子网,不走网关
  • -n 不是可选,而是必须加——否则 DNS 反查会卡住,尤其在无 DNS 环境下

ip route 更推荐用于临时操作,兼容性与语义更清晰

ip route 属于 iproute2 套件,比 route 更现代、参数更统一。例如添加同一条路由:ip route add 10.20.0.0/16 via 10.10.1.1 dev eth0,不需要 -net 或 netmask,CIDR 格式直接支持。

它解决了一些 route 的痛点:

  • 删除时更宽松:ip route del 10.20.0.0/16 即可,不用重复写 via 和 dev
  • 支持更细粒度控制:比如 ip route add ... metric 100 设置优先级,ip route replace 替换已存在条目
  • 对 IPv6 原生支持:ip -6 route,而 route -6 在多数老发行版里压根不可用

但注意:ip route 同样是临时的——它和 route 一样,只改运行时路由表,不写入任何配置文件。

CentOS/RHEL 系统永久路由靠 /etc/sysconfig/static-routes

在 CentOS 6/7(使用 network-scripts)中,唯一被 network 服务原生识别的永久路由方式是 /etc/sysconfig/static-routes 文件。它不是脚本,是纯文本规则集,由 /etc/sysconfig/network-scripts/ifup-routes 在接口 up 时自动加载。

Zynq Linux Hardware Debug
Zynq Linux Hardware Debug

Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。

下载

正确写法示例:

any net 10.20.0.0/16 gw 10.10.1.1
any net 192.168.5.0/24 dev eth1

关键点:

  • 必须以 any 开头,不能写 eth0 或其他接口名(那是旧版写法,已弃用)
  • 不支持 CIDR 写法以外的掩码表达,net 10.20.0.0 netmask 255.255.0.0 也合法,但推荐统一用 /16
  • 每行只能一条路由;空行或注释(#)会被忽略
  • 修改后需 systemctl restart network(RHEL7)或 service network restart(RHEL6)才生效,不是 reload

不要往 /etc/rc.local 里塞 route add——NFS 挂载、容器网络等依赖早于 rc.local 执行的服务会找不到路由。

Ubuntu/Debian 系统永久路由必须走 Netplan YAML

Ubuntu 18.04+ 和 Debian 10+ 默认用 Netplan 管理网络,静态路由必须写进 /etc/netplan/*.yaml,不能用 static-routes 或 rc.local。

典型配置片段:

network:
  version: 2
  ethernets:
    eth0:
      addresses: [10.10.1.10/24]
      routes:
        - to: 10.20.0.0/16
          via: 10.10.1.1
          on-link: true

注意:

  • on-link: true 表示网关与本机在同一子网,不查 ARP 缓存直接发包;若网关跨子网,此项必须删掉或设为 false
  • Netplan 不支持“默认路由 + 静态路由”混用时的 metric 自动调整,多条默认路由需手动设 metric 避免冲突
  • 改完必须执行 sudo netplan apply,且该命令会重置所有接口——正在 SSH 的连接大概率中断

Netplan 的 YAML 缩进极其敏感,少一个空格就会 Invalid YAML 报错,建议先用 netplan try 验证。

永久路由最易被忽略的点:网关可达性验证不在配置阶段发生。哪怕你把 gw 192.168.99.1 写进 static-routes 或 Netplan,只要该 IP 当前 ping 不通,路由条目照常加入,但实际转发失败——得靠 ip route get 10.20.0.5 查真实下一跳,而不是只看 ip route show 有没有那行。

相关文章

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

linux 路由

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4030

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3453

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2633

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6390

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6022

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3513

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3005

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3239

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习