浮动路由+ ip sla
要求 :目的地同为1.1.1.1,但是在GW上需要写两条静态路由,但是会存在两条吗?
不会,这时要修改其中一条的管理距离 ,让数值小的成为优选线路,数值大的成为备用线路
R1 R3只配置IP地址,不做其它配置
R1(config)#inter f0/0 R1(config-if)#ip add 10.0.0.2 255.255.255.0 R1(config-if)#no shu R1(config-if)#inter loop 0 R1(config-if)#ip add 1.1.1.1 255.255.255.0
R3(config)#inter f0/0 R3(config-if)#ip add 20.0.0.2 255.255.255.0 R3(config-if)#no shu R3(config-if)#inter loop 0 R3(config-if)#ip add 1.1.1.1 255.255.255.0
R2
R2(config)#inter f0/0 R2(config-if)#ip add 10.0.0.1 255.255.255.0 R2(config-if)#no shu R2(config-if)#inter f1/0 R2(config-if)#ip add 20.0.0.1 255.255.255.0 R2(config-if)#no shu
R2(config)#ip route 1.1.1.0 255.255.255.0 10.0.0.2 R2(config)#ip route 1.1.1.0 255.255.255.0 20.0.0.2
一个问在这两条静态路由中,路由器会选择哪一个接口出呢?
应该是出不去的,乱了,路由器也不知道走哪个了
在查看路由表的时候,可以看到去往1.1.1.0网段,有两个路由,这样是不行的,
如果想让两个路由为一个地址服务,那就势必有一个要牺牲,
如何牺牲?
将管理距离变大,
直连的管理距离: 0
静态的管理距离: 1 这个是可以进行修改的
因为相同协议要比COST值,越小越优,把一边加大便另一边变为优的即OK
如何做?
R2(config)#ip route 1.1.1.0 255.255.255.0 20.0.0.2 5 ///后面的这个5就是管理距离,
默认是1 修改成5 ,那肯定这个就是备选线路了,
如何呢?
来验证一下~
看到刚才的两条,现在变成了一条,是删除了吗?
不是
这个时候再ping 是通的
可以验证一下
将10.0.0.1网段的接口down掉,看能还走另外一条路
还是可以通的,
再来看一下路由表,
看看有什么变化
////变化前
///变化后
可以看到管理距离也变了,
路由条目的下一跳地址也变了,
如果此时,down掉的接口恢复了,请问这个条目还会变回去吗?
答案是肯定的,没问题
因为优先级就是比这个高
R2#show run | se route ///可以用管道符来查看show run 的筛选内容 很方便 ip source-route ip route 1.1.1.0 255.255.255.0 10.0.0.2 ip route 1.1.1.0 255.255.255.0 20.0.0.2 5
这就是最基本的浮动路由
在实际的应用中,可以用于单网关,双线路的热备份,
一条链路出现故障,另外一条直接顶上,
///但是这也会存在弊端, 1 上游链路无法检测,如R1和R3端出现问题怎么办?
2 两个出接口始终有一个是闲置的,浪费带宽
当R1和R3出现问题的时候就要用到一个新的技术,ip sla
上行链路监测机制,可以由当前设备向目标设备接口发送icmp请求,如果回包,那么就是通的,如果不回包或超时,就认为这条链路不稳定,在设置了一个时间范围的话,就会在触发后自动的切换到另外一条路
看配置
既然是10.0.0.2 做为主线路,那么就拿它下手了,
R2(config)#no ip sla monitor 1 R2(config-sla-monitor)# type echo protocol ipIcmpEcho 10.0.0.2 source-interface f0/0 //icmp协议类型 到10.0.0.2,源接口为R2的f0/0 R2(config-sla-monitor)# frequency 5 R2(config-sla-monitor)#exit R2(config)#ip sla monitor schedule 1 life forever start-time now R2(config)#track 10 rtr 11 reachability R2(config)#no ip route 0.0.0.0 0.0.0.0 10.0.0.2 //将原有默认删除 R2(config)# ip route 0.0.0.0 0.0.0.0 10.0.0.2 track 10 //重写默认路由并挂接track检测
SLA是一定要和track进行挂接的,因为SLA不可以和路由进行对接,需要一个中间件,那就是track
注意,此时挂接的是主路由条目,当主出一问题时,会自动切换到备份路径中去。
测试
R2#ping 1.1.1.1 re 1000
Type escape sequence to abort.
Sending 1000, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.......!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*Mar 1 00:23:07.827: %TRACKING-5-STATE: 10 rtr 10 reachability Up->Down
系统也会有提示,相关的sla 查检工具down掉,说明上游设备有故障,切换
-----------------------------------------
CCIE成长之路 --- 梅利