P03 - Listes de contrôle d’accès (ACL) et NAT sur Cisco


1. Les ACL

Une ACL filtre les paquets sur un routeur (pare-feu « sans état » simple). Règles lues de haut en bas, la première qui correspond s’applique, et il y a un deny any implicite à la fin.

TypeNumérosFiltre surOù la placer
Standard1-99IP source uniquementPrès de la destination
Étendue100-199Source, destination, protocole, portsPrès de la source
Nomméeun nomStandard ou étendue, plus lisible et modifiable

Exemple : le VLAN invités (192.168.50.0/24) ne doit joindre que le Web, pas le LAN

ip access-list extended INVITES-IN
 remark Invites : DNS et Web uniquement, pas d'acces aux reseaux internes
 deny   ip 192.168.50.0 0.0.0.255 10.0.0.0 0.255.255.255
 deny   ip 192.168.50.0 0.0.0.255 192.168.0.0 0.0.255.255
 permit udp 192.168.50.0 0.0.0.255 any eq 53
 permit tcp 192.168.50.0 0.0.0.255 any eq 80
 permit tcp 192.168.50.0 0.0.0.255 any eq 443
 deny   ip any any log
exit
interface g0/0.50
 ip access-group INVITES-IN in

Exemple : seul le VLAN admin accède en SSH au routeur

ip access-list standard ADMIN-SSH
 permit 192.168.99.0 0.0.0.255
line vty 0 4
 access-class ADMIN-SSH in
Mot-cléSens
anyn’importe quelle adresse (= 0.0.0.0 255.255.255.255)
host 10.0.0.5une seule adresse (= 10.0.0.5 0.0.0.0)
eq 443 / range 20 21 / gt 1023port égal / plage / supérieur
establishedpaquets d’une connexion TCP déjà ouverte

Vérifier : show access-lists (compteurs de correspondances), show ip interface g0/0.50.

2. Le NAT

NAT = traduction d’adresses : les IP privées (RFC 1918) ne circulent pas sur Internet ; le routeur les remplace par son IP publique.

flowchart LR
  PC["PC 192.168.10.5:51000"] -->|"src 192.168.10.5"| R{{"Routeur NAT<br/>inside g0/0 | outside g0/1<br/>IP publique 203.0.113.10"}}
  R -->|"src 203.0.113.10:51000"| WEB["Serveur web Internet"]
  WEB -->|"dst 203.0.113.10:51000"| R
  R -->|"table NAT → dst 192.168.10.5"| PC
TypePrincipeUsage
NAT statique1 IP privée ↔ 1 IP publique, permanentPublier un serveur
NAT dynamiquePool d’IP publiquesRare
PAT / NAT overloadToutes les IP privées ↔ 1 IP publique, différenciées par le portAccès Internet (ta box)
Redirection de portIP publique:port → IP privée:portPublier un service précis
interface g0/0
 ip nat inside
interface g0/1
 ip nat outside
exit
! PAT : tout le 192.168.0.0/16 sort avec l'IP de g0/1
access-list 1 permit 192.168.0.0 0.0.255.255
ip nat inside source list 1 interface g0/1 overload
! NAT statique : publier le serveur web interne
ip nat inside source static tcp 192.168.20.10 80 interface g0/1 80

Vérifier : show ip nat translations, show ip nat statistics.

Équivalents vus en cours : MASQUERADE / DNAT sous Linux (S03 - Pare-feu Linux (iptables et nftables)), Outbound NAT / Port Forward sous pfSense (S02 - pfSense).

Voir aussi