Asa/PIX的Static Route Tracking命令可以有效解决双ISP出口的问题
 

存在问题:
静态路由没有固定的机制来决定是否可用,即使下一跳不可达,静态路由还是会存在路由表里,是有当ASA自己的和这条路由相关接口down了,才会从路由表里删除

解决办法:
Static Route Tracking这个feature提供一种方法来追踪静态路由,当主路由失效时可以安装备份路由进路由表,例如:2条缺省指向不同ISP,当主的ISP断了,可以立即启用备用ISP链路,它是使用ICMP来进行追踪的,如果在一定holdtime没有收到reply的话就认为这条链路down了,就会立即删除该静态路由,预先设置的备份路由就会进入路由表。

注意:配置时要在outside口上放开icmp reply(如果打开了icmp限制)

pixFirewall(config)#sla monitor sla_id #指定检测的 slaID
Pixfirewall(config-sla-monitor)# type echo protocol ipIcmpEcho target_ip interface
if_name #指定检测的协议类型为ICMP协议,并指定检测目的地址和接口

这个必须是个可以ping通的地址,当这个地址不可用时,track跟踪的路由就会被删除,备份路由进路由表

pixFirewall(config)#sla monitor schedule sla_id [life {forever | seconds}] [start-time {hh:mm[:ss] [month day | day month] | pending | now | after hh:mm:ss}] [ageout seconds] [recurring] #指定一个Schedule,一般会是start now
必须要写时间表,不然track的路由进不了路由表

pixFirewall(config)# track track_id rtr sla_id reachability #指定一个TrackID,并要求追踪SlaID的可达性

pixFirewall(config)# route if_name dest_ip mask gateway_ip [admin_distance] track track_i #设定默认路由,并绑定一个TrackID


配置实例:
sla monitor 1
type echo protocol ipIcmpEcho 202.1.1.2 interface dx
sla monitor schedule 1 start-time now(必须配置,不然track的路由进不了路由表)
track 2 rtr 1 reachability
route dx 0.0.0.0 0.0.0.0 202.1.1.2 1 track 2 (电信默认网关,会追踪地址的可达性)
route wt 0.0.0.0 0.0.0.0 101.1.1.2 2 (网通默认网关)


当配置的202.1.1.2 ping不通(ICMP协议不能Reachability)的时候,route dx 0.0.0.0 0.0.0.0 202.1.1.2 1就会在路由表里删除,并由第二条默认路由即 route wt 0.0.0.0 0.0.0.0 101.1.1.2 2取代,当202.1.1.2恢复后,又会重新变为dx 0.0.0.0 0.0.0.0 202.1.1.2 1

这个feature我想大家在很多项目里都会遇到,ASA可以有效解决!


==================

这与我们用路由器实现双出口备份是一样的,通过配置SAA,检查其连通性。并跟踪这结果。来对路由进行选择,实现思路非常精巧!