Download

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:

  1. Static NAT (One to One)
  2. Dynamic NAT (Many to Many)
  3. Overloading NAT (Many to One) [This is the one we are going to configure here]

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.

Download