fail 发表于 2013-7-29 09:13:17

双ISP负载分担SLA+NAT+PBR

我们现在面对的环境是这样的,出口路由器分别接入ispa与ispb,并从不同的ISP获得相应的IP地址池,现在我们要对这个网络实现高可靠,高可用性,其技术细节我们要做到对链路智能判断与切换,ip 分组负载,策略NAT并设计相应的策略路由。难的不是单个技术实现,是组合技术,实现完美的方案。第一部分实现方法,只要配置在gateway1.链路智能判断我们为什么要进行对外的链路判断,我想大家对这个很清楚。如果对外的连接在某处被中断,那么相应被发送到此链路上的IP分组就要被丢包,最终造成网络应用失败。在应用动态路由的网络中,由于路由协议的HELLO机制,它能动态的做出判断与决策,所以在应该动态路由协议的网络中,我们的IP分组不至于走上绝路。但在现实中让我们的网络与ISP用路由协议交流,保证我们的网络质量很难。当我们的网络在没有使用路由协议的情况下在连接到ISP,于是它不在有智能性。我们以串行链接到ISP,在串行连接中不管本地接口故障还是远端ISP故障,他们之间的链接问题将导致本地相应接口的UP与DOWN,为什么能感知链路呢?因为在串行中链接中,虽然没有运行路由协议,但设备之间还是有一种报文在交互着,它就是Keepalive,这时如果本地有多条默认路由,也就不至于使IP分组路由失败,但是如果串行之间如果有其它的节点中转设备,如光电转换器等,情况会怎么样就难说了。在以太网连接中,它是最死板的连接,因为两个设备之间连接没有任何报文交互,就算对端相连接的接口挂掉,只要我本路由的接口OK,不此影响此路由做任何改变。最后我在说两句在:路由器中如果接口有故障,那么与此接口相关的路由条目将消失,结果就是IP分组转发下一跳发生变化。如果出口路由器与ISP之间连接正常,但ISP内部出了问题,出口路由器就算是用串行连接也是无法得知的。对于内部的IP分组还是会发到此ISP。我们要做本质的认识:网络的可连接性判断体现在交互上-协议语言交流,我今天无故抽了你两巴掌,你决对会反击我,证明你还有拥有人的本性-肢体语言交流。没有反应的那是死人,连接断开。2.IP分组负载这个是要我们把分组按不同的类,发向不同的ISP,图中只有一个内部网络,有多个内部网络可以以网络号分类,把不同的内部网络流量转发到不同的ISP。当然你也可以使用扩展ACL,做基于源目,协议,端口,分组大小的转发。我交你ISP钱,不给你走流量,你以为我傻。3.NAT策略在做NAT策略的时候,我们要把用ispA地址做源地址转换的流量转发到ISPA走,用ispB地址池做源地址转换的流量转发到ISPB,如果转发出错,通信就变成了单向通信了,因为ISPA或ISPB没有对方目标网络返程路由。这里有一个知识很重要,为了实现网络可用,当判断出其中一个ISP不可达时,就要切换让流量从另外的一个ISP转发流量,同时NAT应能智能反应,将以另一个ISP的地址池转换源地址。
第二部分技术实现原理上面讲到没有交互的连接中,让本地路由IP分组迷失了远航的方向,但是面对强大的Internet,我们怎么能束手就擒。在今天日互联网中,网络应用大部分都是基于C/S模型。其先者也是利用了此特性并开发了相应的工具-网络质量检测,工具是TRACK与Ip SLA技术,在华为中这个称TRACK与QNA吧!不管怎么说,我们要的是技术原理,他们爱怎么叫怎么叫吧。
第三部分配置高级策略===========================================interface Ethernet0/0ip address 192.168.12.1 255.255.255.0ip nat insideip policy route-map loadinterface Ethernet0/1ip address 192.168.13.1 255.255.255.0ip nat outsideinterface Ethernet0/2ip address 192.168.14.1 255.255.255.0ip nat outsideaccess-list 23 permit 192.168.20.0 0.0.0.255access-list 23 permit 192.168.30.0 0.0.0.255access-list 45 permit 192.168.40.0 0.0.0.255access-list 45 permit 192.168.50.0 0.0.0.255===============================================上面应该没有什么好说的,除了配置了IP地址,进行NAT必须的INSIDE与OUTSIDE指定,在接口F0/0启用了策略路由,最后还定义了ACL语句,用来匹配网络中的特定流量。这里我要是强调一点路由策略是对路由协议的报文做修改,作用于控制层面;而策略路由是对IP分组动作,作用于数据层面。===============================================ip sla 1icmp-echo 192.168.13.3 source-ip 192.168.13.1timeout 2000frequency 10启用SLA并给此探测策略命名其编号为1,后面的连续三条命令定义了整个SLA探测策略,由探测类型、探测目标ip、源ip、超时时间与频率构成。timeout值是ICMP分组往返时间最大值,如果在此时间内没有收到报文可认为是链路DOWN.这个值单位是MS。frequency是发送ICMP探测报文频率时间,这样如果链路正常,那目标定义的目标IP,将在每10S收到一个ICMP请求.单位是S。ip sla schedule 1 lifeforever start-time now怎样调度SLA监测策略1,life定义了这个这个监测策略的存活时间,forever代表永远活动,那么SLA策略对象1中的目标IP将永远会每隔30S收到一个ICMP请求,START-TIME定义探测策略1何时被执行,值为now立即开始对目标进行探测。   track 1 rtr 1 reachabilityTRACK命令后面的5是对跟踪对象进行命名,rtr是对探测策略1的响应时间进行报告,后面再加一个参数reachability来确认网络的可达性.ip sla 2icmp-echo 192.168.14.4 source-ip 192.168.14.1timeout 2000frequency 10ip sla schedule 2 life forever start-time nowtrack 2 rtr 2 reachability===================================上面功能实现了一个非基于动态路由协议、非KEEPALIVE、非CDP协议的对链路的可达性的一个判断功能,具体的详细配置大家看看书,还有不少其它内容。===================================route-map load permit 10match ip address 23set ip next-hopverify-availability 192.168.13.3 1 track 1set ip next-hopverify-availability 192.168.14.4 2 track 2route-map load permit 20match ip address 45set ip next-hopverify-availability 192.168.14.4 1 track 2set ip next-hopverify-availability 192.168.13.3 2 track 1PBR策略与此探测对象进行联动,根据探测对象结果执行PBR策略语句。==================================这里定义PBR策略路由,用来实现一个对链路的智能切换,将trank对象结果与PBR策略进行联动。如果对象结果是不可达,那么将拒绝执行此SET策略命令,匹配下一条SET语句。set语句中被标记为红色的1与2要注意,这个并非与SLA号有关系,这个是set语句执行顺序编号,号码越小将被优先执行ip natinside source route-map ispanat pool ispapool reversibleip natinside source route-map ispbnat pool ispbpool reversibleip nat poolispapool 192.168.13.5 192.168.13.9 netmask 255.255.255.0ip nat poolispbpool 192.168.14.5 192.168.14.9 netmask 255.255.255.0route-mapispanat permit 10match ip address 23match interface Ethernet0/1route-mapispanat permit 20match ip address 45match interface Ethernet0/1route-mapispbnat permit 10match ip address 45match interface Ethernet0/2route-mapispbnat permit 20match ip address 23match interface Ethernet0/2===================================这里就是NAT策略了,如果原本发送到ISPA的流量被转换成地址池A,现在ISPA不可达了,那么策略ROUTE-MAP load 就会将流量发送到ISPB,如果NAT没有一个判断,这样造成一个NAT错误 源转换。为了实现其智能功能,我们将NAT的源变成ROUTE-MAP策略源。其中match interface 很难理解,一开始我朋友认为它是检测接口UP与DOWN的,悲剧!我在TCP/IP路由技术书上看到它是这么说的“匹配被指定下一跳接口的路由”很让我蛋疼的一句话,上面还写着用于重分配,我一直以为是作用于路由分组,没有想到在NAT中对IP分组也有作用。我感觉它的意思就是匹配所以发送到那个接口的分组,不论任何分组。完整配置:Gw:hostname gwtrack 1 ipsla 1 reachability!track 2 ipsla 2 reachability!interfaceEthernet0/0ip address 192.168.12.1 255.255.255.0ip nat insideip virtual-reassemblyip policy route-map load!interfaceEthernet0/1ip address 192.168.13.1 255.255.255.0ip nat outsideip virtual-reassembly!interfaceEthernet0/2ip address 192.168.14.1 255.255.255.0ip nat outsideip virtual-reassembly!ip nat poolispapool 192.168.13.5 192.168.13.9 netmask 255.255.255.0ip nat poolispbpool 192.168.14.5 192.168.14.9 netmask 255.255.255.0ip natinside source route-map ispanat pool ispapool reversibleip natinside source route-map ispbnat pool ispbpool reversibleip route 192.168.20.0255.255.255.0 192.168.12.2ip route192.168.30.0 255.255.255.0 192.168.12.2ip route192.168.40.0 255.255.255.0 192.168.12.2ip route192.168.50.0 255.255.255.0 192.168.12.2!ip sla 1icmp-echo 192.168.13.3 source-ip 192.168.13.1timeout 2000frequency 10ip slaschedule 1 life forever start-time nowip sla2icmp-echo 192.168.14.4 source-ip 192.168.14.1timeout 2000frequency 10ip slaschedule 2 life forever start-time nowaccess-list23 permit 192.168.20.0 0.0.0.255access-list23 permit 192.168.30.0 0.0.0.255access-list45 permit 192.168.40.0 0.0.0.255access-list45 permit 192.168.50.0 0.0.0.255!route-mapload permit 10match ip address 23set ip next-hop verify-availability192.168.13.3 1 track 1set ip next-hop verify-availability192.168.14.4 2 track 2!route-mapload permit 20match ip address 45set ip next-hop verify-availability192.168.14.4 1 track 2set ip next-hop verify-availability192.168.13.3 2 track 1!route-mapispanat permit 10match ip address 23match interface Ethernet0/1!route-mapispanat permit 20match ip address 45match interface Ethernet0/1!route-mapispbnat permit 10match ip address 45match interface Ethernet0/2!route-mapispbnat permit 20match ip address 23match interface Ethernet0/2
L3switch:L3#show running-confighostname L3ip cefinterfaceEthernet0/0switchportswitchport mode accessduplex auto!interfaceEthernet0/1switchportswitchport access vlan 2switchport mode accessduplex auto!interface Ethernet0/2switchportswitchport trunk encapsulation dot1qswitchport mode trunkduplex autointerfaceVlan1ip address 192.168.12.2 255.255.255.0interfaceVlan2ip address 192.168.20.2 255.255.255.0interfaceVlan3ip address 192.168.30.2 255.255.255.0interfaceVlan4ip address 192.168.40.2 255.255.255.0interfaceVlan5ip address 192.168.50.2 255.255.255.0ip route0.0.0.0 0.0.0.0 192.168.12.1
isp-a:hostnameisp-ainterfaceLoopback0ip address 200.0.0.1 255.255.255.255interface Ethernet0/0ip address 192.168.13.3 255.255.255.0ip access-group 3 inaccess-list3 permit 192.168.13.0 0.0.0.255
isp-b:hostnameisp-binterfaceLoopback0ip address 200.0.0.1 255.255.255.255interfaceEthernet0/0ip address 192.168.14.4 255.255.255.0ip access-group 4 inaccess-list4 permit 192.168.14.0 0.0.0.255

hitl 发表于 2013-7-29 13:53:03

看尽天下A片,心中自然无码~

gfdxy3322 发表于 2013-7-29 17:22:38

在一辆拥挤的公车上,一位女郎忽然叫了起来:别挤啦!别挤啦!把人家的奶都挤出来啦!(她拿着酸奶呢)。

longpan 发表于 2013-7-29 22:52:17

有道理。。。

hc6538 发表于 2013-7-30 06:22:45

吃饭与ml是第一生产力。

banbanbai 发表于 2013-7-30 08:07:49

看尽天下A片,心中自然无码~

网中网 发表于 2013-7-31 00:43:03

生,容易。活,容易。生活,不容易。
页: [1]
查看完整版本: 双ISP负载分担SLA+NAT+PBR