CISCO IOS NAT is very easy to configure, first you need to understand how CISCO looks at NAT. CISCO require defenition of NAT interfaces, that means that you need to tell the router which of the interfaces a part of the NAT by applying the following commands under the interfaces configration.
On the INTERNAL interface (Usually the one which is connected to the LAN) type 'ip nat inside', example:
interface Ethernet0
description #####Connection to LAN#####
ip address 10.10.10.1 255.255.255.0 secondary
ip address 11.11.11.1 255.255.255.248
ip access-group IRC in
no ip proxy-arp
ip mtu 1492
ip nat inside
ip virtual-reassembly
ip route-cache flow
ip tcp adjust-mss 1452
ip policy route-map HOT
priority-group 1
end
On the OUTSIDE interface (usually the WAN interface) use 'ip nat outside' command, example:
interface Dialer1
description #####Connection to ISP
mtu 1492
bandwidth 8000
no ip proxy-arp
ip nat outside
ip virtual-reassembly
encapsulation ppp
ip tcp header-compression
ip tcp adjust-mss 1452
dialer pool 1
no cdp enable
ppp authentication pap chap callin
ppp chap hostname user
ppp chap password 7 2343434343
ppp pap sent-username user password 7 23232323232
ppp ipcp dns request
end
Now you need to create an Access-List and tell the router on which IP pool do the NAT:
ip access-list extended NAT
permit ip 10.10.10.0 0.0.0.255 any
and tell the router to do NAT:
ip nat inside source list NAT interface dialer1 overload
the OVERLOAD command in the Cisco IOS tells the router to exit all 10.10.10.0 IPs with one IP address (like Checkpoint's HIDE NAT).
If you have unnumbered interface use the LAN interface in the 'ip nat inside' command. Cisco stuff