菜鸟科技网

路由表命令有哪些?如何查看?

查看路由器路由表的命令是网络管理和故障排查中非常基础且重要的操作,路由表记录了数据包转发路径的选择规则,直接决定了网络通信的效率与准确性,不同操作系统(如Cisco IOS、华为VRP、Linux、Windows等)和路由器厂商的命令行界面(CLI)存在差异,但核心逻辑相通,以下将详细解析主流平台下查看路由表的方法、命令参数及输出解读,并结合实际场景说明其应用价值。

路由表命令有哪些?如何查看?-图1
(图片来源网络,侵删)

Cisco设备(IOS/IOS XE/NX-OS)查看路由表命令

在Cisco路由器或交换机上,最常用的查看路由表命令是show ip route,其基础语法为:

show ip route [protocol] [network] [options]
  • protocol:可选参数,指定路由协议类型,如static(静态路由)、ospf(OSPF)、bgp(BGP)、connected(直连路由)等,用于过滤特定协议的路由条目。
  • network:可选参数,指定目标网络地址,如168.1.0,用于查看特定网段的路由信息。
  • options:可选参数,如detail(显示详细信息)、summary(显示摘要)、neighbors(显示邻居路由器信息)等。

示例输出及解读

执行show ip route后,输出通常包含以下字段:

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - ISIS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - ISIS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP
       + - next hop override, gh - gateway host
Gateway of last resort is 10.1.1.1 to network 0.0.0.0
     10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C       10.1.1.0/24 is directly connected, GigabitEthernet0/0
S       10.2.2.0/24 [1/0] via 10.1.1.2
O       192.168.1.0/24 [110/2] via 10.1.1.3, 00:15:30, GigabitEthernet0/0
B       203.0.113.0/24 [20/0] via 200.1.1.1, 00:30:45
  • 路由代码:如C(直连路由)、S(静态路由)、O(OSPF路由),标识路由来源。
  • 网络地址与掩码:如168.1.0/24,表示目标网段。
  • 管理距离(AD)与度量值(Metric)[110/2]中,110是管理距离(决定路由优先级),2是度量值(路径选择成本,OSPF中通常为成本值)。
  • 下一跳(Next Hop)via 10.1.1.3表示数据包需转发至该IP地址。
  • 出接口GigabitEthernet0/0表示数据包从该接口发出。
  • 路由时效00:15:30表示该路由条目已存在15分30秒(OSPF/BGP等动态协议会显示)。

扩展命令

  • 查看IPv6路由表:show ipv6 route
  • 查看特定协议路由:show ip route ospf
  • 查看路由详细信息:show ip route static detail

华为设备(VRP)查看路由表命令

华为路由器使用display ip routing-table命令,语法与Cisco类似,但参数和输出格式存在差异:

display ip routing-table [protocol] [vpn-instance vpn-name] [acl number] [verbose]
  • protocol:指定路由协议,如staticospfbgp
  • vpn-instance vpn-name:查看指定VPN实例的路由(MPLS VPN场景)。
  • acl number:通过ACL过滤显示的路由条目。
  • verbose:显示详细的路由信息,包括标签、下一跳接口等。

示例输出及解读

Route Flags: R - relay, D - download to fib
------------------------------------------------------------------
Routing Table: Public
         Destinations : 8        Routes : 8
Destination/Mask    Proto   Pre  Cost      NextHop         Interface
        0.0.0.0/0   Static  60   0         10.1.1.1        GigabitEthernet0/0/0
     10.1.1.0/24   Direct  0    0         10.1.1.1        GigabitEthernet0/0/0
     10.2.2.0/24   Static  60   0         10.1.1.2        GigabitEthernet0/0/0
   192.168.1.0/24   OSPF   10   2         10.1.1.3        GigabitEthernet0/0/0
   203.0.113.0/24   BGP     255  0         200.1.1.1       GigabitEthernet0/0/1
  • 路由标志(Route Flags):如R(中继路由)、D(已下载到转发平面)。
  • 目标网络/掩码Destination/Mask列明确标识目标网段。
  • 协议(Proto)与优先级(Pre)Pre(Precedence)即管理距离,数值越小优先级越高。
  • 成本(Cost):路径选择成本,华为设备中OSPF默认参考带宽。
  • 下一跳(NextHop)与出接口(Interface):与Cisco类似,但华为的出接口列更明确。

