在计算机网络管理与维护中,显示路由信息的命令是排查网络连通性、分析路由路径、优化网络配置的核心工具,不同操作系统(如Windows、Linux、macOS)和不同网络设备(如路由器、交换机)提供的路由命令存在差异,但核心功能均围绕路由表的查看、分析和诊断展开,以下将详细解析主流系统及设备中常用的显示路由命令,涵盖其语法、参数、输出解读及实际应用场景。

Windows系统下的路由命令
Windows系统主要通过route print命令查看本地路由表,该命令无需安装额外工具,适用于大多数Windows环境(如Windows 10/Server 2019等)。
基本语法与参数
route print [-4 | -6] [interface]
-4:仅显示IPv4路由表(默认)。-6:仅显示IPv6路由表。interface:指定网络接口的IP地址或索引,仅显示该接口的路由信息。
输出表结构及解读
执行route print后,输出分为三个主要部分:网络接口、IPv4路由表、IPv6路由表,以IPv4路由表为例,关键列包括:
| 列名 | 说明 | 示例值 |
|---|---|---|
| 网络目标 | 目标网络地址或主机地址,0.0.0表示默认路由 |
168.1.0 |
| 子网掩码 | 与网络目标配合使用,定义目标地址的范围 | 255.255.0 |
| 网关 | 数据包转发到的下一跳地址 | 168.1.1 |
| 接口 | 发送数据包的本地网络接口IP地址 | 168.1.100 |
| 跃点数 | 路由的成本值,越小越优先,通常与接口类型、速度相关 | 28 |
| 协议 | 路由来源:1(静态)、2(IGMP)、3(NETBIOS)、4(内部)、5(DHCP) |
3 |
示例解读:
- 默认路由(
0.0.00.0.0)指向网关168.1.1,跃点数28,表示所有未知目标流量均通过此网关转发。 - 直连路由(如
168.1.0255.255.0)的网关和接口均为本地地址,表示直接连接的网络。
应用场景
- 排查网络不通:若目标IP无法访问,检查路由表中是否存在对应目标的路由,或默认路由是否正确配置。
- 优化路径选择:通过修改跃点数(如
route change命令)调整多网卡环境下的流量优先级。
Linux/macOS系统下的路由命令
Linux和macOS系统使用ip route或netstat -rn命令查看路由表,其中ip route是现代Linux系统的推荐工具,功能更丰富。

ip route命令
ip route [show] [dev <interface>] [proto <protocol>]
dev <interface>:过滤指定接口的路由。proto <protocol>:按协议过滤(如kernel、static、dhcp)。
输出格式及解读
输出以“目标 via 网关 dev 接口”或“目标 dev 接口”的形式呈现,
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
default:默认路由,相当于Windows的0.0.0。/24:子网掩码的CIDR表示法,等同于255.255.0。scope link:直连路由,无需网关。metric:跃点数,数值越小优先级越高。
netstat -rn命令
传统工具,输出与ip route类似,但格式更简洁:
Destination Gateway Genmask Flags MSS Window Iface 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 eth0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 eth0
Flags:U(路由可用)、G(通过网关)、H(主机路由)。
应用场景
- 配置静态路由:通过
ip route add <目标> via <网关> dev <接口>添加临时路由,或写入/etc/network/interfaces(Debian)或/etc/sysconfig/network-scripts/(RHEL)实现持久化。 - 监控路由变化:结合
watch -n 1 ip route实时观察路由表动态更新(如DHCP获取新路由时)。
网络设备(如Cisco路由器)的路由命令
在网络设备中,show ip route是查看路由表的核心命令,其输出包含更详细的协议信息和路由标记。
基本语法
show ip route [protocol] [network]
protocol:按协议过滤(如static、ospf、bgp)。network:查看特定目标网络的详细路由。
输出标记及含义
路由条目前缀标记代表不同来源:

S:静态路由(Static)。O:OSPF路由(Open Shortest Path First)。B:BGP路由(Border Gateway Protocol)。C:直连路由(Connected)。D:EIGRP路由(Enhanced Interior Gateway Routing Protocol)。
示例输出:
S* 0.0.0.0/0 [1/0] via 203.0.113.1
C 192.168.1.0/24 is directly connected, GigabitEthernet0/0
O 10.0.0.0/24 [110/2] via 192.168.1.2, 00:00:05, GigabitEthernet0/0
[1/0]:管理距离(1)和度量值(0),管理距离越小,路由可信度越高。via:下一跳地址。
应用场景
- 验证路由协议学习:检查OSPF、BGP等动态路由协议是否正确学习到目标网络。
- 调试路由黑洞:若某网络显示
is possibly down,需检查接口状态或邻居路由器配置。
高级路由诊断命令
除基础显示命令外,结合其他工具可深入分析路由问题:
- Windows:
tracert -d <目标IP>跟踪路径,结合route print定位路由失效节点。 - Linux:
traceroute -n <目标IP>或mtr <目标IP>实时监控路径延迟和丢包。 - 网络设备:
show ip protocols查看运行的路由协议配置,debug ip routing实时监控路由更新(需谨慎使用)。
相关问答FAQs
Q1: 为什么route print中存在多个默认路由,且跃点数不同?
A: 多个默认路由通常由多网卡环境导致,系统根据跃点数选择最优路径(如有线网卡跃点数低于无线),可通过route change命令修改跃点数,或禁用不需要的接口避免冲突。
Q2: Linux下如何区分静态路由和动态路由添加的路由?
A: 通过ip route show proto <protocol>过滤:静态路由标记为proto static,动态路由(如OSPF)标记为proto ospf,DHCP获取的路由标记为proto dhcp,例如ip route show proto static仅显示静态配置的路由。
