Linux查看路由表应使用ip route命令,它简洁清晰且支持IPv4/IPv6;配置静态路由也优先用ip route add,需指定via或dev,并通过发行版特定方式实现持久化。

Linux 查看路由表用 ip route,配置静态路由也优先用它;route 和 netstat -rn 已过时,新系统可能根本没装。
怎么快速查看当前路由表
直接运行 ip route 即可,输出简洁、字段语义清晰,比如:
default via 192.168.1.1 dev eth0 proto dhcp metric 100 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
注意几件事:
-
proto kernel表示该路由由内核自动生成(如本地子网) -
proto dhcp表示由 DHCP 客户端添加的默认网关 -
metric值越小优先级越高,多条默认路由时靠它选路 - 不加任何参数时,
ip route只显示 IPv4;要查 IPv6 路由,得加-6:ip -6 route
如何添加一条临时静态路由
用 ip route add,语法直白,例如:
ip route add 10.20.0.0/16 via 192.168.1.254 dev eth0
关键点:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- 必须指定下一跳
via或出接口dev,二者选一即可;但若下一跳不在直连网段,dev不能省略,否则内核无法解析 ARP - 如果目标是单台主机(非网段),可用
to+ IP:ip route add to 10.20.0.5 via 192.168.1.254 - 添加后立即生效,但重启网络服务或机器后会丢失
- 别用
route add—— 它不校验下一跳可达性,容易配出“黑洞路由”
如何让静态路由开机自动生效
不能只靠 ip route add,得写进网络配置。不同发行版路径不同:
- Debian/Ubuntu:在
/etc/network/interfaces对应接口段落里加up ip route add ...,例如:up ip route add 10.20.0.0/16 via 192.168.1.254 - RHEL/CentOS 7+(使用 NetworkManager):推荐用
nmcli或写/etc/sysconfig/network-scripts/route-eth0,格式为:10.20.0.0/16 via 192.168.1.254 dev eth0 - systemd-networkd 用户:在
.network文件中用[Route]小节定义
千万别把 ip route add 塞进 /etc/rc.local —— 网络接口可能还没 up,命令会静默失败。
删错路由或想清空测试环境怎么办
用 ip route del 精准删除,例如:
ip route del 10.20.0.0/16 via 192.168.1.254
常见误区:
- 不能只写
ip route del 10.20.0.0/16—— 如果有多个同网段路由(比如不同 metric 或不同 via),必须完整匹配原添加命令的参数,否则报RTNETLINK answers: No such process - 想恢复初始状态?别删光 kernel 路由,用
ip route flush cache清空路由缓存即可;真要重置,重启 networking 服务比手动删更稳妥 - 误删默认路由后 SSH 断连?只要物理/控制台还通,用
ip route add default via ...加回去就行,不需要重启
静态路由本身不复杂,但容易卡在“下一跳不可达”或“配置未持久化”上——检查前先确认 ping 得通网关,再确认配置文件语法和执行时机是否匹配你的网络管理方式。


















