双出口NAT(使用路由策略PBR).note

noteId: WEB6317db3f0f268cb0c65118352788506c · 原始路径:/ALL/网络 - C模块/NAT、NAPT/NAT配置 合集(全)/双出口NAT(使用路由策略PBR).note · 图片:8 · 附件待处理:0

 
https://community.cisco.com/t5/%E7%BD%91%E7%BB%9C%E6%96%87%E6%A1%A3/%E5%8E%9F%E5%88%9B-%E5%8F%8C%E5%87%BA%E5%8F%A3nat%E5%86%97%E4%BD%99%E9%85%8D%E7%BD%AE/ta-p/4354464
 
 
·类似这种拓扑:
G0/0 和 G0/3 都是外网接口
 
 
 
一、双出口NAT:
首先保证路由能通
 
这个配置不止双出口,多少个出口都行,只要路由能切换过去
 
1、配置 ACL 匹配内网网段:
ip access-list extended NAT
 permit ip 3.3.3.0 0.0.0.255 any
 
2、配置 两个route-map匹配内网网段,并分别匹配出接口:
# 配置 route-map 1匹配接口1:
route-map NAT1
 match ip address NAT
 match interface G1
 
# 配置 route-map 2匹配接口2:
route-map NAT2
 match ip address NAT
 match interface G2
 
3、配置 两条NAT:
ip nat inside source route-map NAT1 interface GigabitEthernet1 overload
ip nat inside source route-map NAT2 interface GigabitEthernet2 overload
 
此时客户端流量随便走哪边就都能进行NAT了
 
 
 
二、配置 NAT(旧配置):
 
1、先配置两条出口默认路由:
将两条出口默认路由配置为浮动路由 或者 等价负载均衡路由(具体要配置哪个根据题目需要或者个人需求)
# 浮动路由:
EDGERTR(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2 1

EDGERTR(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.2 10
 
# 等价负载均衡路由:
EDGERTR(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2 1

EDGERTR(config)#ip route 0.0.0.0 0.0.0.0 2.2.2.2 1
这里使用的是等价负载均衡路由(浮动路由还没测试)
 
 
2、配置 策略路由、sla:
# 先配置 sla监测:
ip sla 1

 icmp-echo 1.1.1.2 source-interface GigabitEthernet0/0    //监测 1.1.1.2 的对端地址,使用Gig0/0为源地址

 frequency 5    //监测间隔为 5秒

ip sla schedule 1 life forever start-time now    //启用sla1
 
ip sla 2

 icmp-echo 2.2.2.2 source-interface GigabitEthernet0/3

 frequency 5

ip sla schedule 2 life forever start-time now
 
# 配置 track关联sla:
track 1 ip sla 1 reachability

track 2 ip sla 2 reachability
 
# 配置 ACL,匹配内网流量:
ip access-list extended NAT
 deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255    // 这条是拒绝VPN流量(如果配置了VPN就需要,如果不拒绝就会将去往VPN的流量也NAT,导致VPN内网无法通信)

 permit ip 192.168.1.0 0.0.0.255 any
 
# 配置 路由策略:
route-map POLICY

 match ip address NAT

 set ip next-hop verify-availability 1.1.1.2 1 track 1    //匹配内网地址,设置下一跳为 1.1.1.2,设置优先级为1,应用track 1,当track 1状态为 up时应用该策略,当为 down时则不应用(优先启用这条,因为优先级为 1)

 set ip next-hop verify-availability 2.2.2.2 2 track 2    //匹配内网地址,设置下一跳为 2.2.2.2,设置优先级为2,应用track 2,当track 2状态为 up时应用该策略,当为 down时则不应用
## 如果想要优先走 G0/3 进行NAT转换,那么就将 2.2.2.2 那条的优先级设置为1,将 1.1.1.1 的优先级设置为 2
 
# 在内网接口应用路由策略:
int g0/2
 ip policy route-map POLICY
## 如果有多个内网接口:
int g0/1
 ip policy route-map POLICY
 
3、配置 NAT:
这里的NAT需要使用 route-map 来匹配源地址,使用ACL的无法成功
# 配置 inside、outside 接口:
int ra g0/1-2
ip nat inside
 
int ra g0/0,g0/3
ip nat outside
 
# 配置 ACL匹配内网流量(跟上面路由策略的ACL是同一个ACL):
ip access-list extended NAT
 deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255    // 这条是拒绝VPN流量(如果配置了VPN就需要,如果不拒绝就会将去往VPN的流量也NAT,导致VPN内网无法通信)

 permit ip 192.168.1.0 0.0.0.255 any
 
# 配置 route-map 匹配内网流量,并指定出接口:
route-map NAT1

 match ip address NAT

 match interface GigabitEthernet0/0
route-map NAT2

 match ip address NAT

 match interface GigabitEthernet0/3
 
# 配置 NAT:
ip nat inside source route-map NAT1 interface GigabitEthernet0/0 overload

ip nat inside source route-map NAT2 interface GigabitEthernet0/3 overload
 
4、客户端 ping 测试:
将 EDGERTR 上 g0/0 或 g0/3 其中一个接口禁用,再尝试ping(需要等待一会)
 
 
5、查看NAT转换状态:
show ip nat translations