Le NAT permet de traduire des adresses. Il est notamment utilisé sur les box chez les particuliers et professionnels pour permettre à leurs IP interne (non routable) d'accéder à internet en utilisant l'adresse IP Public (qui elle est routable).
r1(config)#int <interface>
r1(config-if)#ip nat <inside/outside>
r1(config-if)#exit
On indiquera inside
pour les interfaces locales et outside
l'interface vers internet
r1(config)#ip nat inside source static <ip_destination_locale> <ip_destination_pool_public>
On vérifie la configuration avec la commande show ip nat translations
Dans le cadre d'une simulation, nous pouvons vérifier les paquets traités par un routeur avec la commande
debug ip packet
.
Attention : Cette commande peut saturer un routeur !
R1(config)#ip nat pool <nom_pool> <adresse_plage_debut> <adresse_plage_fin> netmask <masque_pool>
R1(config)#access-list 1 deny <eventuelle_adresseIP_deja_translatée>
R1(config)#access-list 1 permit <adresseIP_debut> <wildcard>
R1(config)#ip nat inside source list <numéro_règle_ACL> pool <nom_pool>
Attention : Si il y a plus de machines que d'adresse dans le pool, il faut ajouter le mot clé
overload
après la commande.
Cette méthode est la plus utilisée (box domestique, entreprise ayant qu'une seul IP publique, ...).
R1(config)#access-list <num_regle> permit <ip_réseau> <wildcard>
R1(config)#ip nat inside source list <num_regle_acl> interface <type_interface> <numéro_interface> overload