Linux如何查看具体的系统网络路由选择记录

浅枫小哥_8614

浅枫小哥_8614

2026-08-15

518人浏览

原创

ip route get 命令触发内核fib实时查找,输出实际选路结果(含出接口、下一跳、源地址等),而非静态配置或历史日志;它不依赖缓存或策略路由快照,能准确反映特定目标ip在当前网络状态下的真实转发路径。

linux如何查看具体的系统网络路由选择记录

ip route get 能模拟内核选路过程

查“路由选择记录”不是查历史日志,而是看内核对某个目标 IP 实际会怎么走——ip route get 就是干这个的。它不读缓存,也不查策略,而是触发一次真实的 FIB(Forwarding Information Base)查找,输出结果包含出接口、下一跳、源地址、甚至是否绕过策略路由等细节。

常见错误现象:用 ip route show 看到多条匹配路由,但不确定实际走哪条;或修改了策略路由后没生效,却看不出问题在哪。

  • ip route get 8.8.8.8:最常用,确认公网 DNS 流量出口
  • ip route get 192.168.1.100 from 10.0.0.5:指定源地址,模拟特定绑定 socket 的行为
  • ip route get 172.16.0.1 oif eth1:强制限定出接口,验证该接口是否可达目标
  • 若返回 RTNETLINK answers: No such process,说明目标不可达(无匹配路由),不是命令写错

route -n 和 netstat -rn 只显示静态配置,不反映实时决策

这两个命令输出的是当前加载进内核的路由表快照,属于“配置态”,而非“运行态”。它们不会告诉你一个包发给 10.0.0.5 时到底走 eth0 还是 wlan0,尤其在多路径、策略路由或源地址选择复杂时容易误判。

使用场景有限:适合快速扫一眼默认网关或直连子网,不适合调试转发异常。

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • route -n 输出中 UG 标志 ≠ 实际生效,默认路由可能被更具体的策略覆盖
  • netstat -rn 在较新内核(≥5.10)中已不维护,部分发行版默认不安装 net-tools
  • 两者都不支持 IPv6 源地址策略(如 src 字段),而 ip route get 支持 -6 和完整策略字段

别指望 /proc/net/route 或日志里有“路由选择记录”

Linux 内核不记录每次路由查找的历史,/proc/net/route 是原始十六进制 dump,只反映主路由表内容,且不含策略、源地址、tos 等运行时参数;系统日志(/var/log/syslog 或 journald)也不会默认记录单个数据包的选路过程。

真要追踪选路逻辑,只有两条路:一是用 ip route get 多次测试不同组合,二是用 tcpdump -i any 抓包反推(看哪个接口发出、目的 MAC 是否为网关)。

  • 脚本解析 /proc/net/route 需手动转十六进制,例如网关列 0100007F → 127.0.0.1,易出错且信息残缺
  • ip route show table local 可看到本地交付规则(如广播、loopback),但它也不是“选择记录”,只是另一张表
  • 所谓“路由缓存”(route -C)在 2.6.39+ 内核已被彻底移除,现代系统查不到

多表路由下必须显式指定 table 才能查准

如果你用了 policy routing(比如按源 IP 分流),ip route show 默认只显示 table main,而真实流量可能走 table admin 或自定义表。不指定表名,就等于只看了半张地图。

容易踩的坑:明明加了 ip rule add from 192.168.2.0/24 table 200,但 ip route show 里找不到对应路由,其实是忘了 ip route show table 200。

  • 先查表编号:cat /etc/iproute2/rt_tables,确认自定义表名对应数字
  • 查指定表:ip route show table 200 或 ip route show table admin
  • 结合 get 使用:ip route get 10.10.10.10 table 200,验证该表是否真能命中
  • 注意:策略规则本身不存于路由表中,得用 ip rule show 单独看
实际调试时,最常被忽略的是源地址和出接口的隐式约束——ip route get 不带 from 或 oif 参数时,内核按默认策略选源 IP,可能和你的应用绑定的地址不一致。这点不验证,所有结论都可能偏移。

相关文章

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

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

下载

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

相关专题

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

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

2023.06.21

3950

4

如何安装LINUX
如何安装LINUX

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

2023.06.29

3393

10

linux find
linux find

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

2023.06.30

2533

5

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

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

2023.07.05

6150

7

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

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

2023.07.06

5782

7

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

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

2023.07.20

3393

8

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

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

2023.07.20

2885

4

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

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

2023.07.25

3119

6

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

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

2023.07.31

297

3

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

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

共0课时 | 0人学习