All you need to certify yourself
18 Sep

First we look at what exactly NAT is? It means Network Address Translation. This technology or technique was developed to overcome the shortage of public IP addresses in IPv4 standard. With the invent of NAT, the problem of shortage of public IP addresses has been solved quite a bit. Now we have moved to IPv6 which has a lot more addresses than IPv4 but still most of the world uses IPv4 in combination with NAT.
If anyone wants to dig down deep to understand NAT, he can go to the following Wikipedia article:
http://en.wikipedia.org/wiki/Network_address_translation
Now let’s start by configuring a basic NAT on a Cisco router. The type of NAT we are going to configure here is Overloading. This means that we will map one public IP address to many private or local IP addresses.
The other types of NAT are:
Let’s have a look at a few NAT terminologies:
Inside Local is the IP address of the private host in the local network.
Inside Global is the IP address that other people will see from outside as your IP address
Outside Local is the IP address that the private host will see as the remote host IP address
Outside Global is the IP address that is connected to our router (public interface)
Let’s understand it with a real example.
Suppose you are sitting in a private network and your host IP address is 192.168.1.10 and your router IP address is 219.89.34.2 (this is the public IP address given by the ISP). You want to connect to google.com whose IP address is 74.125.127.100.
Let us identify the IP addresses here:
Inside Local – 192.168.1.10
Inside Global – 219.89.34.2
Outside Local – 74.125.127.100
Outside Global – 74.125.127.100
Now that we have some understanding about NAT terminologies, we carry on with the configuration.
Enter global configuration mode
Certhacker#configure terminal
Enter the interface mode on which we want to configure NAT inside (the internal side of the router pointing towards the local area network.
Certhacker(config)#interface fastethernet0/1
Assign an IP address on the interface
Certhacker(config-if)#ip address 192.168.1.1 255.255.255.0
Enable it as NAT inside
Certhacker(config-if)#ip nat inside
Go back to global configuration mode and enter the public interface of the router on which we have to configure the public IP address assigned to us by our ISP.
Certhacker(config)#interface serial0/0/0
Assign an IP address on the interface
Certhacker(config-if)#ip address 219.89.34.2 255.255.255.248
Enable it as NAT outside
Certhacker(cnofig-if)#ip nat outside
Configure NAT pool of all the public IP addresses given by our ISP. In our case it’s only one.
Certhacker(config)#ip nat pool WANPOOL 219.89.34.2 219.89.34.2 netmask 255.255.255.248
Create an ACL to allow our newly created NAT to work
Certhacker(config)#ip access-list 10 permit 192.168.1.0 0.0.0.255
Configure the NAT Pool to be used with the Access List
Certhacker(config)#ip nat inside source list 10 pool WANPOOL overload
Configure the default route to allow internal traffic to pass through our public interface
Certhacker(config)#ip route 0.0.0.0. 0.0.0.0 serial0/0/0
This is all. NAT overloading is configured and should work properly. Hopefully this tutorial is useful for people. Thanks for reading. Please comment about your experiences.

One Response for "How To Configure NAT Overloading in Cisco IOS"
Thank you for this helpfull tutorial.
Leave a reply