02-静态路由配置
本章节下载: 02-静态路由配置 (232.79 KB)
目 录
本文所指的路由器代表运行了路由协议的设备。
静态路由是一种特殊的路由,由管理员手工配置。配置静态路由后,去往指定目的地的数据报文将按照管理员指定的路径进行转发。
在组网结构比较简单的网络中,只需配置静态路由就可以实现网络互通。恰当地设置和使用静态路由可以改善网络的性能,并可为重要的网络应用保证带宽。
静态路由的缺点在于:不能自动适应网络拓扑结构的变化,当网络发生故障或者拓扑发生变化后,可能会出现路由不可达,导致网络中断,此时必须由网络管理员手工修改静态路由的配置。
如果到达某个指定网络的数据报文在路由器的路由表里找不到对应的表项,那么该报文将被路由器丢弃。
通过给当前路由器配置一条缺省路由,那些在路由表里找不到匹配路由表入口项的数据报文将会转发给另外一台路由器(如果这台路由器的路由能力比较强,包括到达大部分所有网络的路由信息),由另外一台路由器进行报文的转发。
缺省路由是在路由器没有找到匹配的路由表入口项时才使用的路由:
l 如果报文的目的地址不能与路由表的任何入口项相匹配,那么该报文将选取缺省路由。
l 如果没有缺省路由且报文的目的地不在路由表中,那么该报文将被丢弃。
缺省路由可以通过网络管理员在路由器上配置到网络0.0.0.0(掩码也为0.0.0.0)的静态路由,对于一个到来的数据报文,如果在当前路由器里找不到匹配的路由表项,将会把报文发给在配置的静态路由里指定的下一跳路由器。
配置静态路由时,需要了解以下内容:
(1) 目的地址与掩码
在ip route-static命令中,IPv4地址为点分十进制格式,掩码可以用点分十进制表示,也可用掩码长度(即掩码中连续‘1’的位数)表示。
(2) 出接口和下一跳地址
在配置静态路由时,可指定出接口,也可指定下一跳地址。指定出接口还是指定下一跳地址要视具体情况而定,下一跳地址不能为本地接口IP地址,否则路由不会生效。
实际上,所有的路由项都必须明确下一跳地址。在发送报文时,首先根据报文的目的地址寻找路由表中与之匹配的路由。只有指定了下一跳地址,链路层才能找到对应的链路层地址,并转发报文。
指定出接口时需要注意:
l 对于Null0接口,配置了出接口就不再配置下一跳地址。
l 在配置静态路由时,如果配置广播接口(如VLAN接口等)为出接口,则必须同时指定其对应的下一跳地址。
(3) 其它属性
对于不同的静态路由,可以为它们配置不同的优先级,从而更灵活地应用路由管理策略。例如:配置到达相同目的地的多条路由,如果指定相同优先级,则可实现负载分担,如果指定不同优先级,则可实现路由备份。
在配置静态路由之前,需完成以下任务:
l 配置相关接口的物理参数
l 配置相关接口的链路层属性
l 配置相关接口的IP地址
表1-1 配置静态路由
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由 |
ip route-static dest-address { mask | mask-length } { next-hop-address [ track track-entry-number ] | interface-type interface-number [ next-hop-address ] } [ preference preference-value ] [ permanent ] [ description description-text ] |
必选 缺省情况下,静态路由的优先级preference为60,未配置描述信息 参数permanent不能和track一起进行配置。即使在出接口down时,配置的永久静态路由仍然保持active状态 |
配置静态路由的缺省优先级 |
ip route-static default-preference default-preference-value |
可选 缺省情况下,静态路由的缺省优先级为60 |
l 在配置静态路由时,如果先指定下一跳地址,然后将该地址配置为本地接口(如VLAN接口等)的IP地址,静态路由不会生效。
l 如果在配置静态路由时没有指定优先级,就会使用缺省优先级。重新设置缺省优先级后,新设置的缺省优先级仅对新增的静态路由有效。
l 在使用ip route-static配置静态路由时,如果将目的地址与掩码配置为全零(0.0.0.0 0.0.0.0),则表示配置的是缺省路由。
l 关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为各上层协议如路由协议等统一地快速检测两台路由器间双向转发路径的故障。关于BFD的详细介绍,请参见“可靠性配置指导”中的“BFD”。
BFD需要检测两端建立会话。对于动态路由协议来说是有邻居概念的,因此在检测两端动态路由协议都会通知BFD会话邻居信息,从而检测两端的BFD任务可以通过向邻居发送BFD控制报文来建立会话。由于静态路由没有什么邻居的概念一般使用以下方法解决。
静态路由使用控制报文方式BFD功能时,对端也必须存在对应的BFD会话。检测两个方向上的链路状态,实现毫秒级别的链路故障检测。
控制报文方式支持直连下一跳和非直连下一跳。当配置出接口和下一跳时,BFD建立直连会话;当配置非直连下一跳和指定BFD源IP地址时,BFD建立非直连会话。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由运行BFD |
ip route-static dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd control-packet [ preference preference-value ] [ description description-text ] |
必选 |
表1-3 配置静态路由与BFD联动(双向检测—非直连)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由运行BFD |
ip route-static dest-address { mask | mask-length } next-hop-address bfd control-packet bfd-source ip-address [ preference preference-value ] [ description description-text ] |
必选 |
利用BFD echo报文,通过报文建立会话,echo报文的目的地址为本设备接口地址,发送给下一跳设备后会直接转发回本设备而不经过BFD任务处理。这里所说的“单跳”是IP的一跳。
表1-4 配置静态路由与BFD联动(单跳检测)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置echo报文源地址 |
配置静态路由运行BFD |
ip route-static dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd echo-packet [ preference preference-value ] [ description description-text ] |
必选 |
l 路由振荡时,使能BFD检测功能可能会加剧振荡,需谨慎使用。
l 当BFD会话工作于echo报文方式时,必须配置echo报文源地址。另外,仅在一端建立BFD会话。
l 静态路由如果出接口为含SPOOFING属性的接口,不能使用BFD进行检测。
在完成上述配置后,在任意视图下执行display命令查看静态路由配置的运行情况并检验配置结果。
在系统视图下执行delete命令可以删除配置的所有静态路由。
表1-5 静态路由显示和维护
操作 |
命令 |
查看静态路由表信息 |
display ip routing-table protocol static [ inactive | verbose ] [ | { begin | exclude | include } regular-expression ] |
删除所有静态路由 |
delete static-routes all |
命令display ip routing-table protocol static [ inactive | verbose ] [ | { begin | exclude | include } regular-expression ]的详细情况请参见“三层技术-IP路由命令参考”中的“IP路由基础”。
路由器各接口及主机的IP地址和掩码如图1-1所示。要求采用静态路由,使图中任意两台主机之间都能互通。
(1) 配置各接口的IP地址(略)
(2) 配置静态路由
# 在Switch A上配置缺省路由。
<SwitchA> system-view
[SwitchA] ip route-static 0.0.0.0 0.0.0.0 1.1.4.2
# 在Switch B上配置两条静态路由。
<SwitchB> system-view
[SwitchB] ip route-static 1.1.2.0 255.255.255.0 1.1.4.1
[SwitchB] ip route-static 1.1.3.0 255.255.255.0 1.1.5.6
# 在Switch C上配置缺省路由。
<SwitchC> system-view
[SwitchC] ip route-static 0.0.0.0 0.0.0.0 1.1.5.5
(3) 配置主机
配置Host A的缺省网关为1.1.2.3,Host B的缺省网关为1.1.6.1,Host C的缺省网关为1.1.3.1,具体配置过程略。
(4) 查看配置结果
# 显示Switch A的IP路由表。
[SwitchA] display ip routing-table
Routing Tables: Public
Destinations : 7 Routes : 7
Destination/Mask Proto Pre Cost NextHop Interface
0.0.0.0/0 Static 60 0 1.1.4.2 Vlan500
1.1.2.0/24 Direct 0 0 1.1.2.3 Vlan300
1.1.2.3/32 Direct 0 0 127.0.0.1 InLoop0
1.1.4.0/30 Direct 0 0 1.1.4.1 Vlan500
1.1.4.1/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
# 显示Switch B的IP路由表。
[SwitchB] display ip routing-table
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost NextHop Interface
1.1.2.0/24 Static 60 0 1.1.4.1 Vlan500
1.1.3.0/24 Static 60 0 1.1.5.6 Vlan600
1.1.4.0/30 Direct 0 0 1.1.4.2 Vlan500
1.1.4.2/32 Direct 0 0 127.0.0.1 InLoop0
1.1.5.4/30 Direct 0 0 1.1.5.5 Vlan600
1.1.5.5/32 Direct 0 0 127.0.0.1 InLoop0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoop0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoop0
1.1.6.0/24 Direct 0 0 1.1.6.1 Vlan100
1.1.6.1/32 Direct 0 0 127.0.0.1 InLoop0
# 在Host B上使用ping命令验证Host A是否可达(假定主机安装的操作系统为Windows XP)。
C:\Documents and Settings\Administrator>ping 1.1.2.2
Pinging 1.1.2.2 with 32 bytes of data:
Reply from 1.1.2.2: bytes=32 time=1ms TTL=255
Reply from 1.1.2.2: bytes=32 time=1ms TTL=255
Reply from 1.1.2.2: bytes=32 time=1ms TTL=255
Reply from 1.1.2.2: bytes=32 time=1ms TTL=255
Ping statistics for 1.1.2.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
# 在Host B上使用tracert命令验证Host A是否可达。
C:\Documents and Settings\Administrator>tracert 1.1.2.2
Tracing route to 1.1.2.2 over a maximum of 30 hops
1 <1 ms <1 ms <1 ms 1.1.6.1
2 <1 ms <1 ms <1 ms 1.1.4.1
3 1 ms <1 ms <1 ms 1.1.2.2
Trace complete.
l 在Switch A上配置静态路由可以到达120.1.1.0/24网段路由,在Switch B上配置静态路由可以到达121.1.1.0/24网段路由,并都使能BFD检测功能。
l 在Switch C上配置静态路由可以到达120.1.1.0/24网段和121.1.1.0/24网段。
l 当Switch A和Switch B通过L2 Switch通信的链路出现故障时BFD能够快速感知,并且切换到Switch C进行通信。
图1-2 静态路由与BFD联动(直连)配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Vlan-int10 |
12.1.1.1/24 |
Switch B |
Vlan-int10 |
12.1.1.2/24 |
|
Vlan-int11 |
10.1.1.102/24 |
|
Vlan-int13 |
13.1.1.1/24 |
Switch C |
Vlan-int11 |
10.1.1.100/24 |
|
|
|
|
Vlan-int13 |
13.1.1.2/24 |
|
|
|
(1) 配置各接口的IP地址(略)
(2) 配置BFD
# 在Switch A上配置静态路由,并使能BFD检测功能,通过BFD控制报文方式实现BFD功能。
<SwitchA> system-view
[SwitchA] interface vlan-interface 10
[SwitchA-vlan-interface10] bfd min-transmit-interval 500
[SwitchA-vlan-interface10] bfd min-receive-interval 500
[SwitchA-vlan-interface10] bfd detect-multiplier 9
[SwitchA-vlan-interface10] quit
[SwitchA] ip route-static 120.1.1.0 24 vlan-interface 10 12.1.1.2 bfd control-packet
[SwitchA] ip route-static 120.1.1.0 24 vlan-interface 11 10.1.1.100 preference 65
[SwitchA] quit
# 在Switch B上配置静态路由,并使能BFD检测功能,通过BFD控制报文方式实现BFD功能。
<SwitchB> system-view
[SwitchB] interface vlan-interface 10
[SwitchB-vlan-interface10] bfd min-transmit-interval 500
[SwitchB-vlan-interface10] bfd min-receive-interval 500
[SwitchB-vlan-interface10] bfd detect-multiplier 9
[SwitchB-vlan-interface10] quit
[SwitchB] ip route-static 121.1.1.0 24 vlan-interface 10 12.1.1.1 bfd control-packet
[SwitchB] ip route-static 121.1.1.0 24 vlan-interface 13 13.1.1.2 preference 65
[SwitchB] quit
# 在Switch C上配置静态路由。
<SwitchC> system-view
[SwitchC] ip route-static 120.1.1.0 24 vlan-interface 13 13.1.1.1
[SwitchC] ip route-static 121.1.1.0 24 vlan-interface 11 10.1.1.102
(3) 检查配置结果
下面以Switch A为例,Switch B和Switch A类似,不再赘述。
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
4/7 12.1.1.1 12.1.1.2 Up 2000ms Vlan10
# 在Switch A上查看静态路由。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 2
Static Routing table Status : < Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 60 0 12.1.1.2 Vlan10
Direct Routing table Status : <Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 65 0 10.1.1.100 Vlan11
# 在Switch A上打开BFD功能调试信息开关。
<SwitchA> debugging bfd event
<SwitchA> debugging bfd scm
<SwitchA> terminal debugging
# Switch A和二层交换机之间链路发生故障时,可以看到Switch A能够快速感知Switch B的变化。
%Jul 27 10:18:18:672 2007 SwitchA BFD/4/LOG:Sess[12.1.1.1/12.1.1.2, Vlan10,Ctrl], Sta: UP->DOWN, Diag: 1
*Jul 27 10:18:18:672 2007 SwitchA BFD/7/EVENT:Send sess-down Msg, [Src:12.1.1.1,Dst:12.1.1.2, Vlan10,Ctrl], instance:0, protocol:STATIC
*Jul 27 10:18:19:172 2007 SwitchA BFD/7/EVENT:Receive Delete-sess, [Src:12.1.1.1,Dst:12.1.1.2, Vlan10,Ctrl], Direct, Instance:0x0, Proto:STATIC
*Jul 27 10:18:19:172 2007 SwitchA BFD/7/EVENT:Notify driver to stop receiving bfd control packet
# 通过display ip routing-table protocol static命令查看路表信息。Switch A选择经过Switch C的静态路由到达Switch B。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 2
Static Routing table Status : < Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 65 0 10.1.1.100 Vlan11
Static Routing table Status : < Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 60 0 12.1.1.2 Vlan10
l 在Switch A上配置静态路由可以到达120.1.1.0/24网段路由,在Switch B上配置静态路由可以到达121.1.1.0/24网段路由,并都使能BFD检测功能。
l 在Switch C和Switch D上配置静态路由可以到达120.1.1.0/24网段和121.1.1.0/24网段。
l Switch A存在到Switch B的接口Loopback1(2.2.2.9/32)的路由,出接口为Vlan-interface10;Switch B存在到Switch A的接口Loopback1(1.1.1.9/32)的路由,出接口为Vlan-interface12;Switch D存在到1.1.1.9/32的路由,出接口为Vlan-interface10,存在到2.2.2.9/32的路由,出接口为Vlan-interface12。
l 当Switch A和Switch B通过Switch D通信的链路出现故障时BFD能够快速感知,并且切换到Switch C进行通信。
图1-3 静态路由与BFD联动(非直连)配置组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Switch A |
Vlan-int10 |
12.1.1.1/24 |
Switch B |
Vlan-int12 |
11.1.1.1/24 |
|
Vlan-int11 |
10.1.1.102/24 |
|
Vlan-int13 |
13.1.1.1/24 |
|
Loop1 |
1.1.1.9/32 |
|
Loop1 |
2.2.2.9/32 |
Switch C |
Vlan-int11 |
10.1.1.100/24 |
Switch D |
Vlan-int10 |
12.1.1.2/24 |
|
Vlan-int13 |
13.1.1.2/24 |
|
Vlan-int12 |
11.1.1.2/24 |
(1) 配置各接口的IP地址(略)
(2) 配置BFD
# 在Switch A上配置静态路由,并使能BFD检测功能,通过BFD控制报文方式实现BFD功能。
<SwitchA> system-view
[SwitchA] interface loopback 1
[SwitchA-LoopBack1] bfd min-transmit-interval 500
[SwitchA-LoopBack1] bfd min-receive-interval 500
[SwitchA-LoopBack1] bfd detect-multiplier 9
[SwitchA-LoopBack1] quit
[SwitchA] ip route-static 120.1.1.0 24 2.2.2.9 bfd control-packet bfd-source 1.1.1.9
[SwitchA] ip route-static 120.1.1.0 24 vlan-interface 11 10.1.1.100 preference 65
[SwitchA] quit
# 在Switch B上配置静态路由,并使能BFD检测功能,通过BFD控制报文方式实现BFD功能。
<SwitchB> system-view
[SwitchB] interface loopback 1
[SwitchB-LoopBack1] bfd min-transmit-interval 500
[SwitchB-LoopBack1] bfd min-receive-interval 500
[SwitchB-LoopBack1] bfd detect-multiplier 9
[SwitchB-LoopBack1] quit
[SwitchB] ip route-static 121.1.1.0 24 1.1.1.9 bfd control-packet bfd-source 2.2.2.9
[SwitchB] ip route-static 121.1.1.0 24 vlan-interface 13 13.1.1.2 preference 65
[SwitchB] quit
# 在Switch C上配置静态路由。
<SwitchC> system-view
[SwitchC] ip route-static 120.1.1.0 24 vlan-interface 13 13.1.1.1
[SwitchC] ip route-static 121.1.1.0 24 vlan-interface 11 10.1.1.102
# 在Switch D上配置静态路由。
<SwitchD> system-view
[SwitchD] ip route-static 120.1.1.0 24 vlan-interface 12 11.1.1.1
[SwitchD] ip route-static 121.1.1.0 24 vlan-interface 10 12.1.1.1
(3) 检查配置结果
下面以Switch A为例,Switch B和Switch A类似,不再赘述。
<SwitchA> display bfd session
Total Session Num: 1 Init Mode: Active
Session Working Under Ctrl Mode:
LD/RD SourceAddr DestAddr State Holdtime Interface
4/7 1.1.1.9 2.2.2.9 Up 2000ms Loop1
# 在Switch A上查看静态路由。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 2
Static Routing table Status : < Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 60 0 2.2.2.9 Vlan10
Static Routing table Status : <Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 65 0 10.1.1.100 Vlan11
# 在Switch A上打开BFD功能调试信息开关。
<SwitchA> debugging bfd event
<SwitchA> debugging bfd scm
<SwitchA> terminal debugging
# Switch A和Switch D之间链路发生故障时,可以看到Switch A能够快速感知Switch B的变化。
%Oct 10 10:18:18:672 2010 SwitchA BFD/4/LOG:Sess[1.1.1.9/2.2.2.9, Loop1,Ctrl], Sta: UP->DOWN, Diag: 1
* Oct 10 10:18:18:672 2010 SwitchA BFD/7/EVENT:Send sess-down Msg, [Src:1.1.1.9,Dst:2.2.2.9, Loop1,Ctrl], instance:0, protocol:STATIC
# 通过display ip routing-table protocol static命令查看路表信息。Switch A选择经过Switch C的静态路由到达Switch B。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 2
Static Routing table Status : < Active>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 65 0 10.1.1.100 Vlan11
Static Routing table Status : < Inactive>
Summary Count : 1
Destination/Mask Proto Pre Cost NextHop Interface
120.1.1.0/24 Static 60 0 2.2.2.9
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!