多出口的ISP NAT高级配置+route-map策略路由

本设计从简单到难,便于理解

本次设计涉及到 NAT高级应用和route-map及其策略路由

                                                   ----

--------------------------------------------------------------------------------------------------------

第一阶段

SERVER1 server2 server3 分别从 S0/1 S0/2S0/3出口出去,并且要使用 相对应的NAT地址池,

比如:从ISP1走的必须 使用 ISP1的地址池。

第二阶段

如果有一条链路坏了,比如ISP 1 坏了,让SERV1 ISP2ISP 3

第三阶段

实现TCP负载,并且因为是服务器,必须使用ipnat inside destination 映射

---------------------------------------------------------------------------------------------------------

 

资料:

1route-map是按照从最低的序列号到最高的序列号的顺序来执行的。可以通过序列号来编辑或者修改route-map

 

2、如果和route-map中的某一序列号匹配了,那么以后序列号的route-map语句就不再执行;

3、可以使用route-mappermit ordenymatch语句匹配的信息;

4、如果在一个route-map序列号中有多个match语句被引用,那么所有的match语句都必须匹配,才能产生为真的结果;

5、如果route-map应用在一个策略性路由的环境中,那么和match条件不匹配的数据包会根据路由表转发出去;

6、如果在route-map的序列号中没有match语句,那么所有的路由和数据包都会匹配。set语句的行为会应用于所有的路由或者数据包;

7、如果在route-map序列号中的match语句没有相应的访问控制列表,那么所有的路由都会匹配。set语句的行为会应用在所有的路由上;

8、就像访问控制列表一样,在route-map策略的末尾有一个隐含的deny语句;

9、可以使用route-map基于下面的这些条件来建立策略:

-IP地址;

-终端系统ID

-应用程序;

-协议;

-数据包大小。

----------------------------------------------------------------------------------------------------------------------

 多出口的ISP <wbr> <wbr>NAT高级配置+route-map策略路由 <wbr> <wbr>CCIE级别案例(原创)


第一阶段:

实现192.168.1.0/24 192.168.2.0/24192.168.3.0/24网段的分流

192.168.1.0ISP1

192.168.2.0ISP2

192.168.3.0ISP3 

 

第一个问题

如何接口,让192.168.1.0ISP1

如何接口,让192.168.2.0ISP2

如何接口,让192.168.3.0ISP3

 

access-list 1 permit192.168.1.0 0.0.0.255

route-map gateway1 permit10

match ip address1

set interfaces0/1

 

access-list 2 permit192.168.2.0 0.0.0.255

route-map gateway2 permit10

match ip address2

set interfaces0/2

 

access-list 3 permit192.168.3.0 0.0.0.255

route-map gateway3 permit10

match ip address3

set interfaces0/3

 

 

第二个问题

如何让走ISP1的出口的,利用电信的NAT地址池

(为何要这样?因为如果你使用了电信的NAT LG地址从网通出去了,数据包可以回来吗?如果你访问的电信的地址,网通ISP没有这条目的地的路由就无法通信)

 

1.access-list 1 permit192.168.1.0 0.0.0.255(上面已经配置过,无需再次配置)

2.ip nat pool poolisp11.1.1.5 1.1.1.10 netmask 255.255.255.0

3.route-map isp1 permit10

match ip address 1

4.ip nat inside sourceroute-map isp1 pool poolisp1 overload

 

1.access-list 2 permit192.168.2.0 0.0.0.255(上面已经配置过,无需再次配置)

2.ip nat pool poolisp22.2.2.5 2.2.2.10 netmask 255.255.255.0

3.route-map isp2 permit10

match ip address 2

4.ip nat inside sourceroute-map isp2 poo2 poolisp2 overload

 

1.access-list 1 permit192.168.3.0 0.0.0.255(上面已经配置过,无需再次配置)

2.ip nat pool poolisp33.3.3.5 3.3.3.10 netmask 255.255.255.0

3.route-map isp3 permit10

match ip address 3

4.ip nat inside sourceroute-map isp3 pool poolisp3 overload

 

这样就实现了分流

1.第一步设置下一条,让某一网段从固定接口出去

2.第二步设置ACL,通过route-mapNAT地址池选择感兴趣的流量进行NAT转换

 

 

第二阶段:

(现在解决第一阶段遗留的重大问题)

 

问题1:

access-list 1 permit192.168.1.0 0.0.0.255

