非常游戏网
Linux怎么查看路由表_Linux route和ip route查看路由教程【进阶】

Linux怎么查看路由表_Linux route和ip route查看路由教程【进阶】

2026-04-06系统教程158478

必须准确获取当前内核路由表内容以排查网络问题;方法包括:ip route(推荐,支持IPv4/IPv6)、route -n(需net-tools)、netstat -rn(兼容旧场景)、读取/proc/net/route(脚本解析用)、ip route show table指定多表。

如果您在Linux系统中需要确认数据包的转发路径或排查网络连通性问题,则必须准确获取当前内核路由表的内容。以下是多种可靠且互为补充的查看方法:

一、使用 ip route 命令查看路由表

ip route 是现代 Linux 发行版默认集成的路由管理工具,属于 iproute2 套件,直接与内核 netlink 接口通信,输出结构化、支持 IPv4/IPv6 统一语法,且无需额外安装。

1、在终端中执行:ip route show,显示主路由表(table main)全部条目。

2、仅提取默认网关信息,运行:ip route | grep 'default via'

3、分别查看 IPv4 与 IPv6 路由,依次执行:ip -4 route showip -6 route show

4、查看特定目标网络的路由,例如 10.0.1.0/24,输入:ip route show 10.0.1.0/24

二、使用 route 命令查看路由表

route 命令依赖 net-tools 工具包,采用传统 SysV 风格输出,字段直观,适用于快速人工判读,但在部分精简发行版中需手动安装。

1、运行:route -n,以数字形式显示所有 IPv4 路由,避免 DNS 解析延迟。

2、若提示 command not found,根据系统类型安装 net-tools:sudo apt install net-tools(Debian/Ubuntu)或 sudo yum install net-tools(CentOS/RHEL 7)。

3、定位默认路由,执行:route -n | grep '^0\.0\.0\.0',其中 Gateway 列即为默认网关地址。

4、查看主机路由(单 IP 目标),运行:route -n | grep 'UH',UH 标志表示该条目为主机路由。

三、使用 netstat 命令查看路由表

netstat 属于 net-tools 工具集,虽已逐步被 ip 替代,但其 -r 选项仍能提供完整路由快照,适合与连接状态联合分析的运维场景。

Restorephoto

用AI修复旧的人像照片

1、执行:netstat -rn,-r 表示路由表,-n 表示禁用域名解析。

2、观察输出中 Destination 为 0.0.0.0 的行,其 Gateway 字段值即为默认网关。

3、提取纯网关地址,可组合管道:netstat -rn | grep '^0\.0\.0\.0' | awk '{print $2}'

四、直接读取 /proc/net/route 文件

/proc/net/route 是内核暴露的原始路由表接口,内容为十六进制编码,适合脚本自动化解析或底层调试,不适用于人工直接阅读。

1、查看原始数据:cat /proc/net/route

2、识别默认路由:查找第二列为 00000000 的行,其第四列(Gateway)为非零十六进制值,即默认网关。

3、转换网关地址时须注意小端序,例如十六进制 010000C0 对应点分十进制 192.0.0.1

五、查看多路由表内容

Linux 支持策略路由机制,除主表(main,编号 254)外,还可定义 local、broadcast 及用户自定义表,需显式指定表名或编号才能查询。

1、列出所有预定义路由表及其编号:cat /etc/iproute2/rt_tables

2、查看 local 表(编号 255):ip route show table local

3、查看名为 mytable 的自定义路由表(前提为已配置):ip route show table mytable