linux中查看路由表有五种方法:一、ip route命令(推荐),可显示全表、默认网关及ipv4/ipv6路由;二、route -n命令(传统工具);三、netstat -rn命令;四、读取/proc/net/route文件(需十六进制转换);五、ip route get测试特定目标路径。

如果您需要在 Linux 系统中确认当前网络数据包的转发路径或排查网络连通性问题,则需查看系统维护的路由表信息。以下是几种直接获取路由表、默认网关及具体路由记录的方法:
一、使用 ip route 命令查看路由表
该命令是现代 Linux 发行版推荐使用的网络配置工具,能清晰显示所有 IPv4 和 IPv6 路由条目,包括默认网关和直连子网。
1、打开终端,输入以下命令:
ip route show
2、若仅需查看默认网关,执行:
ip route | grep default
3、如需区分 IPv4 与 IPv6 路由,可分别运行:
ip -4 route show
ip -6 route show
4、输出中带有 via 后接 IP 地址 的条目即为默认网关;带有 dev 后接接口名(如 eth0、ens33) 的条目表示直连网络。
二、使用 route 命令查看路由表
route 是传统 net-tools 工具集中的命令,虽在部分新发行版中被标记为废弃,但仍广泛可用,输出格式更直观易读。
1、在终端中运行:
route -n
2、若提示 command not found,需先安装 net-tools:
sudo apt install net-tools (Debian/Ubuntu)
sudo yum install net-tools (CentOS/RHEL 7)
3、输出中 Destination 列为 0.0.0.0 的行对应默认网关;Gateway 列显示下一跳地址;UG 标志表示该路由为“up”且为“gateway”类型。
三、使用 netstat 命令查看路由表
netstat 可通过路由表选项列出内核路由缓存,适用于需要同时检查网络连接状态的场景。
1、执行以下命令:
netstat -rn
2、-r 表示显示路由表,-n 表示以数字形式显示地址(不解析主机名)。
3、输出格式与 route -n 类似,第一列 Destination 为 0.0.0.0 的行即默认路由;Interface 列标识出包从哪个网卡发出。
四、直接读取 /proc/net/route 文件
该文件以十六进制形式存储内核路由表原始数据,适合脚本解析或调试底层行为,但需手动转换地址。
1、查看原始内容:
cat /proc/net/route
2、其中第二列是目标网络地址(十六进制),需转换为点分十进制;第四列为网关地址(同样为十六进制)。
3、默认路由对应目标地址为 00000000,网关地址为非 00000000 的值;转换时注意字节序(小端序),例如 01000000 → 1.0.0.0,010000C0 → 192.0.0.1。
五、使用 ip route get 测试特定目标的路由路径
该方法不显示完整路由表,而是模拟内核对某目的地址的实际选路过程,可用于验证策略路由或多路径配置是否生效。
1、查询访问某个 IP 时实际使用的网关和出口设备:
ip route get 8.8.8.8
2、查询本地回环地址以确认 lo 接口路由:
ip route get 127.0.0.1
3、输出中包含 via 后的 IP 地址(即下一跳) 和 dev 后的接口名(即出接口),若无 via 字段则表示目标直连。
本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
文章版权归原作者所有,本站只做转载和学习。
声明:下载本站资源即同意用户协议,本站程序只是提供给开发者学习研究。






