NAT/PAT et listes de contrôle d'accès
Faire sortir tout un réseau privé sur Internet avec une seule adresse publique (NAT, PAT, redirection de port), puis contrôler qui a le droit de joindre quoi grâce aux listes de contrôle d'accès (ACL) du routeur.
L'essentiel
- Les adresses privées (10/8, 172.16/12, 192.168/16) ne sont pas routées sur Internet : le NAT les remplace par une adresse publique.
- Vocabulaire : inside = ton réseau, outside = Internet ; local = vu du LAN, global = vu d'Internet.
- Trois types : statique (1 pour 1, fixe), dynamique (pool), PAT (plusieurs postes, une adresse, distingués par les ports).
- Le routeur garde une table de traduction, une ligne par connexion : c'est ce qui permet de rendre la réponse au bon poste.
- La redirection de port (
ip nat inside source static tcp …) publie un seul service d'un serveur interne. - PAT sur Cisco :
ip nat inside/ip nat outside, une ACL de traduction, puisip nat inside source list 1 interface g0/1 overload, et une route par défaut. - Une ACL se lit de haut en bas : la première correspondance décide ; en fin de liste, le deny implicite refuse le reste.
- Wildcard = masque inversé (0 = comparé, 1 = ignoré) :
0.0.0.255pour un /24,hostpour une adresse,anypour tout. - Standard (source seule) près de la destination ; étendue (source, destination, port) près de la source.
ip access-group … in|outsur une interface,access-classsur les vty. - On vérifie avec
show ip nat translations,show ip nat statisticsetshow access-lists; on teste toujours un flux refusé et un flux autorisé.
Les quatre adresses
« Inside » désigne tes machines, « outside » celles d'en face. « Local » = ce que voit ton LAN, « global » = ce que voit Internet. Dans la pratique, une seule paire change : inside local (privée) → inside global (publique).
Lire une ACL
De haut en bas, la première ligne qui correspond décide, puis on s'arrête. On écrit donc les règles précises d'abord, les règles larges ensuite. En fin de liste, le deny implicite refuse tout ce qui n'a pas été autorisé.
Deux usages du mot « access-list »
La même commande access-list sert à deux choses très différentes. Appliquée à une interface avec ip access-group, elle filtre (permit = laisse passer, deny = jette). Citée par une règle NAT (ip nat inside source list 1), elle sélectionne les adresses à traduire : permit = « à traduire », deny = « ne pas traduire », rien n'est jeté.
Où poser l'ACL
Standard : près de la destination. Étendue : près de la source. Une ACL standard mal placée coupe trop de choses ; une ACL étendue trop loin de la source fait voyager des paquets qui seront jetés.
Commandes clés
| Pour… | Commandes (Cisco IOS) |
|---|---|
| Marquer les interfaces | ip nat inside (LAN, sous-interfaces, série) · ip nat outside (G0/1) |
| PAT | access-list 1 permit 172.16.0.0 0.0.255.255 · ip nat inside source list 1 interface g0/1 overload |
| Redirection de port | ip nat inside source static tcp 172.16.50.20 443 203.0.113.2 443 |
| Sortie Internet | ip route 0.0.0.0 0.0.0.0 203.0.113.1 · default-information originate (dans OSPF) |
| ACL étendue nommée | ip access-list extended NOM · deny ip 172.16.30.0 0.0.0.255 172.16.20.0 0.0.0.255 · permit ip any any · ip access-group NOM in |
| Limiter les vty | access-list 10 permit 172.16.99.0 0.0.0.255 · line vty 0 4 · access-class 10 in |
| Vérifier | show ip nat translations · show ip nat statistics · show access-lists · clear ip nat translation * |