Linux查看路由表应优先使用ip route命令,其次可用route、netstat -r;多表路由需查/etc/iproute2/rt_tables并指定table;路由缓存已废弃,仅旧内核支持。

如果您需要排查Linux系统中的网络连接问题,了解当前系统的路由规则是关键步骤。以下是查看网络路由表的多种方法:
route命令是传统的路由表查看工具,依赖于内核的AF_INET协议族接口,显示IPv4路由信息。该命令输出简洁,适合快速确认默认网关和直连网络。
1、在终端中输入route并回车,显示当前IPv4路由表。
2、添加-n参数以避免DNS解析延迟,直接显示IP地址:route -n。
3、若需仅查看默认路由,执行:route | grep default或route -n | grep '^0.0.0.0'。
ip route是iproute2套件中的现代替代命令,支持IPv4与IPv6,并提供更丰富的路由属性展示,如协议类型、度量值、MSS等,是当前推荐使用的标准方式。
1、运行ip route显示当前IPv4主路由表(table main)的全部条目。
2、添加show关键字效果相同,可显式书写为:ip route show。
3、查看IPv6路由表,执行:ip -6 route。
4、仅显示默认路由,使用:ip route | grep default或ip route | grep '^default'。
Linux支持多路由表机制,除主表(main,编号254)外,还可定义自定义表(如local、broadcast及用户命名表)。通过指定表名或编号可精确查询目标表内容。
1、列出所有已配置路由表名称及其编号,查阅/etc/iproute2/rt_tables文件:cat /etc/iproute2/rt_tables。
2、查看编号为255的local表:ip route show table local或ip route show table 255。
3、查看名为mytable的自定义路由表(需已预先配置):ip route show table mytable。
早期Linux内核维护独立的路由缓存(fib6_cache),用于加速查找;自2.6.39起该缓存被移除,route -C或ip route cache在现代发行版中不再有效。此方法仅适用于内核版本低于2.6.39的遗留系统。
1、检查当前内核版本:uname -r。
2、若版本号小于2.6.39,可尝试执行:route -C查看缓存摘要。
3、若提示Command not found或cache is no longer supported,说明该功能已被禁用,应立即切换至ip route命令。
netstat虽已逐步被ss和ip替代,但其-r选项仍可输出与route兼容的格式,并附带部分统计字段,适合与历史脚本保持兼容性。
1、运行netstat -r显示IPv4路由表,风格与route一致。
2、添加-n跳过主机名解析:netstat -rn。
3、查看详细接口路由计数器(需root权限):netstat -rnv,其中Ref列为引用计数,Use列为查找次数,Use值持续增长表明该路由正被频繁匹配。
以上就是LINUX如何查看网络路由表_Linux route和ip route命令详解【网络排查】的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号