02-静态路由配置
本章节下载: 02-静态路由配置 (313.4 KB)
目 录
静态路由是一种特殊的路由,由管理员手工配置。当网络结构比较简单时,只需配置静态路由就可以使网络正常工作。
静态路由不能自动适应网络拓扑结构的变化。当网络发生故障或者拓扑发生变化后,必须由网络管理员手工修改配置。
在配置静态路由之前,需完成以下任务:
· 配置相关接口的物理参数
· 配置相关接口的链路层属性
· 配置相关接口的IP地址
系统支持静态路由多实例,可以指定静态路由所属的VPN。如果未指定VPN,则表示静态路由位于公网中。VPN的相关内容请参见“MPLS配置指导”中的“MPLS L3VPN”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由 |
ip route-static dest-address { mask | mask-length } { next-hop-address [ track track-entry-number ] | interface-type interface-number [ next-hop-address ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ preference preference-value ] [ tag tag-value ] [ permanent ] [ description description-text ] |
二者必选其一 缺省情况下,没有配置静态路由 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } { next-hop-address [ public ] [ track track-entry-number ] | interface-type interface-number [ next-hop-address ] | vpn-instance d-vpn-instance-name next-hop-address [ track track-entry-number ] } [ preference preference-value ] [ tag tag-value ] [ permanent ] [ description description-text ] |
||
配置静态路由的缺省优先级 |
ip route-static default-preference default-preference-value |
可选 缺省情况下,静态路由的缺省优先级为60 |
删除所有静态路由 |
delete [ vpn-instance vpn-instance-name ] static-routes all |
可选 |
· 如果静态路由中指定的下一跳地址被配置为本地接口的IP地址,那么静态路由不会生效。
· 通过在Track模块和静态路由之间建立联动,可以实现实时监测下一跳的可达性,以便及时判断静态路由是否有效。关于Track的详细介绍,请参见“可靠性配置指导”中的“Track”。
· 使用undo ip route-static命令可以删除一条静态路由,而使用delete static-routes all命令可以删除包括缺省路由在内的所有静态路由。
BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关、协议无关的快速故障检测机制,可以为上层协议(如路由协议、MPLS等)统一地快速检测两台路由器间双向转发路径的故障。
关于BFD的详细介绍,请参见“可靠性配置指导”中的“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 ] [ tag tag-value ] [ description description-text ] |
二者必选其一 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd control-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
非直连下一跳是指下一跳和本端不是直连的,中间还有其它设备。配置时必须指定下一跳和BFD源IP地址。
表1-3 配置静态路由与BFD联动(双向检测—非直连)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置静态路由与BFD联动 |
ip route-static dest-address { mask | mask-length } { next-hop-address bfd control-packet bfd-source ip-address | vpn-instance d-vpn-instance-name next-hop-address bfd control-packet bfd-source ip-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
二者必选其一 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } { next-hop-address bfd control-packet bfd-source ip-address | vpn-instance d-vpn-instance-name next-hop-address bfd control-packet bfd-source ip-address } [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
单跳检测,即只需要本端进行配置,通过echo报文检测链路的状态。echo报文的目的地址为本端接口地址,发送给下一跳设备后会直接转发回本端。这里所说的“单跳”是IP的一跳。
表1-4 配置静态路由与BFD联动(单跳检测)
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置echo报文源地址 本命令的详细情况请参见“可靠性命令参考”中的“BFD” |
配置静态路由与BFD联动 |
ip route-static dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd echo-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
二者必选其一 |
ip route-static vpn-instance s-vpn-instance-name&<1-6> dest-address { mask | mask-length } interface-type interface-number next-hop-address bfd echo-packet [ preference preference-value ] [ tag tag-value ] [ description description-text ] |
· 路由振荡时,使能BFD功能可能会加剧振荡,请谨慎使用。
· 静态路由的出接口为处于SPOOFING状态时,不能使用BFD进行检测。
当网络中的链路或某台路由器发生故障时,需要通过故障链路或故障路由器传输才能到达目的地的报文将会丢失或产生路由环路,数据流量将会被中断。
为了尽可能避免网络故障导致的流量中断,网络管理员可以根据需要配置静态路由快速重路由功能。
如图1-1所示,通过配置快速重路由功能,网络管理员可以为路由指定备份下一跳,当路由器通过BFD检测到网络故障时,路由器会使用事先配置好的备份下一跳替换失效下一跳,通过备份下一跳来指导报文的转发,从而避免了流量中断。
需要先配置路由策略,通过apply fast-reroute backup-interface命令在路由策略中指定备份下一跳。关于apply fast-reroute backup-interface命令以及路由策略的相关配置,请参见“三层技术-IP路由配置指导”中的“路由策略”。
表1-5 配置静态路由快速重路由功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置BFD echo报文源地址 |
bfd echo-source-ip ip-address |
必选 缺省情况下,没有配置BFD echo报文源地址 本命令的详细情况请参见“可靠性命令参考”中的“BFD” |
配置静态路由支持快速重路由功能 |
ip route-static [ vpn-instance vpn-instance-name ] fast-reroute route-policy route-policy-name |
必选 缺省情况下,没有配置静态路由支持快速重路由功能 |
· 静态路由支持快速重路由功能仅对在配置中同时指定了出接口和下一跳的静态路由有效。
· 静态路由快速重路由功能不能与静态路由BFD功能同时使用。
在完成上述配置后,在任意视图下执行display命令查看静态路由配置的运行情况并检验配置结果。
表1-6 静态路由显示和维护
操作 |
命令 |
查看静态路由表信息 |
display ip routing-table protocol static [ inactive | verbose ] [ | { begin | exclude | include } regular-expression ] |
本命令的详细情况请参见“三层技术-IP路由命令参考”中的“IP路由基础”。
交换机各接口及主机的IP地址和掩码如图1-2所示。要求采用静态路由,使图中任意两台主机之间都能互通。
(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.0/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=126
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
Reply from 1.1.2.2: bytes=32 time=1ms TTL=126
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.
· 在Switch A上配置静态路由可以到达120.1.1.0/24网段,在Switch B上配置静态路由可以到达121.1.1.0/24网段,并都使能BFD检测功能。
· 在Switch C上配置静态路由可以到达120.1.1.0/24网段和121.1.1.0/24网段。
· 当Switch A和Switch B通过L2 Switch通信的链路出现故障时,BFD能够快速感知,并且切换到Switch C进行通信。
图1-3 静态路由与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检测功能,使用双向检测方式。
<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检测功能,使用双向检测方式。
<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类似,不再赘述。
# 查看BFD会话,可以看到BFD会话已经创建。
<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经过L2 Switch到达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 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和二层交换机之间链路发生故障时, Switch A能够快速感知Switch B的变化。
# 查看静态路由,可以看到Switch A经过Switch C到达Switch B。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 1
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 : 0
· 在Switch A上配置静态路由可以到达120.1.1.0/24网段,在Switch B上配置静态路由可以到达121.1.1.0/24网段,并都使能BFD检测功能。
· 在Switch C和Switch D上配置静态路由可以到达120.1.1.0/24网段和121.1.1.0/24网段。
· 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。
· 当Switch A和Switch B通过Switch D通信的链路出现故障时,BFD能够快速感知,并且切换到Switch C进行通信。
图1-4 静态路由与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检测功能,使用双向检测方式。
<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检测功能,使用双向检测方式。
<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类似,不再赘述。
# 查看BFD会话,可以看到BFD会话已经创建。
<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经过Switch D到达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 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和Switch D之间链路发生故障时, Switch A能够快速感知Switch B的变化。
# 查看静态路由,可以看到Switch A经过Switch C到达Switch B。
<SwitchA> display ip routing-table protocol static
Public Routing Table : Static
Summary Count : 1
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 : 0
如图1-5所示,Switch S、Switch A和Switch D通过静态路由实现网络互连。要求当Switch S和Switch D之间的链路A出现故障时,业务可以快速切换到链路B上。
(1) 配置各接口的IP地址(略)
(2) 配置静态路由
在Switch S、Switch A和Switch D上配置静态路由使报文可以通过Switch S到达Switch D的Loopback0口,通过Switch D到达Switch S的Loopback0口。
# 在Switch S上配置静态路由。
<SwitchS> system-view
[SwitchS] ip route-static 4.4.4.4 32 vlan-interface 200 13.13.13.2
[SwitchS] ip route-static 4.4.4.4 32 vlan-interface 100 12.12.12.2 preference 65
# 在Switch D上配置静态路由。
<SwitchD> system-view
[SwitchD] ip route-static 1.1.1.1 32 vlan-interface 200 13.13.13.1
[SwitchD] ip route-static 1.1.1.1 32 vlan-interface 101 24.24.24.2 preference 65
# 在Switch A上配置静态路由。
<SwitchA> system-view
[SwitchA] ip route-static 4.4.4.4 32 vlan-interface 101 24.24.24.4
[SwitchA] ip route-static 1.1.1.1 32 vlan-interface 100 12.12.12.1
(3) 配置静态路由快速重路由
# 配置Switch S。为通过路由策略frr的静态路由指定备份下一跳信息。
[SwitchS] bfd echo-source-ip 1.1.1.1
[SwitchS] ip ip-prefix abc index 10 permit 4.4.4.4 32
[SwitchS] route-policy frr permit node 10
[SwitchS-route-policy] if-match ip-prefix abc
[SwitchS-route-policy] apply fast-reroute backup-interface vlan-interface 100 backup-nexthop 12.12.12.2
[SwitchS-route-policy] quit
[SwitchS] ip route-static fast-reroute route-policy frr
# 配置Switch D。为通过路由策略frr的静态路由指定备份下一跳信息。
[SwitchD] bfd echo-source-ip 4.4.4.4
[SwitchD] ip ip-prefix abc index 10 permit 1.1.1.1 32
[SwitchD] route-policy frr permit node 10
[SwitchD-route-policy] if-match ip-prefix abc
[SwitchD-route-policy] apply fast-reroute backup-interface vlan-interface 101 backup-nexthop 24.24.24.2
[SwitchD-route-policy] quit
[SwitchD] ip route-static fast-reroute route-policy frr
(4) 检查配置结果
# 在Switch S上查看4.4.4.4/32路由,可以看到备份下一跳信息。
[SwitchS] display ip routing-table 4.4.4.4 verbose
Routing Table : Public
Summary Count : 1
Destination: 4.4.4.4/32
Protocol: Static Process ID: 0
Preference: 60 Cost: 0
IpPrecedence: QosLcId:
NextHop: 13.13.13.2 Interface: vlan 200
BkNextHop: 12.12.12.2 BkInterface: vlan 100
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h01m27s
Tag: 0
# 在Switch D上查看1.1.1.1/32路由,可以看到备份下一跳信息。
[SwitchD] display ip routing-table 1.1.1.1 verbose
Routing Table : Public
Summary Count : 1
Destination: 1.1.1.1/32
Protocol: Static Process ID: 0
Preference: 60 Cost: 0
IpPrecedence: QosLcId:
NextHop: 13.13.13.1 Interface: vlan 200
BkNextHop: 24.24.24.2 BkInterface: vlan 101
RelyNextHop: 0.0.0.0 Neighbor : 0.0.0.0
Tunnel ID: 0x0 Label: NULL
BKTunnel ID: 0x0 BKLabel: NULL
State: Active Adv Age: 00h01m27s
Tag: 0
缺省路由是在路由器没有找到匹配的路由表项时使用的路由。
如果报文的目的地不在路由表中且没有配置缺省路由,那么该报文将被丢弃。
· 第一种是网络管理员手工配置。配置请参见表1-1,将目的地址与掩码配置为全零(0.0.0.0 0.0.0.0)。
· 第二种是动态路由协议生成(如OSPF、IS-IS和RIP),由路由能力比较强的路由器将缺省路由发布给其它路由器,其它路由器在自己的路由表里生成指向那台路由器的缺省路由。配置请参见各个路由协议手册。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!