双出口NAT(使用路由策略PBR).note
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 any2、配置 两个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 G23、配置 两条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 POLICY3、配置 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 overload4、客户端 ping 测试:

将 EDGERTR 上 g0/0 或 g0/3 其中一个接口禁用,再尝试ping(需要等待一会)




5、查看NAT转换状态:
show ip nat translations