首页/系统/Linux 运维命令速查/ip route 查看与增删路由
网络命令82 条

ip route 查看与增删路由

查路由表、查某目标走哪条路(route get)、临时加/删静态路由;多网卡、VPN、双线环境排障核心。

Linux 运维命令速查系统更新于 2026-10-13

ip route 是什么

ip route 用来查看和操作内核路由表,判断「去某个地址的包会从哪张网卡出去、走哪个网关」靠的就是它。show 列出全部路由,get 按目标地址做一次真实选路查询,直接给出使用的出口网卡、源地址与下一跳,比人眼看表更接近实际行为;add、del、replace 用于临时增删路由。多网卡、双线接入、VPN 场景最容易在路由上出问题,而策略路由(ip rule 配合多张路由表)会让「主表里看到的」与「实际生效的」不一致。

基本信息

适用平台Linux(iproute2 中的 ip 命令);传统 route 命令已废弃
命令语法ip route {show|get|add|del|replace} ...
常用子命令show 列出路由 get 查选路 add 添加 del 删除 replace 添加或替换 table 指定路由表
权限说明查看普通用户可做,增删改需要 root
关联命令ip rule 查看策略路由规则、ip route show table all 查看全部表

典型使用场景

  • 选路核对:判断到某个内网或公网地址实际走哪张网卡、哪个网关
  • 跨网段访问:临时添加静态路由访问其他网段或专线对端
  • 故障定位:区分「没有路由」与「路由对但网关不通」两类问题
  • 多云与 VPN:核对隧道建立后路由是否按预期注入
  • 云主机调整:更换默认网关或补充辅助网段路由

常用示例

常用示例
ip route show                              # 列出主路由表
ip route get 8.8.8.8                       # 去公网地址走哪条路
ip route get 10.1.1.5                      # 内网目的地选路核对
ip route add 10.20.0.0/16 via 10.0.0.1     # 临时添加静态路由
ip route del 10.20.0.0/16                  # 删除路由
ip route replace default via 10.0.0.1      # 修改默认网关(高危)
ip rule list                               # 策略路由规则
ip route show table all | head             # 查看所有路由表

route get 输出读法

输出片段含义怎么看
8.8.8.8 via 10.0.0.1目标地址与下一跳网关网关是否符合网络规划
dev eth0命中的出口网卡与预期网卡不一致时检查路由优先级
src 10.0.0.5选中的源地址源地址错误会导致回包被丢弃
cache 与 uid查询上下文与缓存的选路信息有策略路由时要结合 ip rule 一起看
删除或修改默认路由会在瞬间断网,尤其会切断当前的 SSH 会话。改动前先准备好回滚命令,能用 replace 就不要先 del 再 add。
由 ip route 临时添加的路由重启后失效。需要持久化时写入发行版对应的配置文件,或通过 NetworkManager(nmcli)维护,避免重启后路由静默消失。

易错点

  • 直接删除默认路由,改错会立刻失去远程连接,必须先准备好回滚命令
  • 存在策略路由时只改主表而不生效,需要结合 ip rule 与全部路由表判断
  • 临时添加的路由没有持久化,重启后消失引发「时好时坏」的困惑
  • 掩码写错(/24 写成 /16)会覆盖更大网段,产生意料之外的选路结果

数据来源与参考

  • man 8 ip-route(iproute2 手册)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