学习精彩网络技术老师:华为HCIA和HCIP数通eNSP实战视频课
点击学习精彩网络技术老师:华为、华三、锐捷、WLAN、IPv6全套视频课程
通过配置静态路由永久发布,可以确定业务流量的转发路径,提供一种低成本、部署简单的链路检测机制。
组网需求
用户希望确定业务流量的转发路径,不希望流量从其它路径穿越,并要求通过Ping方式来实现链路转发状态的检测,以极低的代价达到业务监控的目的。
如图1所示,RouterA与RouterB和RouterC之间均基于静态路由建立EBGP对等体,RouterA到RouterB有两条链路(LinkA和LinkB)可达。通过配置静态路由永久发布,使得静态路由不受出接口状态的影响,流量只通过LinkA转发,并可以依靠网络监控系统周期性地Ping RouterB接口地址来检测LinkA的状态,从而间接检测BGP业务状态。
配置思路
采用如下的思路配置IPv4静态路由永久发布:
在AS200内配置OSPF,使得RouterB的Loopback0接口路由可以发布给RouterC。
RouterA与RouterB和RouterC分别建立EBGP对等体。
在RouterA上配置到RouterB Loopback0接口地址的静态路由,出接口为Pos1/0/0。
在RouterA上配置到RouterB Loopback0接口地址的静态路由永久发布。当RouterA的接口POS1/0/0发生故障时,到RouterB的Loopback0接口地址的静态路由仍然生效。
数据准备
为完成此配置例,需准备如下的数据:
RouterB和RouterC的OSPF进程号。
各路由器的Router ID及所在的AS号。
操作步骤
- 配置各接口的IP地址(略)
- 在AS200内配置OSPF基本功能
# 配置RouterB。
[RouterB] ospf 1
[RouterB-ospf-1] area 0
[RouterB-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[RouterB-ospf-1-area-0.0.0.0] network 2.2.2.2 0.0.0.0
[RouterB-ospf-1-area-0.0.0.0] quit
[RouterB-ospf-1] quit
# 配置RouterC。
[RouterC] ospf 1
[RouterC-ospf-1] area 0
[RouterC-ospf-1-area-0.0.0.0] network 20.1.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.0] network 30.1.1.0 0.0.0.255
[RouterC-ospf-1-area-0.0.0.0] quit
[RouterC-ospf-1] quit
# 配置完成后,查看RouterC的路由表。
[RouterC] display ip routing-tableRoute Flags: R - relay, D - download
to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10
Destination/Mask Proto Pre Cost Flags NextHop Interface
2.2.2.2/32 OSPF 10 1 D 30.1.1.1 Pos2/0/0
3.3.3.3/32 Direct 0 0 D 127.0.0.1 InLoopBack0
20.1.1.0/24 Direct 0 0 D 20.1.1.2 Pos1/0/0
20.1.1.1/32 Direct 0 0 D 20.1.1.1 Pos1/0/0
20.1.1.2/32 Direct 0 0 D 127.0.0.1 Pos1/0/0
30.1.1.0/24 Direct 0 0 D 30.1.1.2 Pos2/0/0
30.1.1.1/32 Direct 0 0 D 30.1.1.1 Pos2/0/0
30.1.1.2/32 Direct 0 0 D 127.0.0.1 Pos2/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
可以看到,RouterC学到了目的地址为2.2.2.2/32的OSPF路由。
- 配置EBGP链接,RouterA与RouterB和RouterC分别建立EBGP对等体
# 配置RouterA。
[RouterA] bgp 100
[RouterA-bgp] peer 40.1.1.2 as-number 200
[RouterA-bgp] peer 20.1.1.2 as-number 200
[RouterA-bgp] quit
# 配置RouterB。
[RouterB] bgp 200
[RouterB-bgp] peer 40.1.1.1 as-number 100
[RouterB-bgp] quit
# 配置RouterC。
[RouterC] bgp 200
[RouterC-bgp] peer 20.1.1.1 as-number 100
[RouterC-bgp] network 20.1.1.0 255.255.255.0
[RouterC-bgp] import-route ospf 1
[RouterC-bgp] quit
# 配置完成后,在RouterA上查看EBGP连接状态。
[RouterA] display bgp peer
BGP local Router ID : 40.1.1.1
Local AS number : 100
Total number of peers : 2 Peers in established state : 2
Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv
40.1.1.2 4 200 2 2 0 00:00:28 Established 0
20.1.1.2 4 200 2 2 0 00:00:01 Established 0
可以看到,RouterA到RouterB和RouterC的BGP连接状态均为“Established”,说明EBGP对等体已建立。
# 配置完成后,查看RouterA的路由表。
[RouterA] display ip routing-tableRoute Flags: R - relay, D - download
to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
2.2.2.2/32 EBGP 255 1 D 20.1.1.2 Pos2/0/0
40.1.1.0/24 Direct 0 0 D 40.1.1.1 Pos1/0/0
40.1.1.1/32 Direct 0 0 D 127.0.0.1 Pos1/0/0
40.1.1.2/32 Direct 0 0 D 40.1.1.2 Pos1/0/0
20.1.1.0/24 Direct 0 0 D 20.1.1.1 Pos2/0/0
20.1.1.1/32 Direct 0 0 D 127.0.0.1 Pos2/0/0
20.1.1.2/32 Direct 0 0 D 20.1.1.2 Pos2/0/0
30.1.1.0/24 EBGP 255 0 D 20.1.1.2 Pos2/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
可以看到,RouterA学到了目的地址为2.2.2.2/32的BGP路由。
- 在RouterA上,配置到2.2.2.2/32的静态路由,出接口为POS1/0/0
[RouterA] ip route-static 2.2.2.2 32 pos1/0/0 40.1.1.2
# 配置完成后,查看RouterA的路由表。
[RouterA] display ip routing-tableRoute Flags: R - relay, D - download
to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 11 Routes : 11
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
2.2.2.2/32 Static 60 0 D 40.1.1.2 Pos1/0/0
40.1.1.0/24 Direct 0 0 D 40.1.1.1 Pos1/0/0
40.1.1.1/32 Direct 0 0 D 127.0.0.1 Pos1/0/0
40.1.1.2/32 Direct 0 0 D 40.1.1.2 Pos1/0/0
20.1.1.0/24 Direct 0 0 D 20.1.1.1 Pos2/0/0
20.1.1.1/32 Direct 0 0 D 127.0.0.1 Pos2/0/0
20.1.1.2/32 Direct 0 0 D 20.1.1.2 Pos2/0/0
30.1.1.0/24 EBGP 255 0 D 40.1.1.2 Pos1/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
可以看到,配置静态路由后,因为静态路由的优先级比BGP路由的优先级高,到2.2.2.2/32的静态路由被优选。
- 检查配置结果
# RouterA的POS1/0/0接口运行shutdown命令模拟链路故障。
[RouterA] interface pos 1/0/0
[RouterA-Pos1/0/0] shutdown
[RouterA-Pos1/0/0] quit
# 配置完成后,在RouterA上执行命令tracert查看Ping数据包的转发路径。
[RouterA] tracert 2.2.2.2
traceroute to 2.2.2.2(2.2.2.2), max hops: 30 ,packet length: 40,press CTRL_C t o break
1 20.1.1.2 50 ms 30 ms 30 ms
2 30.1.1.1 < AS=200 > 50 ms 60 ms 60 ms
可以看到,LinkA发生故障后,Ping数据包绕行链路LinkB。说明静态路由失效后,到2.2.2.2/32的EBGP路由被优选,也就是说不能通过Ping方式来检测LinkA的链路状态。
# 在RouterA上配置静态路由永久发布。
[RouterA] ip route-static 2.2.2.2 32 pos1/0/0 40.1.1.2 permanent
# 配置完成后,查看RouterA的路由表。
[RouterA] display ip routing-tableRoute Flags: R - relay, D - download
to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 8 Routes : 8
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
2.2.2.2/32 Static 60 0 D 40.1.1.2 Pos1/0/0
20.1.1.0/24 Direct 0 0 D 20.1.1.1 Pos2/0/0
20.1.1.1/32 Direct 0 0 D 127.0.0.1 Pos1/0/0
20.1.1.2/32 Direct 0 0 D 20.1.1.2 Pos2/0/0
30.1.1.0/24 EBGP 255 0 D 20.1.1.2 Pos2/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
可以看到,静态路由的出接口故障后,到2.2.2.2/32的静态路由仍然生效,而EBGP路由并未被优选。
# 在RouterA上运行ping命令,看是否能Ping通2.2.2.2/32。
[RouterA] ping 2.2.2.2
PING 2.2.2.2: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
--- 2.2.2.2 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss
以上显示说明,配置了静态路由永久发布后,即使LinkA发生故障,Ping数据包仍通过LinkA转发,而不会绕行链路LinkB,可以通过Ping方式来检测链路LinkA的有效性。
配置文件
RouterA的配置文件
#
sysname RouterA
#
interface Pos1/0/0
link-protocol ppp
shutdown
ip address 40.1.1.1 255.255.255.0
#
interface Pos2/0/0
link-protocol ppp
ip address 20.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
#
bgp 100
peer 40.1.1.2 as-number 200
peer 20.1.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
peer 40.1.1.2 enable
peer 20.1.1.2 enable
#
ip route-static 2.2.2.2 255.255.255.255 Pos1/0/0 40.1.1.2 permanent
#
return
RouterB的配置文件
#
sysname RouterB
#
interface Pos1/0/0
link-protocol ppp
ip address 40.1.1.2 255.255.255.0
#
interface Pos2/0/0
link-protocol ppp
ip address 30.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.255
#
bgp 200
peer 40.1.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
peer 40.1.1.1 enable
#
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 30.1.1.0 0.0.0.255
#
return
RouterC的配置文件
#
sysname RouterC
#
interface Pos1/0/0
link-protocol ppp
ip address 20.1.1.2 255.255.255.0
#
interface Pos2/0/0
link-protocol ppp
ip address 30.1.1.2 255.255.255.0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.255
#
bgp 200
peer 20.1.1.1 as-number 100
#
ipv4-family unicast
undo synchronization
network 20.1.1.0 255.255.255.0
import-route ospf 1
peer 20.1.1.1 enable
#
ospf 1
import-route direct
area 0.0.0.0
network 20.1.1.0 0.0.0.255
network 30.1.1.0 0.0.0.255
#
return