aclcisconat
MDstable
NoteSnippetChecklistPlaybook
ACL Cisco — Standard, Étendue & NAT
Configurer les ACL standard et étendues Cisco, NAT/PAT et filtrage applicatif
snippetintermediate 2025-05-14 7 min read
aclcisconatpatstandardextendednamediosaccess-list
Concepts fondamentaux
ACL Access Control List liste de rgles de filtrage applique sur une interfaceTraites squentiellement de haut en bas premire rgle qui matche appliqueRgle implicite finale "deny any any" tout ce qui nest pas explicitement permis est refusTypesStandard 1-99, 1300-1999) filtre sur IP SOURCE uniquementtendue 100-199, 2000-2699) filtre src/dst IP protocole ports L4Named ACL avec nom recommand plus lisibleDirection dapplicationin filtre le trafic entrant sur linterface avant le routageout filtre le trafic sortant sur linterface aprs le routagePlacement recommand principe classique CiscoACL tendue au plus prs de la SOURCE vite de consommer de la bande passanteACL standard au plus prs de la DESTINATION filtre uniquement sur src IPWildcard mask inverse du masque rseau2552552550 wildcard 000255 rseau /24255255255252 wildcard 0003 rseau /300000 wildcard 255255255255 "any"255255255255 wildcard 0000 "host"
ACL Standard
text
Variables
{{ADMIN_IP}}
{{TRUSTED_SUBNET}}
{{WILDCARD}}
conf t! Numérotée (1-99)access-list 10 permit {{ADMIN_IP}}access-list 10 permit {{TRUSTED_SUBNET}} {{WILDCARD}}access-list 10 deny any log ! deny explicite avec log! Appliquer sur interface (sortant — standard au plus près de destination)interface GigabitEthernet0/1ip access-group 10 out! Vérifiershow ip access-lists 10show ip access-lists 10 | include matches ! compteurs de matchs
ACL Étendue
Numérotée (100-199)
text
Variables
{{LAN_SUBNET}}
{{LAN_WILDCARD}}
conf t! Autoriser HTTP/HTTPS depuis le LAN vers Internetaccess-list 100 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 80access-list 100 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 443! Autoriser DNSaccess-list 100 permit udp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 53access-list 100 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 53! Autoriser ICMPaccess-list 100 permit icmp {{LAN_SUBNET}} {{LAN_WILDCARD}} any! Connexions établies (retour)access-list 100 permit tcp any {{LAN_SUBNET}} {{LAN_WILDCARD}} established! Deny implicite — explicite pour avoir les logsaccess-list 100 deny ip any any loginterface GigabitEthernet0/0description ** WAN **ip access-group 100 in ! étendue au plus près de la source (entrant sur WAN)
Named ACL (recommandé)
text
Variables
{{LAN_SUBNET}}
{{LAN_WILDCARD}}
{{DMZ_SUBNET}}
{{DMZ_WILDCARD}}
conf t! ACL étendue nommée — plus lisible, permet insertion/suppression par séquenceip access-list extended POLICY_LAN_OUTremark ** Politique de sortie LAN vers Internet **10 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 8020 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 44330 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 2240 permit udp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 5350 permit icmp {{LAN_SUBNET}} {{LAN_WILDCARD}} any60 deny ip {{LAN_SUBNET}} {{LAN_WILDCARD}} {{DMZ_SUBNET}} {{DMZ_WILDCARD}} log999 permit ip any any ! si ACL permissive (ou 999 deny ip any any log)interface GigabitEthernet0/1description ** LAN **ip access-group POLICY_LAN_OUT in! Ajouter une règle dans une ACL existante (insérer à la séquence 55)ip access-list extended POLICY_LAN_OUT55 permit tcp {{LAN_SUBNET}} {{LAN_WILDCARD}} any eq 8443! Supprimer une règle par numéro de séquenceip access-list extended POLICY_LAN_OUTno 60
ACL pour DMZ
text
Variables
{{DMZ_SUBNET}}
{{DMZ_WILDCARD}}
{{ADMIN_SUBNET}}
{{ADMIN_WILDCARD}}
{{LAN_SUBNET}}
{{LAN_WILDCARD}}
conf tip access-list extended POLICY_DMZ_INremark ** Trafic entrant vers la DMZ **10 permit tcp any {{DMZ_SUBNET}} {{DMZ_WILDCARD}} eq 8020 permit tcp any {{DMZ_SUBNET}} {{DMZ_WILDCARD}} eq 44330 permit tcp {{ADMIN_SUBNET}} {{ADMIN_WILDCARD}} {{DMZ_SUBNET}} {{DMZ_WILDCARD}} eq 2240 deny ip {{LAN_SUBNET}} {{LAN_WILDCARD}} {{DMZ_SUBNET}} {{DMZ_WILDCARD}} log999 deny ip any any logip access-list extended POLICY_DMZ_OUTremark ** Trafic sortant depuis la DMZ **10 permit tcp {{DMZ_SUBNET}} {{DMZ_WILDCARD}} any eq 8020 permit tcp {{DMZ_SUBNET}} {{DMZ_WILDCARD}} any eq 44330 permit tcp {{DMZ_SUBNET}} {{DMZ_WILDCARD}} any eq 5340 permit udp {{DMZ_SUBNET}} {{DMZ_WILDCARD}} any eq 53! Bloquer accès DMZ → LAN (isolation)50 deny ip {{DMZ_SUBNET}} {{DMZ_WILDCARD}} {{LAN_SUBNET}} {{LAN_WILDCARD}} log999 permit ip any anyinterface GigabitEthernet0/2description ** DMZ **ip access-group POLICY_DMZ_IN inip access-group POLICY_DMZ_OUT out
ACL sur VTY (SSH/Telnet)
text
Variables
{{ADMIN_SUBNET}}
{{ADMIN_WILDCARD}}
conf t! Restreindre l'accès SSH/Telnet à un réseau admin uniquementip access-list standard MGMT_ACCESS10 permit {{ADMIN_SUBNET}} {{ADMIN_WILDCARD}}20 deny any logline vty 0 4access-class MGMT_ACCESS in ! filtrage sur les sessions entrantes VTYtransport input ssh ! SSH uniquementlogin localline vty 5 15access-class MGMT_ACCESS intransport input ssh
NAT Statique
text
Variables
{{PRIVATE_IP}}
{{PUBLIC_IP}}
conf t! NAT statique 1-to-1 (serveur avec IP publique fixe)ip nat inside source static {{PRIVATE_IP}} {{PUBLIC_IP}}! NAT statique avec port spécifique (port forwarding)ip nat inside source static tcp {{PRIVATE_IP}} 80 {{PUBLIC_IP}} 80ip nat inside source static tcp {{PRIVATE_IP}} 443 {{PUBLIC_IP}} 443ip nat inside source static tcp {{PRIVATE_IP}} 22 {{PUBLIC_IP}} 2222! Configurer les interfacesinterface GigabitEthernet0/0description ** WAN **ip nat outsideinterface GigabitEthernet0/1description ** LAN/DMZ **ip nat inside
NAT Dynamique avec Pool
text
Variables
{{PUBLIC_START}}
{{PUBLIC_END}}
{{PUBLIC_MASK}}
{{LAN_SUBNET}}
{{LAN_WILDCARD}}
conf t! Définir le pool d'adresses publiquesip nat pool PUBLIC_POOL {{PUBLIC_START}} {{PUBLIC_END}} netmask {{PUBLIC_MASK}}! ACL pour sélectionner les hôtes à NATerip access-list standard NAT_SOURCESpermit {{LAN_SUBNET}} {{LAN_WILDCARD}}! Associer ACL et poolip nat inside source list NAT_SOURCES pool PUBLIC_POOLinterface GigabitEthernet0/0ip nat outsideinterface GigabitEthernet0/1ip nat inside
PAT — Port Address Translation (overload)
text
Variables
{{LAN_SUBNET}}
{{LAN_WILDCARD}}
{{WAN_IP}}
{{WAN_MASK}}
conf t! PAT avec l'IP de l'interface WAN (IP dynamique — DHCP)ip access-list standard PAT_SOURCESpermit {{LAN_SUBNET}} {{LAN_WILDCARD}}ip nat inside source list PAT_SOURCES interface GigabitEthernet0/0 overload! PAT avec IP fixe (meilleure option si IP publique statique)ip nat inside source list PAT_SOURCES interface GigabitEthernet0/0 overload! Ou avec un pool + overloadip nat pool PUBLIC_IP {{WAN_IP}} {{WAN_IP}} netmask {{WAN_MASK}}ip nat inside source list PAT_SOURCES pool PUBLIC_IP overloadinterface GigabitEthernet0/0ip nat outsideinterface GigabitEthernet0/1ip nat inside
NAT avec ACL de référence (combinaison NAT + ACL)
text
Variables
{{DMZ_SERVER1}}
{{PUBLIC_IP1}}
{{DMZ_SERVER2}}
{{PUBLIC_IP2}}
{{LAN_SUBNET}}
{{LAN_WILDCARD}}
{{DMZ_SUBNET}}
{{DMZ_WILDCARD}}
conf t! Scénario : LAN principal NATé, DMZ avec IP publiques statiques! 1. NAT statique pour serveurs DMZip nat inside source static {{DMZ_SERVER1}} {{PUBLIC_IP1}}ip nat inside source static {{DMZ_SERVER2}} {{PUBLIC_IP2}}! 2. PAT pour le LAN utilisateurs (reste du trafic)ip access-list standard PAT_LANpermit {{LAN_SUBNET}} {{LAN_WILDCARD}}deny {{DMZ_SUBNET}} {{DMZ_WILDCARD}} ! exclure la DMZ du PATip nat inside source list PAT_LAN interface GigabitEthernet0/0 overload
Vérifications
text
Variables
{{PRIVATE_IP}}
{{PUBLIC_IP}}
! Lister toutes les ACL avec compteurs de matchsshow ip access-lists! ACL spécifiqueshow ip access-lists POLICY_LAN_OUT! ACL appliquées sur les interfacesshow ip interface GigabitEthernet0/0 | include access list! Table de traduction NATshow ip nat translations! Traductions NAT détailléesshow ip nat translations verbose! Statistiques NATshow ip nat statistics! Déboguer NATdebug ip nat ! verbeux — lab uniquementdebug ip nat detailed! Vider la table de traduction NAT (forcer renouvellement)clear ip nat translation *clear ip nat translation inside {{PRIVATE_IP}} outside {{PUBLIC_IP}}
Interprétation show ip nat translations
Pro Inside global Inside local Outside local Outside globaltcp 203011311024 1921681101024 888853 888853---IP publique IP prive LAN Serveur distant Serveur distant
💡 Tip —
Placer les ACL étendues au plus près de la source (interface entrante côté source) et les ACL standard au plus près de la destination (interface sortante côté destinataire). Ce principe minimise le trafic inutile sur le réseau : avec une ACL étendue proche de la source, les paquets filtrés ne traversent pas le réseau. Avec une ACL standard loin de la source, le trafic voyage jusqu'au routeur de destination avant d'être droppé.
OPS·BRAIN v1.027 notes · Networklocal