0.实验概述
本实验使用GNS3模拟器,版本V2.1.16.
路由器使用IOS版本Version 15.2(4)M7。
实验拓扑如下:
实验拓扑介绍:
R6模拟用户设备,配置2条不同AD值默认路由;
R7、R8模拟用户边界网络设备,R9模拟ISP设备,R7、R8、R9配置OSPF协议。
实验目的:
0.1 测试SLA+track维护双路由切换
R6上配置2条默认路由,配置不同AD值。当R9路由器g3/0端口down,使用SLA+track使R6上AD值为50的主路由不可用,自动切换到备份路由。
0.2 测试SLA+EEM管理备份浮动路由
R6和R9的fa0/0直连。2条默认路由状态正常时,R6的fa0/0 shutdown;默认路由异常时,R6的fa0/0 up,R6自动添加1条从fa0/0到R9的辅路默认路由。
1.协议介绍
SLA:Service-Level Agreement的缩写,意思是服务等级协议。本实验利用SLA协议跟踪R9的g3/0和g4/0端口。
EEM:Embedded Event Manager (EEM) 嵌入式事件管理器,能够实现进程级的自动策略控制。本实验利用EEM管理器实现自动添加、删除浮动静态路由条目。
2.路由器基本配置
R6配置静态路由:
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 #添加AD值50的默认路由
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100
ip route 79.1.1.0 255.255.255.0 67.1.1.7 #用于跟踪R9接口地址
ip route 89.1.1.0 255.255.255.0 68.1.1.8
R7配置OSPF路由协议:
R7(config)#do sh run | sec ospf
router ospf 1
router-id 7.7.7.7
network 7.7.7.7 0.0.0.0 area 0
network 67.1.1.7 0.0.0.0 area 0
network 79.1.1.7 0.0.0.0 area 0
R8配置OSPF路由协议:
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
R9配置OSPF路由协议:
R9(config)#do sh run | sec ospf
router ospf 1
network 0.0.0.0 255.255.255.255 area 0
检查及测试:
R6#sh ip route
S* 0.0.0.0/0 [50/0] via 67.1.1.7
6.0.0.0/32 is subnetted, 1 subnets
C 6.6.6.6 is directly connected, Loopback0
67.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 67.1.1.0/24 is directly connected, Serial1/0
L 67.1.1.6/32 is directly connected, Serial1/0
68.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 68.1.1.0/24 is directly connected, Serial1/1
L 68.1.1.6/32 is directly connected, Serial1/1
79.0.0.0/24 is subnetted, 1 subnets
S 79.1.1.0 [1/0] via 67.1.1.7
89.0.0.0/24 is subnetted, 1 subnets
S 89.1.1.0 [1/0] via 68.1.1.8
R6#traceroute 9.9.9.9
1 67.1.1.7 20 msec 32 msec 20 msec
2 79.1.1.9 56 msec 60 msec 60 msec
3.测试SLA+track维护双路由切换
R9路由器shutdown端口g3/0,R6上AD值50的路由已经不通,但仍在路由表:
R9(config-if)#int gi 3/0
R9(config-if)#shu
R6(config)#do sh ip route
S* 0.0.0.0/0 [50/0] via 67.1.1.7
6.0.0.0/32 is subnetted, 1 subnets #有默认路由
R6(config)#do ping 9.9.9.9
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 9.9.9.9, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5) #不能ping通
R6配置SLA+track:
R6(config)#do sh run | sec sla
ip sla auto discovery #启用sla自动发现功能
ip sla 67 #配置sla实例67
icmp-echo 79.1.1.9 source-interface Serial1/0 #指定协议icmp-echo、目的地址、ping的源端口
frequency 10 #指定ping测试周期
ip sla schedule 67 life forever start-time now #指定sla-67永久有效,立即生效
ip sla 68
icmp-echo 89.1.1.9 source-interface Serial1/1
frequency 10
ip sla schedule 68 life forever start-time now
track 1 ip sla 67 reachability #track1跟踪sla-67,若ping通则返回1,否则返回0
track 2 ip sla 68 reachability
R6修改静态路由:
no ip route 0.0.0.0 0.0.0.0 67.1.1.7 50
no ip route 0.0.0.0 0.0.0.0 68.1.1.8 100
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 track 1 #跟踪track-1,值为1则生效,否则失效
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100 track 2
再次验证:
R9(config)#int gi3/0
R9(config-if)#shu
R6(config)#
*Jun 19 18:52:19.919: %TRACKING-5-STATE: 1 ip sla 67 reachability Up->Down
R6(config)#do sh ip route
S* 0.0.0.0/0 [100/0] via 68.1.1.8
6.0.0.0/32 is subnetted, 1 subnets #默认路由已切换到备路
R6(config)# do trac 9.9.9.9
1 68.1.1.8 44 msec 32 msec 28 msec
2 89.1.1.9 64 msec 60 msec 56 msec
可以看出,R6去往R9的路由已经从R6R7R9切换到R6R8R9,实验目的得到验证。
4. 测试SLA+EEM管理备份浮动路由
4.1 针对2条默认路由分别配置:单独的track状态触发EEM执行自动添加/删除操作
针对主路由,主路由down后添加辅路由
event manager applet route3
event track 1 state down #跟踪的track 1的状态: down
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "int fa0/0" #启用端口fa0/0
action 4.0 cli command "no shu"
action 5.0 cli command "ip route 0.0.0.0 0.0.0.0 69.1.1.9 200" #添加辅路默认路由,AD值200
action 5.5 syslog msg "------Main ROUTE fail down,auxiliary route up-----" #自定义日志
action 6.0 cli command "do wr"
主路由Up后,删除辅路由
event manager applet no-route3
event track 1 state up
action 1.0 cli command "ena"
action 2.0 cli command "conf t"
action 3.0 cli command "int fa0/0"
action 4.0 cli command "shut"
action 5.0 cli command "no ip route 0.0.0.0 0.0.0.0 69.1.1.9 200"
action 6.0 syslog msg "------Main route up,auxiliary route deleted----"
action 7.0 cli command "do wr"
针对备路由,备路由down后添加辅路由
event manager applet back3
event track 2 state down
action 1.0 cli command "enable"
action 2.0 cli command "conf t"
action 3.0 cli command "int fa0/0"
action 4.0 cli command "no shu"
action 5.0 cli command "ip route 0.0.0.0 0.0.0.0 69.1.1.9 200"
action 5.5 syslog msg "-----Back ROUTE fail down,auxiliary route up-----"
action 6.0 cli command "do wr"
备路由恢复后,删除辅路由
event manager applet no-back3
event track 2 state up
action 1.0 cli command "ena"
action 2.0 cli command "conf t"
action 3.0 cli command "int fa0/0"
action 4.0 cli command "shut"
action 5.0 cli command "no ip route 0.0.0.0 0.0.0.0 69.1.1.9 200"
action 6.0 syslog msg "---------Back route up,auxiliary route deleted---------"
action 7.0 cli command "do wr"
缺陷:如果R9两个端口都down,然后up恢复了一个,则R6会shutdown Fa0/0并删除辅路默认路由,路由表只有1条默认路由,不符合路由备份目的。
单独配置方法,网上有很多相关资料,有兴趣的朋友请自行验证
4.2 针对2条默认路由综合配置,同时检测两个track状态:有1个track down即触发EEM添加辅路由,两个track都up,才触发EEM删除辅路由。
自动添加辅路由配置
event manager applet route3
event tag 1.0 track 1 state down #定于tag 1.0检测track 1状态
event tag 2.0 track 2 state down
trigger occurs 1 #设置触发条件
correlate event 1.0 or event 2.0 #逻辑“或”关联2个track状态,出现1个down即触发EEM
attribute tag 1.0 occurs 1
attribute tag 2.0 occurs 1
action 1.0 cli command "en"
action 2.0 cli command "conf t"
action 3.0 cli command "int fa0/0"
action 4.0 cli command "no shu"
action 5.0 cli command " ip route 0.0.0.0 0.0.0.0 69.1.1.9 200"
action 5.5 syslog msg "------Main or Back route is down,auxiliary route added-----"
ction 6.0 cli command "do wr"
自动删除辅路由配置
event manager applet no3
event tag 1.0 track 1 state up
event tag 2.0 track 2 state up
trigger occurs 1
correlate event 1.0 and event 2.0 #逻辑“与”关联2个track状态,都up才触发EEM
attribute tag 1.0 occurs 1
attribute tag 2.0 occurs 1
action 1.0 cli command "ena"/
action 2.0 cli command "conf t"
action 3.0 cli command "int fa0/0"
action 4.0 cli command "shu"
action 5.0 cli command "no ip route 0.0.0.0 0.0.0.0 69.1.1.9 200"
action 5.5 syslog msg "-----Main and Back route are up,auxiliary route deleted-----"
action 6.0 cli command "do wr"
4.3 验证综合配置方法实验浮动路由管理
R9端口正常时,R6有2条手动添加的默认路由
R9(config)#do sh ip int b | ex una
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 69.1.1.9 YES NVRAM up up
GigabitEthernet3/0 79.1.1.9 YES NVRAM up up
GigabitEthernet4/0 89.1.1.9 YES NVRAM up up
R6(config)#do sh run | s ip route
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 track 1 #启用
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100 track 2 #有效
ip route 79.1.1.0 255.255.255.0 67.1.1.7 #R6没有AD值200的默认路由
R6(config)#do sh ip route
S* 0.0.0.0/0 [50/0] via 67.1.1.7
6.0.0.0/32 is subnetted, 1 subnets
shutdown R9的g3/0,R6自动添加1条默认路由
R9(config)#int gi 3/0
R9(config-if)#shu
R6(config)#
*Jun 19 20:08:45.619: %TRACKING-5-STATE: 1 ip sla 67 reachability Up->Down
*Jun 19 20:08:45.939: %HA_EM-6-LOG: route3: ------------Main or Back route is down,auxiliary route added---------
*Jun 19 20:08:47.763: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Jun 19 20:08:48.763: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R6(config)#do sh run | s ip route
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 track 1 #该路由已失效
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100 track 2
ip route 0.0.0.0 0.0.0.0 69.1.1.9 200 #自动添加AD值200的默认路由
R6(config)#do sh ip route
S* 0.0.0.0/0 [100/0] via 68.1.1.8 #AD值100的路由启用
6.0.0.0/32 is subnetted, 1 subnets
shutdown R9的g4/0,R6路由表使用AD值200的路由
R9(config-if)#int gi 4/0
R9(config-if)#shu
R6(config)#
*Jun 19 20:11:55.631: %TRACKING-5-STATE: 2 ip sla 68 reachability Up->Down
*Jun 19 20:11:55.867: %HA_EM-6-LOG: route3: ------------Main or Back route is down,auxiliary route added---------
R6(config)#do sh run | s ip route
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 track 1 #失效
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100 track 2 #失效
ip route 0.0.0.0 0.0.0.0 69.1.1.9 200 #启用
R6(config)#do sh ip route
S* 0.0.0.0/0 [200/0] via 69.1.1.9
6.0.0.0/32 is subnetted, 1 subnets
no shutdown R9的g4/0,R6路由启用AD值100的路由
R9(config-if)#int gi 4/0
R9(config-if)#no sh
R6(config)#
*Jun 19 20:13:30.639: %TRACKING-5-STATE: 2 ip sla 68 reachability Down->Up
R6(config)#do sh run | s ip route
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 track 1 #失效
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100 track 2 #启用
ip route 0.0.0.0 0.0.0.0 69.1.1.9 200 #有效
R6(config)#do sh ip route
S* 0.0.0.0/0 [100/0] via 68.1.1.8
6.0.0.0/32 is subnetted, 1 subnets
no shutdown R9的g3/0,R6路由启用AD值50的路由
R9(config-if)#int gi 3/0
R9(config-if)#no sh
R6(config)#
*Jun 19 20:17:40.643: %TRACKING-5-STATE: 1 ip sla 67 reachability Down->Up
*Jun 19 20:17:40.983: %HA_EM-6-LOG: no3: --------Main and Back route are up,auxiliary route deleted-------
*Jun 19 20:17:42.759: %LINK-5-CHANGED: Interface FastEthernet0/0, changed state to administratively down
*Jun 19 20:17:43.759: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down
R6(config)#do sh run | s ip route
ip route 0.0.0.0 0.0.0.0 67.1.1.7 50 track 1 #启用
ip route 0.0.0.0 0.0.0.0 68.1.1.8 100 track 2 #有效
ip route 79.1.1.0 255.255.255.0 67.1.1.7 #自动删除辅路由
R6(config)#do sh ip route
S* 0.0.0.0/0 [50/0] via 67.1.1.7
6.0.0.0/32 is subnetted, 1 subnets
5.结语
网络资料多见针对单独默认路由的EEM配置,个人做了综合性的优化配置并验证成功。该验证只针对本实验环境,欢迎各位朋友用其他环境进行验证,如有谬误,欢迎留言指正!!!