继我发的用Route Map实现多ISP Internet接入问题请高手赐教http://allanfan.blog.51cto.com/520839/217602 近期收到WILDLEE兄弟给个人留言:今天看了下你的那个关于ISP,NAT-,ROUTE-MAP一文,不知道如今你弄清楚没有,没有的话,加我Q,能够一块儿了解下,他问我有没有解决此题,告诉我他已经成功实现了,看到留言很开心当即加Q聊了起来,上了LEE兄的博客我按照他的步骤亲自测试了一下,期间遇到了一些问题,LEE兄很热心地帮我远程协助调试,指出个人配置错误的地方,在这里真的要很是感谢LEE兄的真诚帮助html
这里是LEE兄博客原文:http://www.wildlee.org/2011_11_1767.html网络
经我和LEE兄的共同努力,才有了此篇博文,我这里基本按照他的步骤以及文字描述来作,注意因为IOS版本的不一样,启用IP SLA所使用的命令有点区别,能够看到我这里和LEE兄所用的IOS是不同,因此用的命令有所区别,这也里LEE兄告诉个人经验,哈哈!我这里按照详细的配置步骤全记录下来,清晰明了,你们能够按照个人步骤来作,记得最好跟我所用的IOS版本同样才能确保你所用的命令都能所有实现,我所用的IOS版本号为:,若是有须要的,能够找我要,大小有36Mide
咱们如今面对的环境是这样的,路由器PolicyRouter分别接入ispA与ispB,并从不一样的ISP得到相应的IP地址池,如今咱们要对这个网络实现高可靠,高可用性,其技术细节咱们要作到对链路智能判断与切换,ip 分组负载,策略NAT并设计相应的策略路由。难的不是单个技术实现,是组合技术,实现完美的方案。测试
policyroute配置:设计
以上配置了每一个端口的IP地址,进行NAT必须的INSIDE与OUTSIDE指定,最后还定义了一个ACL语句,用来补获网络中的特定流量,至于ISPA和ISPB只在须要在相应的端口上启用IP便可.3d
===================================================调试
ip sla monitor 5htm
启用SLA并给它配置一个编号blog
type echo protocol ipIcmpEcho 10.1.1.1 source-ipaddr 10.1.1.2接口
这个是用来探测网络可达性的SLA策略,我用了ICMP技术,若是链路正常,那么将收到ICMP回复报文。
timeout 250 这个值是ICMP往返时间也是规则,若是在此时间内没有收到报文,可认为是链路DOWN.这个值单位是MS.
frequency 30 执行这个ICMP请求的频率时间,单位是S,这样若是链路正常,那目标定义的目标IP,将在每30S收到一个ICMP请求.
ip sla monitor schedule 5 life forever start-time now 全局下定义执行,定义这个SLA监测策略怎么个执行法life forever说它将永远进行这个动做,这个上面定义的目标IP将永远会每隔30S收到一个ICMP请求,START-TIME指明了何时执行这个策略,就个应该是对TRACK说的。
ip sla monitor 6
type echo protocol ipIcmpEcho 72.16.1.1 source-ipaddr 172.16.1.2
timeout 250
frequency 30
ip sla monitor schedule 6 life forever start-time now
TRACK策略执行者,同时代表了目的,对网络可达性判断。输入这个触发了路由器向目标发送ICMP,而后TRACK提供相关的结果被监测模块分析结果获得网络可达与否。
track 5 rtr 5 reachability
track 6 rtr 6 reachability
上面功能实现了一个非基于动态路由协议、非KEEPALIVE、非CDP协议的对链路的可达性的一个判断功能
================================================================
route-map allan permit 10
match ip address 1 这个1表明最开始咱们上面写的那个访问控制列表
set ip next-hop verify-availability 10.1.1.1 5 track 5
set ip next-hop verify-availability 172.16.1.1 6 track 6
interface fastethernet 2/0 在网关的接口上应用此策略
ip policy route-map allan
这里定义了一个策略路由,用来实现一个对链路的智能切换,它用了SLA的监测结果,它将匹配到的流量发送到set ip 指定的接口或下一跳。在这里因为用了SLA技术,那么ROUTE-MAP将根据监测结果,来决定执行与否命令。若是检测结果是不可达,那么将拒绝执行此SET命令,匹配下一条SET语句,这个基本功能就实现了。若是有多个内部网络,能够在每一个接口上执行这个策略,这个东西是很是灵活的,要看你怎么用。若是单单使用Set ip next-hop verify-availability ,它是基于CDP协议判断工做的。
=================================================================
这里就是NAT策略了,若是本来发送到ISPA的流量被转换成地址池ISPA,如今ISPA不可达了,那么策略ROUTE-MAP allan 就会将流量发送到ISPB,若是NAT没有一个判断,这样形成一个NAT错误 源转换,为了实现其智能功能,这里咱们将NAT的源变成ROUTE-MAP策略源。
================================================
最后在策略路由上开启监控策略/NAT转换的详细情况/IP数据包
咱们关闭ISPA f0/0口,随便ping一个不存在的IP,咱们假设此ip就是要去访问外网的,咱们能够发现g=172.16.1.1,能够证实ISPA那边出问题的时候会自动走ISPB出去的,匹配的也是对应的ISPB的地址池
能够看到由于PolicyRouter有目标网络的路由条目,因此策略被拒绝执行。