上一篇                     
               
			  Linux如何看路由表?
- Linux
 - 2025-06-08
 - 3214
 
 在 Linux 中使用 
 
 
route -n 命令可查看路由表(以数字格式显示 IP 和网关,避免 DNS 解析),更现代的方法是使用 
 ip route show 命令查看。
 使用 ip route 命令(推荐)
 
命令示例:
ip route show
输出示例:
default via 192.168.1.1 dev eth0 proto static 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 10.0.0.0/8 via 192.168.1.2 dev eth0 metric 100
解析:
default:默认路由(缺省网关),表示所有非本地网络的数据包通过网关168.1.1从网卡eth0发出。168.1.0/24:本地网络路由,目标地址在此网段的数据包直接通过eth0发送。0.0.0/8:静态路由,目标网段0.0.0/8的数据包通过168.1.2转发。
优势:- 来自 
iproute2工具包(现代Linux默认预装),功能全面且高效。 - 支持IPv4/IPv6双栈,是取代传统命令的推荐方案。
 
 使用 route 命令(传统方案)
 
命令示例:
route -n # -n 参数禁用DNS解析(提升速度)
输出示例:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.0.0.0 192.168.1.2 255.0.0.0 UG 100 0 0 eth0
字段解析:
- Destination:目标网络(
0.0.0表示默认路由)。 - Gateway:网关地址(
0.0.0表示直连网络)。 - Flags:路由标志(
U=活跃路由,G=网关路由)。
注意: - 需安装 
net-tools包(部分新系统可能未预装)。 - 适合快速检查,但功能不如 
ip route强大️。 
 通过 /proc 文件系统查看
 
命令示例:
cat /proc/net/route
输出特点:
以十六进制显示路由表(适合脚本解析): 

Iface Destination Gateway Flags RefCnt Use Metric Mask eth0 00000000 0101A8C0 0003 0 0 0 00000000 eth0 0000A8C0 00000000 0001 0 0 0 00FFFFFF
应用场景:
- 开发调试或自动化脚本处理原始路由数据。
 - 普通用户建议优先使用 
ip route(可读性更佳)。 
 使用 netstat(备用方案)
 
命令示例:
netstat -rn # -r 显示路由表,-n 禁用DNS解析
输出格式与 route -n 类似,属于传统工具,逐渐被 ip 命令取代。 

总结与最佳实践
| 场景 | 推荐命令 | 说明 | 
|---|---|---|
| 日常查看路由表 | ip route show |  
   信息全面,默认预装 | 
| 兼容旧系统或脚本 | route -n |  
   需安装 net-tools |  
  
| 调试或底层数据处理 | cat /proc/net/route |  
   原始数据,不易读 | 
专业建议:
- 优先选择 
ip route:作为Linux基金会推荐的标准工具,它持续更新并支持所有新特性。 - 理解关键路由条目:重点关注 
default(网关)和本地网络路由,它们是连通性的基础。 - 权限问题:普通用户可查看路由表,但修改需 
sudo权限。 
引用说明:
- 基于 Linux内核文档 和 iproute2官方手册(2025版),遵循RFC标准网络协议。
 - 验证环境:Ubuntu 22.04/CentOS 9,内核版本5.15+。
 - 权威参考:
 
Linux Advanced Routing & Traffic Control
iproute2 Wiki
通过以上方法,您可以精准掌握Linux系统的网络路径规划,快速诊断连接问题,建议收藏本指南以备日常运维使用!
			
			
			
			
			
			
			
			