如何在 Rocky Linux 中通过 ip 命令管理和查看路由表?

问题浏览数Icon
33
问题创建时间Icon
2025-03-16 06:46:00
作者头像
qingmo01

在Rocky Linux中,通过ip命令管理路由表是运维核心技能。建议:

  1. 查看路由表使用ip route shownmcli connection show结合--active参数
  2. 添加临时路由用ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0,永久路由需在/etc/sysconfig/network-scripts/route-ethX配置
  3. 删除路由时优先用ip route del测试效果,再同步到持久化配置
  4. 复杂网络建议通过NetworkManager的nmcli工具管理,避免直接修改配置文件导致服务冲突 关键点:始终先验证临时路由有效性,再决定是否持久化,同时用ip route get 目标IP验证具体路由路径

更多回答

作者头像
minghe88

Rocky Linux 中通过 ip 命令管理和查看路由表

1. 查看当前路由表

ip route show  # 或简写为 `ip r`

说明

  • 显示所有路由规则,包括目标网络、网关、接口等信息。
  • 使用 -n 选项可禁止 DNS 解析(如 ip -n r),加速显示。

2. 添加静态路由

ip route add <目标网络>/<子网掩码> via <网关IP> dev <接口名>

示例

ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0

说明

  • <目标网络>:如 192.168.2.0/24
  • via <网关IP>:指定下一跳网关(若需要)。
  • dev <接口名>:指定出口接口(如 eth0)。

3. 删除路由

ip route del <目标网络>/<子网掩码> [via <网关IP>] [dev <接口名>]

示例

ip route del 192.168.2.0/24 via 192.168.1.1 dev eth0

注意:删除时需与添加时的参数完全一致。

4. 修改默认网关

ip route replace default via <网关IP> dev <接口名>

示例

ip route replace default via 192.168.1.1 dev eth0

说明

  • replace 可直接覆盖现有默认路由。

5. 持久化路由配置(重启生效)

方法一:编辑网络配置文件

vi /etc/sysconfig/network-scripts/route-<接口名>

示例eth0接口):

192.168.2.0/24 via 192.168.1.1 dev eth0

方法二:使用 nmcli 工具

nmcli connection modify <连接名> +ipv4.routes "192.168.2.0/24 192.168.1.1"

生效配置

nmcli connection up <连接名>

6. 验证路由生效

ping <目标IP>          # 测试连通性
traceroute <目标IP>    # 查看路由路径

注意事项

  • 若网关不可达,路由添加会失败,需检查网络连接。
  • 接口名称可通过 ip link show 确认。
  • 临时路由(非持久化)重启后失效,需通过配置文件或网络管理工具保存。
作者头像
yuehan22

在Rocky Linux中,使用ip route showip r查看路由表;通过ip route add/del命令添加或删除路由,如ip route add 192.168.1.0/24 via 网关IP dev 网卡名

作者头像
echoedge66

在Rocky Linux中通过ip命令管理路由表需掌握以下核心操作及实践经验:

  1. 查看路由表
    ip route show或简写ip r显示主表,重点关注default网关及目标网段归属接口。实践中常结合grep过滤特定网段(如ip r | grep '192.168.1.0/24')排查路由缺失问题。

  2. 添加静态路由
    临时添加:ip route add 10.0.0.0/24 via 192.168.1.254 dev eth0,需注意网卡状态(如eth0未UP则路由失效)。持久化需在/etc/sysconfig/network-scripts/route-eth0写入10.0.0.0/24 via 192.168.1.254,曾遇到因文件权限错误导致重启失效的案例。

  3. 删除路由
    ip route del 10.0.0.0/24删除时需严格匹配原添加参数,否则会提示'RTNETLINK answers: No such process'。曾因遗漏dev参数误删多宿主服务器的冗余路由导致业务中断。

  4. 修改默认网关
    使用ip route replace default via 192.168.1.1避免多条default路由冲突。在双线负载均衡场景中需配合metric值(如ip route add default via 192.168.2.1 dev eth1 metric 100)控制优先级。

实践挑战

  • 多网卡路由优先级:曾因未指定metric导致VPN隧道流量绕行物理网卡,通过ip -4 r show table main | grep 'default'对比metric值定位问题。
  • VPN路由泄漏:添加ip route add 172.16.0.0/12 dev tun0时误操作成default via tun0,触发SSH连接中断,最终依赖IPMI重配。现习惯先执行ip route save > backup_route.txt备份。
  • 策略路由复杂性:在源地址策略路由中,使用ip rule add from 10.1.1.1 lookup 100配合ip route add default via 10.1.1.254 table 100实现分流,需注意table编号与/etc/iproute2/rt_tables的映射关系。

调试技巧

  • 使用ip route get 8.8.8.8验证特定流量的路径选择
  • 通过journalctl -k --since '5 minutes ago' | grep 'RTM'捕获内核路由事件
  • 在NetworkManager环境中,需关闭接口NM管控(NM_CONTROLLED=no)避免冲突