分享页面

思科设备配置双出口nat实现出口链路冗余

发布时间:2021-08-04 10:02
 

拓扑如下所示:

备注:R3R4模拟不同出口的ISP运营商路由器。

具体配置(各接口IP的配置略,R5上有指向R2的默认路由)

R3、R4运行OSPF:

router ospf 1

network 0.0.0.0 255.255.255.255 area 0 \\直接将所有网段通告了

R2:

interface Ethernet0/0

ip address 1.1.1.2 255.255.255.0

ip nat outside

interface Ethernet0/1

ip address 10.45.1.1 255.255.255.0

ip nat outside

interface Ethernet0/3

ip address 192.168.1.1 255.255.255.0

ip nat inside

ip route 0.0.0.0 0.0.0.0 10.45.1.3

ip route 0.0.0.0 0.0.0.0 1.1.1.1

ip nat inside source route-map isp_a interface Ethernet0/0 overload \\分组被nat时要通过整个nat列表顺序(sh run时)过滤的,第一条匹配不再执行第二条

ip nat inside source route-map isp_b interface Ethernet0/1 overload

access-list 100 permit ip any any

route-map out_a permit 10

match ip address 100

match interface Ethernet0/0 \\匹配接口,强制nat的出口,从而指定nat列表中的条目。所以这条命令在多出口nat时很重要

route-map out_b permit 10

match ip address 100

match interface Ethernet0/1

验证:

R2(config)#do ping 2.2.2.2 sou 192.168.1.1

R2(config)#do ping 10.45.2.1 sou 192.168.1.1

看到ping两个出口isp都显示不可达。

为解决这种问题,将两条默认路由的管理距离修改一下。在这里将ip route 0.0.0.0 0.0.0.0 1.1.1.1 管理距离修改为5

R2(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.1 5

继续验证:

R2(config)#do ping 2.2.2.2 sou 192.168.1.1 \\只能走out_b但是不可达

R2(config)#do ping 10.45.2.1 sou 192.168.1.1 \\可达

到此解决了双出口路由冲突的问题。主备链路也形成,当R2出口到达ISPB之间出故障时,指向out_b的默认路由将消失并被指向out_a的默认路由取代,从而所有数据往out_a走。这种主备配置方法与接下来的介绍的另一种配置方法效果一样,但另一种的扩展性很好,可以对更远的ISP目标进行监测,如DNS等,从而将监测的结果决定默认路由在路由表中的存在与消失。

在双出口拓扑中,一般使用的技术有如下三种:

A、负载均衡法,即将内网分成两部分,一部分走out_a,另一部分走out_b。配置要点如下,

access-list 100 permit ip 192.168.1.0 0.0.0.127 any

access-list 110 permit ip 192.168.1.128 0.0.0.127 any




route-map nat1_iapa permit 10 \\在用路由映射表做nat

match ip address 100

match interface Ethernet0/0

route-map nat2_ispb permit 10 \\在用路由映射表做nat

match ip address 110

match interface Ethernet0/1

route-map route1 permit 10 \\在192.168.1.1接口上使用route1的策略路由

match ip address 100

set ip next-hop 1.1.1.1

route-map route1 permit 20

match ip address 110

set ip next-hop 10.45.1.3

注意这里没有配置默认路由。

由于这种没有备用链路的负载均衡配置法,当其一ISP出现故障就会使部分用户瘫痪,所以很少有人使用这种配置。

B、主备链路法,正常时使用主链路,当主链路出现故障时,使用备链路。这种配置法虽然也不是最佳方法,但里边的技术要点很重要,下面将具体介绍此配置法。

 

接着第1)步的配置,把双线形成主备链路。配置如下:

ip sla monitor 11 \\启用监测服务协议(sla全名Service-Level Agreement,服务等级协议),监测某服务的运行状态

type echo protocol ipIcmpEcho 1.1.1.1 source-interface Ethernet0/0 \\定义监测服务的内容

frequency 5

ip sla monitor schedule 11 life forever start-time now \\执行监测服务的时间等

ip sla monitor 22

type echo protocol ipIcmpEcho 10.45.1.3 source-interface Ethernet0/1

frequency 5

ip sla monitor schedule 22 life forever start-time now

track 1 rtr 11 reachability \\跟踪对象(track)用于跟踪ip sla操作的状态

track 2 rtr 22 reachability

ip route 0.0.0.0 0.0.0.0 1.1.1.1 5 track 1 \\将跟踪对象与该路由关联起来。

ip route 0.0.0.0 0.0.0.0 10.45.1.3 2 track 2

从默认路由与跟踪对象的关联,可知以out_b为主链路,out_a为备。

这种主备链路技术还有一种配置方法可以实现,比如与ISPB连接使用OSPF协且在ISPB端里边通告了默认路由。而与ISPA连接使用默认路由且一定要将管理距离修改大于OSPF的默认通告路由,这样在路由表中只显示ospf的默认路由了,当ospf端出现故障时,由于没有收到对端ospf的通告(即没有ospf默认路由),这时指向IPSA的默认路由将在路由表中显示,从而完成主备切换。

本文导读