route-map gateway1 permit10

match ip address1

set interfaces0/1

 

这个配置是有问题的,当你的s0/1 down之后,这条策略还是会执行,但是出口还是s0/1

 

修改如下:

access-list 1 permit192.168.1.0 0.0.0.255

route-map gateway1 permit10

match ip address1

match interface s0/1(判断s0/1up ordown,up执行)

set interfaces0/1(把数据包送到s0/1出口)

 

如果上一条策略没有匹配,那么执行路由查找,为了达到冗余的效果,我们执行s0/1 down之后,利用 ISP2进行通信。

 

问题来了,如果isp2也坏呢,怎么办,所以制定一个循环。

--------------------------------

192.168.1.0网段

切换到ISP2链路:

------------------------------------------------------------------------------------------------

1.route-map gateway12 permit 10(把数据包从s0/1换成s0/2) 

match ipaddress 1

matchinterface s0/2  (判断s0/2 up or down,为下面做准备)

setinterface s0/2 (把数据包全部交给s0/2

 

intfa1/0

ip policyroute-map gateway12  ------------错误

---------------------------------------------------------------------------------------------------------

 

注意:接口下只能写一条ip policy route-map 所以这里要修改:

 

 

 

access-list 1 permit192.168.1.0 0.0.0.255

接口匹配:

track 10 rtr 1reachability

!

track 20 rtr 2reachability

ip sla 1

 icmp-echo 1.1.1.1source-interface Serial1/0

ip sla schedule 1 lifeforever start-time now

ip sla 2

 icmp-echo 2.2.2.1source-interface Serial1/1

ip sla schedule 2 lifeforever start-time now

access-list 1 permit192.168.1.0 0.0.0.255

!

route-map ccie permit10

 match ip address1

 set ip next-hopverify-availability 1.1.1.1 1 track 10

 set ip next-hopverify-availability 2.2.2.1 2 track 2

int fa1/0

ip policy route-mapgateway1 //应用到接口下

 

NAT匹配:

route-map isp12 permit10 (自定加载到 ISP2的地址池)

match ip address1

match interface s0/2 //这里为什么需要加这个,因为匹配NAT地址池。

 

ip nat inside sourceroute-map isp12 pool poolisp2 overload (使用ISP2的地址池)

 

切换到ISP3链路:

route-map isp13 permit10 (自定加载到 ISP3的地址池)

match ip address1

match interfaces0/3

 

ip nat inside sourceroute-map isp13 pool poolisp3 overload (使用ISP3的地址池)

(这里要注意一下:当接口下的route-map匹配之后,进入NATroute-map如果s0/1 s0/2 s0/3up,那么如何执行呢,这个要按照顺序,数字1-100,字母a-z,这里特别配置的时候要注意。)

---------------------

192.168.2.0网段:

切换ISP1链路:

接口匹配:

可参照上面

NAT匹配:

route-map isp21 permit10 (自定加载到 ISP1的地址池)

match ip address2

match interfaces0/1

 

ip nat inside sourceroute-map isp21 pool poolisp1 overload (使用ISP1的地址池)

 

切换ISP3链路:

route-map isp23 permit10 (自定加载到 ISP3的地址池)

match ip address2

match interfaces0/3

 

ip nat inside sourceroute-map isp23 pool poolisp3 overload (使用ISP3的地址池)

 

 

-----------

192.168.3.0网段:

切换ISP1链路:

接口匹配:

可参照上面

NAT匹配:

route-map isp31 permit10 (自定加载到 ISP1的地址池)

match ip address3

match interfaces0/1

 

ip nat inside sourceroute-map isp31 pool poolisp1 overload (使用ISP1的地址池)

 

 

切换到ISP2链路:

route-map isp32 permit10 (自定加载到 ISP2的地址池)

match ip address3

match interfaces0/2

 

ip nat inside sourceroute-map isp32 pool poolisp2 overload (使用ISP2的地址池)

 

 

Ip route 0.0.0.0 0.0.0.01.1.1.1

Ip route 0.0.0.0 0.0.0.02.2.2.1

Ip route 0.0.0.0 0.0.0.03.3.3.1

加上默认路由是为了方便没有应用策略路由的数据包,能够通信!

 

这里再解释下:setinterface s0/1 set ip next-hop1.1.1.1的区别,与以太网的静态路由类似,最好用下一跳地址作为set 参数。


  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值