Extended ACL

Course Contents
1. Qu’est-ce qu’une Extended ACL?
Lors de la gestion d’un réseau, il est parfois nécessaire d’aller plus loin que le simple blocage du trafic en fonction de l’adresse IP source.
C’est là qu’interviennent les Extended ACL.
Contrairement aux ACL standard, les Extended ACL permettent de filtrer le trafic sur la base des éléments suivants
- Adresse IP source
- Adresse IP de destination
- Protocol (TCP, UDP, ICMP, etc.)
- Numéros de port (comme le port 80 pour HTTP ou 443 pour HTTPS)
Supposons que vous ayez cette topologie :

Dans cet exemple, nous voulons contrôler l’accès à l’aide d’une ACL Extended:
- Autoriser le trafic HTTPS du PC Legal vers un serveur Legal sécurisé à 192.168.2.1
- Interdire tout accès du PC Legal à un serveur RH à l’adresse 192.168.3.1
Il s’agit d’un cas d’utilisation typique où les ACL étendues sont nécessaires parce que les ACL standard ne peuvent pas filtrer par protocole ou par port.
2. Configurer l’ACL Extended
Maintenant que vous avez compris ce qu’est une ACL Extended, voyons comment en configurer une étape par étape sur un routeur Cisco.
Étape 1 – Entrer dans le mode de configuration globale
Commencez par entrer dans le mode de configuration :
R1# configure terminal Enter configuration commands, one per line. End with CNTL/Z. R1(config)#
Ensuite, vérifiez les types d’ACL disponibles avec la commande ip access-list ?
R1(config)# ip access-list ? extended Extended Access List helper Access List acts on helper-address log-update Control access list log updates logging Control access list logging resequence Resequence Access List standard Standard Access List
Comme vous pouvez le constater, nous avons la possibilité de créer une ACL standard ou étendue.
Nous allons choisir l’option étendue.
Étape 2 – Création de l’ACL Extended
Vérifions maintenant les formats disponibles pour les ACL Extended:
R1(config)# ip access-list extended ? <100-199> Extended IP access-list number <2000-2699> Extended IP access-list number (expanded range) WORD Access-list name
Les ACL Extended peuvent être
- Numérotés (fourchettes entre: 100-199 ou 2000-2699)
- Nommé (nom personnalisé de votre choix)
Créons une ACL 101 numérotée :
Dans cet exemple, nous allons créer une Extended ACL numérotée avec le numéro 101.
R1(config)# ip access-list extended 101
R1(config-ext-nacl)#
Vous êtes maintenant en mode de configuration ACL Extended, prêt à définir des règles.
Étape 3 – Autoriser HTTPS vers le serveur Legal
Nous voulons autoriser le trafic HTTPS (port TCP 443) du PC Legal vers le serveur Legal.
🔹 Choisir le protocole
Commencez par autoriser, puis consultez les options de protocole :
R1(config-ext-nacl)# permit ?
<0-255> An IP protocol number
ahp Authentication Header Protocol
eigrp Cisco's EIGRP routing protocol
esp Encapsulation Security Payload
gre Cisco's GRE tunneling
icmp Internet Control Message Protocol
igmp Internet Gateway Message Protocol
ip Any Internet Protocol
ipinip IP in IP tunneling
nos KA9Q NOS compatible IP over IP tunneling
object-group Service object group
ospf OSPF routing protocol
pcp Payload Compression Protocol
pim Protocol Independent Multicast
sctp Stream Control Transmission Protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
Nous voulons HTTPS, c’est un protocol qui fonctionne sur TCP, donc :
R1(config-ext-nacl)# permit tcp ? A.B.C.D Source address any Any source host host A single source host object-group Source network object group
🔹 Définir l’adresse IP source
Spécifions le PC légal comme source :
R1(config-ext-nacl)# permit tcp host 192.168.1.1 ? A.B.C.D Destination address any Any destination host eq Match only packets on a given port number gt Match only packets with a greater port number host A single destination host lt Match only packets with a lower port number neq Match only packets not on a given port number object-group Destination network object group range Match only packets in the range of port numbers
🔹 Définir l’adresse IP de destination
Nous voulons atteindre le serveur web Legal :
R1(config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.1 ?
ack Match on the ACK bit
dscp Match packets with given dscp value
eq Match only packets on a given port number
established Match established connections
fin Match on the FIN bit
fragments Check non-initial fragments
// OUTPUT OMITTED FOR BREVITY
Afin de choisir le numéro de port à filtrer, nous utilisons eq comme vous pouvez le voir dans le cli.
🔹 Correspondre au port HTTPS (443)
Nous filtrons que le trafic HTTPS (port 443)
R1(config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.1 eq ?
<0-65535> Port number
bgp Border Gateway Protocol (179)
chargen Character generator (19)
cmd Remote commands (rcmd, 514)
daytime Daytime (13)
discard Discard (9)
domain Domain Name Service (53)
drip Dynamic Routing Information Protocol (3949)
echo Echo (7)
exec Exec (rsh, 512)
finger Finger (79)
ftp File Transfer Protocol (21)
// OUTPUT OMITTED FOR BREVITY
Et nous complétons la commande avec le port :
R1(config-ext-nacl)# permit tcp host 192.168.1.1 host 192.168.2.1 eq 443
Cette commande n’autorise que le trafic HTTPS entre le PC Legal et le serveur Legal.
Étape 4 – Refuser tout trafic vers le serveur HR
Chaque ACL se termine par un « deny all » implicite.
Ainsi, tout trafic qui n’est pas explicitement autorisé sera automatiquement bloqué.
Dans notre cas :
- Nous avons autorisé le trafic HTTPS vers le serveur Legal (192.168.2.1).
- Nous n’avons rien autorisé au serveur RH (192.168.3.1).
→ Ce trafic est déjà refusé par défaut.
Mais juste pour la démonstration, voici comment créer une règle de refus manuellement, pour vous montrer comment faire :
R1(config-ext-nacl)# deny ip host 192.168.1.1 host 192.168.3.1
Élément | Description |
---|---|
deny | Bloquer le trafic |
ip | Tous les protocoles (TCP, UDP, ICMP, etc.) |
host 192.168.1.1 | Source : Legal PC |
host 192.168.3.1 | Destination : Serveur HR |
Cette règle n’est pas nécessaire dans ce cas, elle est là pour vous montrer comment écrire une règle de refus explicite.
3. Où appliquer l’ACL Extended
Une ACL Extended ne filtre pas le trafic tant qu’elle n’est pas appliquée à une interface.
Cette étape indique au routeur où inspecter le trafic et dans quelle direction.
Stratégie de placement
Les ACL Extended filtrent le trafic sur la base des éléments suivants
- Source IP
- IP de destination
- Protocol
- Numéro de port
Pour réduire le trafic inutile sur le réseau, les ACL Extended doivent être appliquées le plus près possible de la source.
Ainsi, les paquets non désirés sont abandonnés avant de consommer la bande passante.
Exemple Scenario
Dans notre exemple :
- Le PC légal (192.168.1.1) est la source.
- Nous voulons :
- Autoriser le trafic HTTPS vers le serveur Legal (192.168.2.1)
- Bloquer tout accès au serveur HR (192.168.3.1)

Le trafic entre dans le routeur R1 par l’interface G0/0 qui est connectée au PC Legal.
Il s’agit de l’interface G0/0 sur le routeur R1.
Application de l’ACL à l’interface
🔹 Étape 1 – Entrer dans le mode de configuration de l’interface
R1(config)# int g0/0
🔹 Étape 2 – Vérifier les formats disponibles
Utilisez la commande ip access-group :
R1(config-if)# ip access-group ?
<1-199> IP access list (standard or extended)
<1300-2699> IP expanded access list (standard or extended)
WORD Access-list name
Nous utiliserons l’ACL 101 que nous avons créé précédemment.
🔹 Étape 3 – Appliquer l’ACL en entrée (Inbound)
Nous appliquons l’ACL 101 pour inspecter les paquets provenant de la source :
R1(config-if)# ip access-group 101 ? in inbound packets out outbound packets R1(config-if)# ip access-group 101 in
Cette commande active l’ACL 101 sur l’interface G0/0.
Désormais, tous les paquets entrants seront filtrés selon vos règles.
4. Vérification des ACL Extended
Une fois que votre ACL est appliqué, il est essentiel de le confirmer :
- L’ACL contient les règles correctes
- Il est appliqué correctement sur la bonne interface et dans la bonne direction.
Étape 1 – Visualiser la configuration de l’ACL
R1# show access-lists 101
Extended IP access list 101
10 permit tcp host 192.168.1.1 host 192.168.2.1 eq 443
20 deny ip host 192.168.1.1 host 192.168.3.1
Cela confirme :
- Ligne 10 : autorise le trafic HTTPS de 192.168.1.1 à 192.168.2.1
- Ligne 20 : refuse tout le trafic de 192.168.1.1 à 192.168.3.1
Étape 2 – Confirmation de l’association d’interfaces
Pour vérifier que l’ACL est correctement appliqué à une interface (dans ce cas, G0/0) :
R1# show ip interface g0/0 GigabitEthernet0/0 is up, line protocol is up Internet address is 192.168.1.254/24 Broadcast address is 255.255.255.255 Address determined by setup command MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.10 Outgoing access list is not set Inbound access list is 101 Proxy ARP is enabled // OUTPUT OMITTED FOR BREVITY
Cela le confirme :
- L’ACL 101 est appliquée à GigabitEthernet0/0
- Il est utilisé dans le sens entrant (Inbound), comme prévu
5. Conclusion
Voici ce qu’il faut retenir sur les ACL Standard et les ACL Extended avant d’aller plus loin :
Fonctionnalité | Standard ACL | Extended ACL Cisco |
---|---|---|
Filtrage de l’IP source | ✅ Oui | ✅ Oui |
Filtrage de l’IP de destination | ❌ Non | ✅ Oui |
Filtrage des protocoles | ❌ Non | ✅ Oui (TCP, UDP, ICMP…) |
Filtrage des ports | ❌ Non | ✅ Oui (exemple 80, 443, etc.) |
Meilleur Emplacement | Proche de la destination | Proche de la source |
Plage de numéros | 1-99 / 1300-1999 | 100-199 / 2000-2699 |
💡 Voulez-vous utiliser des noms plutôt que des chiffres pour vos ACL ?
Consultez la prochaine leçon sur les Named ACL pour faciliter la gestion de vos configurations.