Learn NAT in 5 minutes

To have a public IP-Address costs money. To have a whole public subnet, costs more money.

So companys with little money but clever admins can use a technic, which helps them to use less

public IP-Addresses, but make it possible for lots of clients to connect to the Internet.

This technic is called NAT or Network Address Translation.

As the name says, an Network Address (IP-Address) is been translated to another address.

Mostly, a private IP-Address (172.16.X.X or 196.168.X.X) is translated in a public IP which the company

gets from an ISP and pays for the public IP or IPs.

There are some terms which must be understanded before going deeper in that material.

Its necessary for CCNA Certification to differ between them.



Inside local address

A private IP Address, not useable in the Internet.

Inside global address

A public IP address in the inside network.

Outside local address

A IP on the outside of the network, as its seen by an inside host.

Not necessarily public address.

Outside global address

A IP address in the outside network, which is a public address.

There are three forms of NAT

Static NAT

ONE private IP is translated to ONE public IP.

Allways the same private IP is mapped to the same public IP.

Dynamic NAT

A private IP is mapped to a public IP, which is from a pool of public IPs.

It must not allways be the same privat IP, which is mapped to a specific public IP.

This is selected dynamically.

Overloading

Many private IPs are mapped to one public IP.

This is also known as PAT (Port Address Translation).

Its a Form of dynamic NAT.

A private IP establishes a connection, for example is source port 2353.

The pakets come to the router. The router translates the IP to a public IP.

The router writes the Information about source IP and source Port into

its NAT Table. When the answer Pakets arrive from Internet the router again

checks its NAT Table and translates the pakets back to the private IP from where

the requesting pakets did origin, depending on the port entry in NAT Table.

Configuration commands

Static NAT

router(config)#ip nat inside source static local-ip global-ip

router(config)#interface fa0/4

router(config-if)#ip nat inside <<>>interface outside network

Dynamic NAT

router(config)#ip nat pool name start-ip end-ip {netmask netmask | prefix-length prefix-length}

router(config)#access-list acl-number permit source-IP [source-wildcard]

router(config)#ip nat inside source list acl-number pool name

router(config)#interface fa0/4

router(config-if)#ip nat inside

router(config-if)#exit

router(config)#interface s0

router(config-if)#ip nat outside

Overloading

router(config)#access-list acl-number permit source-IP source-wildcard

router(config)#ip nat inside source list acl-number interface interface overload

router(config)#interface fa0/4

router(config-if)#ip nat inside

router(config-if)#exit

router(config)#interface s0

router(config-if)#ip nat outside