扩展命令

  • 查看IPv6路由表:display ipv6 routing-table
  • 查看路由统计信息:display ip routing-table statistics

Linux系统查看路由表命令

在Linux服务器或主机中,查看路由表主要使用ip routeroute命令(route为传统命令,ip route为推荐用法)。

路由表命令有哪些?如何查看?-图2
(图片来源网络,侵删)

ip route命令

ip route [show] [prefix] [via nexthop] [dev ifname] [table tableid]
  • prefix:目标网络地址,如168.1.0/24
  • via nexthop:指定下一跳IP。
  • dev ifname:指定出接口。
  • table tableid:查看指定路由表(如maindefault)。

示例输出及解读

default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.2
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
192.168.1.0/24 via 192.168.1.254 dev eth0 proto static metric 102
  • default:默认路由,目标为0.0.0/0,下一跳为168.1.1
  • dev:出接口,如eth0
  • proto:路由协议,如dhcp(DHCP获取)、kernel(直连路由)、static(静态配置)。
  • metric:度量值,数值越小越优先。

route -n命令(显示数字形式)

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0      eth0
10.0.0.0        0.0.0.0         255.0.0.0       U         0 0      eth0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0      eth0
  • FlagsU(路由可用)、G(网关路由)、(主机路由)等。

Windows系统查看路由表命令

Windows系统使用route printnetstat -rn命令查看路由表,其中route print更常用。

route print命令示例

===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface      Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.100       20
        10.0.0.0        255.0.0.0         On-link         10.0.0.2        286
      192.168.1.0    255.255.255.0         On-link      192.168.1.100       286
      192.168.1.255  255.255.255.255         On-link      192.168.1.100       286
===========================================================================
  • Network Destination:目标网络地址。
  • Netmask:子网掩码。
  • Gateway:下一跳IP,On-link表示直连路由。
  • Interface:出接口IP地址。
  • Metric:度量值,越小越优先。

路由表应用场景与故障排查

查看路由表是网络故障排查的核心步骤,常见应用包括:

  1. 连通性故障:当目标网络不可达时,检查路由表中是否存在对应条目,以及下一跳是否正确。
  2. 路由环路检测:通过观察路由条目中的下一跳是否指向自身,判断是否存在环路。
  3. 路径优化:比较不同路由协议的度量值,确保数据包选择最优路径(如低延迟链路)。
  4. 安全策略验证:检查静态路由或默认路由配置是否符合安全策略,避免非法路由泄露。

相关问答FAQs

Q1: 为什么路由表中存在多个目标网络相同的路由条目?
A: 当网络中配置了多个路由协议(如OSPF和BGP)或静态路由时,可能出现相同目标网段的多条路由,此时设备会根据管理距离(AD)选择优先级最高的路由(AD越小越优先),若AD相同,则比较度量值(Metric),Metric小的路由胜出,若两者均相同,可能实现负载均衡(如Cisco的maximum-paths命令)。

Q2: 如何判断路由表中的路由是否为有效路由?
A: 判断路由有效性需结合以下三点:

路由表命令有哪些?如何查看?-图3
(图片来源网络,侵删)
  1. 路由来源合法性:确保路由由可信协议生成(如OSPF、BGP),避免因错误配置引入恶意路由。
  2. 下一跳可达性:检查下一跳IP地址是否可达(可通过pingtraceroute验证),若下一跳不可达,路由条目可能失效。
  3. 出接口状态:确认出接口处于up状态,若接口被shutdown,相关直连路由会自动消失,动态路由也可能被撤销。

通过以上命令和方法的综合运用,可以全面掌握路由器的路由表状态,为网络运维和故障排查提供有力支持。

分享:
扫描分享到社交APP
上一篇
下一篇