Showing results for 
Search instead for 
Did you mean: 
Join Customer Connection to register!

Multiple NAT pools

Hey everyone,

Until today, I've had a single static IP address to the outside world, using NAT for internal machines.

interface GigabitEthernet0/0

description EXTERNAL

ip address

ip nat outside


interface GigabitEthernet0/1

description INTERNAL

ip address

ip nat inside


ip nat inside source list 15 interface GigabitEthernet0/0 overload

access-list 15 permit

ip default-gateway

Today we've upgraded our line and obtained an additional subnet from our ISP: I'd like you utilize the additional block for dynamic NAT translation. Can anyone point me in the right direction?



(by the way, this is for a cisco 2821)


You can define multiple IP pools, them bind them to a inside source ACL via a route map.


Hi. I'm looking to implement something similar to this and came across this tread.

I do, however, have a couple questions and was hoping that someone could assist.

a) I have two ISP's coming in on a single router

b) I will use ISPa as the primary and will receive Default Route from provider using BGP

c) I will use ISPb as the backup and was planning to use a floating static Default Route with a Admin Distance of 250

My questions are;

1) How do I configure two NAT pools one for each ISP?

2) How do you configure the router to use NAT Pool for ISPa when ISPa service is available

3) How do you configure the router to use NAT Pool for ISPb when ISPa Peering fails and I'm no longer receiving a Default Route (and the floating static will be used)

Thank You

Presuming you have 2 seperate interfaces connecting to the ISP's?

Then you just bind the NAT pools directly the interfaces, and the routing will take care of the rest.


Thanks for the quick response Andrew.

I'm kind of new to this. Do you have any examples of how to bind the NAT pool to an interface?

thank you Andrew. I have read these documents before. Unless I missed it, I don't see a specific example for how to bind the NAT Pool to a particular interface. Sorry...

Ahh sorry - missed the best one out!

But seeing what I posted, I was incorrect, and thinking about something else! I don;t think it's possible to directly attach a NAT pool to an interface.

You can define a route map, matching an IP address indicating the source (inside) ip subnet and the next hop (outside) for the particular ISP, and bind the NAT pool to the route map!

Defining to seperate route maps/acl's to the 2 ISP's should allow you to use 2 NAT pools.  And the next hop issue will be handled by routing...... I will take this into the lab tomorrow and see if it works!!!!


Ah, yes! I think I'm getting it. If I include a route-map to the NAT pool and specify "next-hop" as a route-map criteria, that looks like what I need. Curious to see how your lab setup works

LAB worked pretty good.

FA0/0 - ISP1

FA0/1 - ISP2

ip nat pool ISP1 netmask
ip nat pool ISP2 netmask

ip nat inside source route-map ISP1 pool ISP1 overload
ip nat inside source route-map ISP2 pool ISP2 overload

ip nat inside source static - this was required for BGP to work!!
ip nat inside source static - this was required for BGP to work!!
access-list 1 permit
access-list 10 permit
route-map ISP2 permit 5
match ip next-hop 10
route-map ISP1 permit 5
match ip next-hop 1


Great! Thanks Andrew.


1. What is and

2. I would think the route-map, next-hop would mean the upstream providers IP gateway??


Those IP's were the next hop provider IP's in my lab




So whatever the IP address the router has as a next hop - this is the IP you use.  Whatever IP address you use for the floating static route, that's the IP you use.


I really appreciate your help on this. It will take a while for me to actual implement this as I need to order the router, which could take a few weeks. I'll keep your email handy and will report my progress.