用route-map进行双ISP接入,完美实现负载负载均衡相互备份和策略路由(原创)在本人上一篇文章用route-map进行双ISP接入,并实现负载负载均衡相互备份和策略路由里,其中有一点点不是非常完美的地方,当网关路由器接口出现问题可以正常切换,但是如果是ISP出现了问题,则会出现不能切换问题,要解决这个问题,我们需要利用思科ipsla工具才解决,ipsla简单工作原理就是利用某种协议测试对方网络设备的连通性,最常见是icmp协议,如果对方设备响应表示线路正常,路由生效,如果对方设备不响应表示线路不正常,路由失效。为了保证园区或企业内部连接到Internet网络的高可用性,通常我们会使用双线接入(比如:电信,网通两个ISP提供的网络)。并部署相关的策略,在一条线路失效后,能快速切换到另外一条可用线路。而且在双线都正常使用时,实现负载均衡。根据目前来讲,进行策略路由方法大概有几下几种:一、根据源地址策略路由二、根据目的地址策略路由三、根据源端口策略路由四、根据目的端口策略路由在实际工作环境中,特别是网吧,一般采用两条光纤接入,一条接电信光纤,一条接网通光纤,如采用方法一进行策略路由,明显有几个不好的弊端,负载不均衡,有可能导致一条光纤负载大,一条负载小,还会导致访问网站(或游戏)的速度不理想,明明网游服务器在网通,可是数据包却从电信光纤出口出去,导致访问速度下降。方法三和四都有缺陷。只有方法二是工程中常用的方案,我们需要的是当访问电信网站时从电信光纤接口出去,当访问网通网站时从网通光纤接口出去,如果电信光纤接口出现问题,就从网通光纤出口出去,反之溢然,达到一个备份效果。实验要求:一、内网1和内网2要访问电信网络时,走电信出口(S1/0口),实现策略路由,提高网速。二、内网1和内网2要访问网通网络时,走网通出口(S1/1口),实现策略路由,提高网速。三、当电信光纤出现问题时,内网1和内网2走网通出口,当电信光纤恢复正常时,走电信出口,以达到备份的目的。四、当网通光纤出现问题时,内网1和内网2走电信出口,当电信光纤恢复正常时,走网通出口,以达到备份的目的。网络接口以及IP地址配置具体看拓扑图,Isp1路由器是用来模拟电信,环回口用来模拟网段,网段有:20.20.10.020.20.20.020.20.30.0共三个网段。Isp2路由器是用来模拟网通,环回口用来模拟网段,网段有:220.220.1.0220.220.2.0220.220.3.0共三个网段。下面开始具体配置。ISP1(模拟电信路由器)配置:hostnameisp1interfaceLoopback0ipaddress20.20.10.1255.255.255.0!interfaceLoopback1ipaddress20.20.20.1255.255.255.0!interfaceLoopback2ipaddress20.20.30.1255.255.255.0!interfaceSerial0/0ipaddress100.100.100.2255.255.255.0serialrestart-delay0!interfaceSerial0/1ipaddress60.0.0.1255.255.255.0serialrestart-delay0routerbgp1bgplog-neighbor-changesnetwork20.20.10.0mask255.255.255.0network20.20.20.0mask255.255.255.0network20.20.30.0mask255.255.255.0network60.0.0.0mask255.255.255.0network100.100.100.0mask255.255.255.0neighbor60.0.0.2remote-as2注:两个ISP之间采用BGP路由,电信BGP自治系统号为1,环回口用来模拟电信的各个网段。ISP2(模拟电信路由器)配置:hostnameisp2interfaceLoopback0ipaddress220.220.1.1255.255.255.0!interfaceLoopback1ipaddress220.220.2.1255.255.255.0!interfaceLoopback2ipaddress220.220.3.1255.255.255.0!interfaceSerial0/0ipaddress200.200.200.2255.255.255.0serialrestart-delay0!interfaceSerial0/1ipaddress60.0.0.2255.255.255.0serialrestart-delay0routerbgp2bgplog-neighbor-changesnetwork64.0.0.0mask255.255.255.0network200.200.200.0network220.220.1.0network220.220.2.0network220.220.3.0neighbor60.0.0.1remote-as1注:两个ISP之间采用BGP路由,网通BGP自治系统号为2,环回口用来模拟电信的各个网段。Lan1(内网1)配置:hostnamelan1interfaceEthernet0/0ipaddress192.168.1.2255.255.255.0iproute0.0.0.00.0.0.0192.168.1.1Lan2(内网2)配置:hostnamelan1interfaceEthernet0/0ipaddress192.168.2.2255.255.255.0iproute0.0.0.00.0.0.0192.168.2.1网关路由器基本配置:hostnamenatinterfaceSerial1/0ipaddress100.100.100.1255.255.255.0注:连接电信接口interfaceSerial1/1ipaddress200.200.200.1255.255.255.0注:连接网通接口interfaceEthernet2/0ipaddress192.168.1.1255.255.255.0注:连接内网1接口interfaceEthernet2/1ipaddress192.168.2.1255.255.255.0注:连接内网2接口iproute0.0.0.00.0.0.0100.100.100.2iproute0.0.0.00.0.0.0200.200.200.2下面是关键配置:ipaccess-listextendedisp1permitipany20.20.10.00.0.0.255permitipany20.20.20.00.0.0.255permitipany20.20.30.00.0.0.255permitipany60.0.0.00.0.0.255permitipany100.100.100.00.0.0.255permitipany200.200.200.00.0.0.255注:名为ISP1的访问列表有两个作用:一、把去往电信方向的网段挑选出来,等下NAT会调用,去往电信方向NAT就会转换公网地址为100.100.100.1。二、策略路由时调用,去往电信方向,指出他的下一跳是电信出口。ipaccess-listextendedisp2permitipany220.220.1.00.0.0.255permitipany220.220.2.00.0.0.255permitipany220.220.3.00.0.0.255permitipany60.0.0.00.0.0.255permitipany100.100.100.00.0.0.255permitipany200.200.200.00.0.0.255注:名为ISP2的访问列表有两个作用:一、把去往网通方向的网段挑选出来,等下NAT会调用,去往电信方向NAT就会转换公网地址为200.200.200.1。二、策略路由时调用,去往网通方向,指出他的下一跳是网通出口。Ipsla配置部分,ipsla主要用来判断去往电信或网通的线路有没有出现问题,ipsla会每隔秒钟去ping一下网关地址,如果发现ping不通,则判断该线路有问题,数据包就会另外一条线路出去,达到一种自动切换的功能。ipsla1icmp-echo100.100.100.2source-ip100.100.100.1注:用网关路由器S1/0所在接口(电信接口)IP地址去ping其电信网关IP地址frequency5注:ping的时间间隔为5秒钟一次。ipslaschedule1lifeforeverstart-timenow注:计划调度时间为从现在开始的每一天。ipsla2icmp-echo200.200.200.2source-ip200.200.200.1注:用网关路由器S1/1所在接口(网通接口)IP地址去ping其网通网关IP地址frequency5注:ping的时间间隔为5秒钟一次。ipslaschedule2lifeforeverstart-timenow注:计划调度时间为从现在开始的每一天。track1rtr1reachability注:追踪去往电信线路的可达性track2rtr2reachability注:追踪去往网通线路的可达性route-maploadpermit10matchipaddressisp1setipnext-hopverify-availability100.100.100.21track1setipnext-hopverify-availability200.200.200.22track2注:策略路由名为load,track1匹配去往电信网段的,设置下一跳为电信网关并追踪其可达性,如果可达,这条语句生效,不可达,则不生效,并执行下一语句。Track2设置下一跳为网通网关并追踪其可达性,如果可达,这条语句生效,不可达,则不生效,并执行下一语句。注意编号的顺号。route-maploadpermit20matchipaddressisp2setipnext-hopverify-availability200.200.200.21track2setipnext-hopverify-availability100.100.100.22track1注:track2匹配去往网通网段的,设置下一跳为网通网关并追踪其可达性,如果可达,这条语句生效,不可达,则不生效,并执行下一语句。Track1设置下一跳为电信网关并追踪其可达性,如果可达,这条语句生效,不可达,则不生效,并执行下一语句。route-maploadpermit30setipnext-hopverify-availability100.100.100.21track1setipnext-hopverify-availability200.200.200.22track2注:这条语句可以不要,主要意思就是去往非电信和网通的数据包优先从电信接口出去,如果线路有问题,就从网通接口出去。route-mapnat1permit10matchipaddressisp1matchinterfaceSerial1/0注:即要匹配去往电信的地址段,也要匹配出口为S1/0口(电信出口)。同时满足这两个条件,就给它做nat转换。route-mapnat11permit10matchipaddressisp1matchinterfaceSerial1/1注:即要匹配去往电信的地址段,也要匹配出口为S1/1口(网通出口)。同时满足这两个条件,就给它做nat转换。这条语句主要是做备份用的,当s1/0口DOWN掉时,这里就只有s1/1口可以用。route-mapnat2permit10matchipaddressisp2matchinterfaceSerial1/1注:即要匹配去往网通的地址段,也要匹配出口为S1/1口(网通出