Configuration Cisco IOS Shell
Configuration Cisco IOS
Ce document regroupe les commandes essentielles pour la configuration et le dépannage des équipements Cisco IOS. Il est organisé de manière progressive : de la connexion physique jusqu'aux configurations avancées.
| Section | Description |
|---|---|
| 1. Connexion Console | Branchement, outils et authentification |
| 2. Configuration de Base | Hostname, mots de passe, bannière |
| 3. VLANs et Ports | Création de VLANs, ports d'accès et trunk |
| 4. Routage Inter-VLAN | RoAS, SVI, passerelle par défaut |
| 5. Sécurité Layer 2 | SSH, Port Security |
| 6. Snippets Pratiques | PoE, VRF, commandes utiles |
| 7. Diagnostic SD-Access | Fabric Wireless, LISP, VXLAN |
| 8. Diagnostic TrustSec (SGT) | Security Groups, RBACL, isolation intra-VLAN |
1. Connexion Console USB
La première étape pour configurer un équipement Cisco neuf ou hors réseau est la connexion console via câble USB.
Détection du câble sur Linux
Le câble console USB crée un device série sur Linux, généralement /dev/ttyACM0 ou /dev/ttyUSB0.
# Vérifier que le câble est détecté
ls -la /dev/ttyUSB* /dev/ttyACM*
# Vérifier les permissions (groupe dialout requis)
groups | grep -o dialout
Si vous n'êtes pas dans le groupe dialout, utilisez sudo pour accéder au port, ou ajoutez-vous au groupe :
Se connecter avec screen
Paramètres standards Cisco : 9600 bauds, 8 data bits, no parity, 1 stop bit (8N1).
Raccourcis clavier screen
| Raccourci | Action |
|---|---|
Ctrl+A puis K |
Tuer la session screen |
Ctrl+A puis D |
Détacher la session (reste active en arrière-plan) |
Ctrl+A puis ? |
Aide / liste des raccourcis |
Ctrl+A puis Esc |
Mode scrollback (flèches pour naviguer, Esc pour quitter) |
Reprendre une session détachée :
Se connecter avec minicom
Raccourcis clavier minicom
| Raccourci | Action |
|---|---|
Ctrl+A puis Z |
Menu principal |
Ctrl+A puis Q |
Quitter sans réinitialiser |
Ctrl+A puis X |
Quitter et réinitialiser |
Ctrl+A puis E |
Activer/désactiver l'echo local |
Ctrl+A puis W |
Activer/désactiver le wrapping |
Attention : une seule application peut utiliser le port série à la fois. Fermez
minicomouscreenavant de lancer un autre outil.
Comprendre les modes IOS
Cisco IOS utilise une hiérarchie de modes. Le prompt change selon le mode actif :
Switch> # Mode utilisateur (User EXEC) — commandes show limitées
Switch> enable
Switch# # Mode privilégié (Privileged EXEC) — toutes les commandes show
Switch# configure terminal
Switch(config)# # Mode configuration globale
Switch(config-if)# # Mode configuration d'interface
Switch(config-vlan)# Mode configuration de VLAN
Pour remonter d'un niveau : exit ou Ctrl+Z (retour direct au mode privilégié).
Authentification
Au prompt Username:, saisir le login puis le mot de passe.
Pour entrer en mode privilégié :
Astuce : désactiver la pagination
Pour éviter d'avoir à appuyer sur Espace à chaque page de sortie :
2. Configuration de Base
Configuration initiale d'un équipement : nom d'hôte, sécurisation des accès et bannière.

Nommer l'équipement
Sécurisation des accès
Configuration des mots de passe pour le mode privilégié, la console et l'accès distant (VTY).
! Mot de passe Enable chiffré
S1(config)# enable secret class
! Chiffrement de tous les mots de passe en clair
S1(config)# service password-encryption
! Sécurisation de la ligne CONSOLE
S1(config)# line console 0
S1(config-line)# password cisco
S1(config-line)# login
S1(config-line)# exit
! Sécurisation des lignes VTY (Telnet/SSH)
S1(config)# line vty 0 15
S1(config-line)# password cisco
S1(config-line)# login
S1(config-line)# exit
Bannière et gestion DNS
! Bannière de mise en garde (Message Of The Day)
S1(config)# banner motd # Acces non autorise interdit !!! #
! Désactiver la recherche DNS (évite les attentes lors de fautes de frappe)
S1(config)# no ip domain-lookup
Sauvegarder la configuration
Important : la configuration est en RAM (running-config). Tant qu'elle n'est pas sauvegardée, un redémarrage annule les modifications.
! Méthode 1 : write memory (rapide)
S1# write memory
! Méthode 2 : copy (explicite)
S1# copy running-config startup-config
3. VLANs et Ports
Les VLANs segmentent le réseau en domaines de broadcast logiques. Chaque port du switch est soit en mode access (un seul VLAN, pour un hôte) soit en mode trunk (plusieurs VLANs, pour l'interconnexion de switches).

Création de VLAN
S1(config)# vlan 10
S1(config-vlan)# name Faculte/Personnel
S1(config-vlan)# exit
S1(config)# vlan 20
S1(config-vlan)# name Etudiants
S1(config-vlan)# exit
Vérifier les VLANs existants
! Liste de tous les VLANs
S1# show vlan brief
! Détail d'un VLAN spécifique (utile pour voir quels ports sont membres)
S1# show vlan id 150
Exemple de sortie :
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
150 IMPRESSION active Po2, Po3, Po5, Po7, Po8
Configurer un port en mode access
Pour connecter un PC, une imprimante ou tout terminal final.
S1(config)# interface GigabitEthernet1/0/1
S1(config-if)# description IMPRIM
S1(config-if)# switchport mode access
S1(config-if)# switchport access vlan 150
S1(config-if)# spanning-tree portfast
S1(config-if)# exit
spanning-tree portfast: accélère la transition du port vers l'état forwarding. À utiliser uniquement sur les ports connectés à des hôtes, jamais sur les liens entre switches.
Pour configurer plusieurs ports en une fois :
S1(config)# interface range fastEthernet 0/11 - 17
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 10
S1(config-if-range)# no shutdown
Configurer un port en mode trunk
Pour l'interconnexion entre switches ou vers un routeur (RoAS).
S1(config)# interface range fastEthernet 0/1 - 5
S1(config-if-range)# switchport mode trunk
S1(config-if-range)# switchport trunk native vlan 56
! (Optionnel) Restreindre les VLANs autorisés
S1(config-if-range)# switchport trunk allowed vlan 10,20,56
S1(config-if-range)# switchport nonegotiate
Le VLAN Natif doit être identique des deux côtés du lien trunk.
Vérifier la configuration d'un port
! Config complète d'un port
S1# show running-config interface GigabitEthernet1/0/1
! Statut rapide de tous les ports
S1# show interface status
! Statut d'un port spécifique
S1# show interface GigabitEthernet1/0/1 status
Exemple de sortie show interface status :
Gi1/0/1 IMPRIM notconnect 150 auto auto 10/100/1000BaseTX
Gi1/0/2 IMPRIM notconnect 150 auto auto 10/100/1000BaseTX
Exemple complet : changement de VLAN sur deux ports
S1# configure terminal
S1(config)# interface GigabitEthernet1/0/1
S1(config-if)# description IMPRIM
S1(config-if)# switchport access vlan 150
S1(config-if)# switchport mode access
S1(config-if)# spanning-tree portfast
S1(config-if)# exit
S1(config)# interface GigabitEthernet1/0/2
S1(config-if)# description IMPRIM
S1(config-if)# switchport access vlan 150
S1(config-if)# switchport mode access
S1(config-if)# spanning-tree portfast
S1(config-if)# end
S1#
! Vérifier
S1# show running-config interface GigabitEthernet1/0/1
!
interface GigabitEthernet1/0/1
description IMPRIM
switchport access vlan 150
switchport mode access
spanning-tree portfast
end
! Sauvegarder
S1# write memory
Building configuration...
[OK]
4. Routage Inter-VLAN
Par défaut, les VLANs sont isolés. Pour permettre la communication entre eux, deux approches principales : le Router-on-a-Stick (RoAS) ou une SVI avec routage Layer 3 sur le switch.

Router-on-a-Stick (RoAS)
Utilisation d'un routeur avec des sous-interfaces pour chaque VLAN.
! Sur le Routeur (R1) — activer l'interface physique
R1(config)# interface fastEthernet 0/1
R1(config-if)# no shutdown
! Sous-interface pour VLAN 10
R1(config)# interface fastEthernet 0/1.10
R1(config-subif)# encapsulation dot1Q 10
R1(config-subif)# ip address 192.168.10.1 255.255.255.0
! Sous-interface pour VLAN 20
R1(config)# interface fastEthernet 0/1.20
R1(config-subif)# encapsulation dot1Q 20
R1(config-subif)# ip address 192.168.20.1 255.255.255.0
! Sous-interface pour VLAN Natif (VLAN 99 par exemple)
R1(config)# interface fastEthernet 0/1.99
R1(config-subif)# encapsulation dot1Q 99 native
R1(config-subif)# ip address 192.168.99.1 255.255.255.0
Interface de Management (SVI) sur Switch
Pour administrer le switch à distance via une adresse IP.
S1(config)# interface vlan 99
S1(config-if)# ip address 192.168.99.11 255.255.255.0
S1(config-if)# no shutdown
S1(config-if)# exit
S1(config)# ip default-gateway 192.168.99.1
5. Sécurité Layer 2
Protection contre les attaques de couche 2 et sécurisation de l'administration distante.

Configuration SSH
Remplace Telnet pour une administration sécurisée et chiffrée.
! Pré-requis : nom d'hôte et domaine IP
S1(config)# ip domain-name CCNA-Lab.com
! Génération des clés RSA (1024 bits minimum recommandé)
S1(config)# crypto key generate rsa modulus 1024
! Création d'un utilisateur local
S1(config)# username admin privilege 15 secret sshadmin
! Activation SSH sur les lignes VTY
S1(config)# line vty 0 15
S1(config-line)# transport input ssh
S1(config-line)# login local
Port Security
Limite le nombre d'adresses MAC autorisées sur un port pour empêcher le branchement d'équipements non autorisés.
S1(config)# interface fastEthernet 0/5
S1(config-if)# switchport mode access
S1(config-if)# switchport port-security
! Limiter à 1 seule adresse MAC (Sticky = apprend la MAC connectée)
S1(config-if)# switchport port-security maximum 1
S1(config-if)# switchport port-security mac-address sticky
! Action en cas de violation
S1(config-if)# switchport port-security violation restrict
| Mode de violation | Comportement |
|---|---|
shutdown (défaut) |
Port en err-disabled, trafic bloqué |
restrict |
Trafic bloqué + log + compteur de violations |
protect |
Trafic bloqué uniquement, sans notification |
6. Snippets Pratiques
Redémarrer une borne wifi (PoE)
! Voir les bornes wifi voisines et leur port
show cdp neighbors
conf t
interface gi 1/0/13
shutdown
no shutdown
end
Créer une VRF et un VLAN (Exemple Avancé)
ip vrf VRF_CLIENT_A
! Interface VLAN Client
interface Vlan36
ip vrf forwarding VRF_CLIENT_A
ip address 198.51.100.254 255.255.255.0
! Interface VLAN Uplink/Interco
interface Vlan53
description Interco Core_Firewall_VRF_CLIENT_A
ip vrf forwarding VRF_CLIENT_A
ip address 203.0.113.9 255.255.255.248
! Route statique dans la VRF
ip route vrf VRF_CLIENT_A 0.0.0.0 0.0.0.0 203.0.113.14 name FW-CLIENT_A
end
Table des commandes essentielles
| Commande | Description |
|---|---|
show running-config |
Config complète en RAM |
show running-config interface Gi1/0/1 |
Config d'un port spécifique |
show vlan brief |
Liste de tous les VLANs |
show vlan id 150 |
Détail d'un VLAN spécifique |
show interface status |
Statut de tous les ports |
show ip interface brief |
Résumé IP de toutes les interfaces |
show cdp neighbors |
Équipements voisins détectés |
terminal length 0 |
Désactiver la pagination |
write memory |
Sauvegarder en NVRAM |
reload |
Redémarrer l'équipement |
configure terminal |
Entrer en mode configuration globale |
end ou Ctrl+Z |
Quitter le mode configuration |
show cts role-based permissions |
Matrice de policies TrustSec (paires SGT source → destination) |
show cts role-based counters |
Compteurs permit/deny par paire SGT (preuve de blocage) |
show cts interface Gi1/0/1 |
SGT appliqué sur un port (Peer SGT) |
show device-tracking database interface Gi1/0/1 |
Bindings IP/MAC/VLAN des équipements connectés |
Identifier un problème de communication sur un équipement
Méthodologie de diagnostic pour identifier si un équipement réseau communique correctement, en partant du switch edge où il est connecté.
Étape 1 : Identifier le VLAN et la VRF du subnet
# Trouver le VLAN par son nom
Switch# show vlan brief | include MGMT
# Lister les VRFs et leurs interfaces
Switch# show vrf
Étape 2 : Retrouver l'équipement dans les tables ARP et MAC
# Table ARP complète dans la VRF
Switch# show ip arp vrf VRF_MGMT
# ARP pour une IP spécifique
Switch# show ip arp vrf VRF_MGMT 192.0.2.26
Sortie :
Protocol Address Age (min) Hardware Addr Type Interface
Internet 192.0.2.3 0 aabb.ccdd.ee02 ARPA Vlan42
Internet 192.0.2.25 1 aabb.ccdd.ee12 ARPA Vlan42
Internet 192.0.2.26 16 aabb.ccdd.ee90 ARPA Vlan42
Diagnostic : Un
Ageélevé (ex: 15-16 min) qui ne se rafraîchit pas indique que l'équipement ne communique plus. UnAgeà 0-1 min indique un équipement actif.
# Trouver le port physique via la MAC
Switch# show mac address-table address aabb.ccdd.ee90
# Table MAC complète du VLAN
Switch# show mac address-table vlan 42
Diagnostic : Si la MAC a disparu de la table (aging 300s dépassé), l'équipement n'a émis aucun trafic depuis plus de 5 minutes.
Étape 3 : Inspecter l'état du port physique
Points clés à vérifier :
- is up, line protocol is up (connected) — lien physique actif
- BW 100000 Kbit/sec — bande passante négociée (100 Mb/s vs 1000 Mb/s)
- Full-duplex, 100Mb/s — vitesse et duplex
- Last input 00:03:32 — temps écoulé depuis le dernier paquet reçu
- 0 input errors, 0 CRC — erreurs physiques (doivent être à 0)
# Compteurs de trafic
Switch# show interface Gi6/0/41 counters
# Compteurs d'erreurs
Switch# show interface Gi6/0/41 counters errors
Diagnostic : Comparer
InUcastPktsentre un port sain (ex: 99 000) et un port suspect (ex: 756). Un trafic entrant quasi nul avec un trafic sortant normal indique que l'équipement reçoit les broadcasts du VLAN mais ne génère pas de trafic.
Étape 4 : Tester la connectivité depuis le switch (même VLAN = test L2)
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.0.2.26, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
Important : Si le ping L2 réussit mais qu'un hôte distant (autre VLAN) ne peut pas joindre l'équipement, le problème se situe au niveau du routage inter-VLAN / LISP (voir étape 5).
Étape 5 : Diagnostiquer le routage LISP (overlay)
# Vérifier la route LISP pour une IP
Switch# show ip route vrf VRF_MGMT 192.0.2.26
# Vérifier le mapping LISP (RLOC de destination)
Switch# show lisp instance 1024 ipv4 map 192.0.2.26
Le Locator (RLOC) indique l'edge switch où l'hôte est physiquement connecté. Si deux hôtes ont le même RLOC, ils sont sur le même edge switch — le trafic entre eux reste local (pas de traversée overlay).
Étape 6 : Vérifier le Spanning-Tree
Vérifier : designated forwarding (port actif), portfast, bpduguard activé.
Étape 7 : Vérifier l'authentification 802.1X / Access-session
Note : Un statut
Unauthorizedn'est pas nécessairement bloquant si aucun policy enforcement n'est configuré. Comparer avec un port sain du même VLAN.Attention TrustSec : une session
Unauth(pas de SGT dynamique) n'échappe pas au filtrage — le port peut porter un SGT statique (cts manual) qui s'applique à tout le trafic, authentifié ou non. Voir 8. Diagnostic TrustSec (SGT).
Étape 8 : Vérifier les errdisable
Étape 9 : Voisinage LLDP
Permet d'identifier l'équipement connecté (modèle, hostname, IP de management).
Tableau de diagnostic rapide
| Symptôme | Cause probable | Commande |
|---|---|---|
| Port down | Câble / équipement éteint | show interface |
| Port up, 0 paquet IN | Équipement allumé mais ne communique pas | show interface counters |
| ARP stale (age élevé) | Hôte ne rafraîchit pas son ARP | show ip arp vrf |
| MAC absente de la table | Pas de trafic depuis > 5 min | show mac address-table |
| Ping L2 OK mais L3 KO | Routage inter-VLAN / LISP | show ip route vrf, show lisp |
| Ping OK mais TCP/UDP KO entre 2 ports | RBACL TrustSec permit icmp + deny ip |
show ip access-lists, show cts role-based counters |
| Même VLAN mais communication KO entre 2 ports | Policy TrustSec intra-groupe (SGT) | show cts role-based permissions, show cts role-based counters |
| Erreurs CRC/FCS | Problème physique (câble, NIC) | show interface counters errors |
| Errdisable | BPDU guard, link-flap, etc. | show errdisable detect |
| Vitesse 100M au lieu de 1G | Câble Cat5, longue distance, NIC | show interface |
7. Diagnostic SD-Access / Fabric Wireless
En environnement Cisco SD-Access (SDA) avec un contrôleur sans fil Catalyst 9800 (ou EWC), le dépannage s'effectue en plusieurs étapes de validation des plans de contrôle (LISP/WLC) et de données (VXLAN/VLAN).
Voici la méthodologie pas-à-pas pour diagnostiquer un SSID Fabric qui semble activé mais pour lequel aucun trafic ne remonte sur le pare-feu ou le routeur externe.
Étape 1 : Vérification de la diffusion du SSID sur le WLC
Pour vérifier si le SSID est actif et diffusé par les points d'accès :
- Vérification : Le SSID concerné doit être à l'état UP (ou Enabled). S'il est à l'état DOWN, vérifiez la configuration dans le profil réseau sans fil du Catalyst Center.
- SSID Masqué : Si le SSID est configuré en masqué (hidden), la commande affichera toujours UP mais avec la diffusion désactivée dans les détails du profil (
broadcast-ssid: false).
Étape 2 : Vérification du mappage Fabric (L2-VNID) sur le WLC
Dans une architecture Fabric, le WLC n'associe pas le trafic client à un VLAN local, mais à un L2-VNID (Layer 2 Virtual Network Identifier).
Exemple de sortie attendue :
Name L2-VNID L3-VNID IP Address Subnet Control plane name
----------------------------------------------------------------------------------------------------------------------
WIFI_IOT_POOL 9001 0 0.0.0.0 0.0.0.0 default-control-plane
- Vérification : Vérifiez que le SSID/Pool (
WIFI_IOT_POOL) est bien associé à son identifiant réseau Fabric (ici, L2-VNID9001). Si cette ligne n'existe pas, le SSID n'est pas configuré en mode Fabric (Host Onboarding manquant dans le Catalyst Center).
Étape 3 : Vérification du mappage VLAN/VNID sur le Switch d'Accès (Edge)
Le switch d'accès (Fabric Edge) reçoit le trafic VXLAN encapsulé par la borne AP et doit le faire correspondre à un VLAN local.
Exemple de sortie attendue :
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
100 WIFI_IOT_POOL active L2LI0:9001, Ac1
- Vérification : Le VLAN local
100doit être associé à l'interface logique LISP de niveau 2 (L2LI0:9001) et au port dynamique du client sans fil (Ac1). -
Vérification de la configuration de l'interface SVI :
- Si mode Layer 2 VN (Passerelle externe sur Pare-feu) : L'interface
Vlan100sur le switch Edge ne doit avoir aucune adresse IP. Les switches Edge font uniquement du pontage L2. - Si mode Layer 3 VN (Passerelle sur la Fabric / Anycast Gateway) : L'interface
Vlan100possède l'IP de la passerelle Anycast (ex:192.168.10.254).
- Si mode Layer 2 VN (Passerelle externe sur Pare-feu) : L'interface
Étape 4 : Diagnostic d'un conflit d'architecture (L2 vs L3 VN)
Un des problèmes courants survient lorsqu'un VLAN est conçu pour être géré par un pare-feu externe (mode L2 VN), mais est provisionné par erreur par le Catalyst Center en mode L3 VN (Anycast Gateway) :
- Conflit d'IP : L'adresse IP de la passerelle (ex:
192.168.10.254) est configurée à la fois sur le pare-feu et sur l'interfaceVlandes switches Edge. Les requêtes ARP des clients sont interceptées par le switch Edge au lieu d'aller au pare-feu. -
Rupture de routage au niveau du Border :
- Le switch Edge route le trafic vers le switch Border (via l'instance L3-VNID).
-
Sur le switch Border, vérifiez la table de routage de la VRF concernée :
Si la route par défaut (Gateway of last resort) n'est pas définie, le Border détruit les paquets.
-
Vérifiez si des voisins BGP sont configurés vers le pare-feu pour cette VRF :
Si aucun
neighborn'est configuré sousaddress-family ipv4 vrf VRF_WIFI_IOT, le Border n'a aucun moyen de router le trafic vers le pare-feu externe.
Résolution : Reconfigurer le réseau virtuel dans Catalyst Center en mode Layer 2 Virtual Network avec un Layer 2 Handoff sur le switch Border vers le pare-feu, afin de forcer le pontage L2 pur du trafic client vers sa passerelle réelle.
8. Diagnostic TrustSec / Security Groups (SGT)
Piège classique : les VLANs des deux ports sont corrects, le lien est up, la table MAC est bonne — et pourtant le trafic est bloqué. Sur les switches gérés par Catalyst Center (fabric edge SD-Access ou TrustSec manuel), chaque port peut porter un Security Group Tag (SGT) et les policies s'appliquent par paire de groupes, indépendamment des VLANs. Deux hôtes du même VLAN peuvent être isolés ; deux hôtes de VLANs différents peuvent communiquer librement. Avant d'incriminer les VLANs, LISP ou le câblage, vérifier la couche SGT.
8.1 Comprendre le modèle SGT
| Élément | Rôle |
|---|---|
| SGT | Tag numérique + nom de groupe (ex: 10:DSI, 20:RECHERCHE, 30:ADMINISTRATIF) |
cts manual / policy static sgt N |
SGT statique par port : tout le trafic ingressant le port est taggé N — y compris le VLAN voice, y compris sans authentification |
| RBACL / SGACL | ACLs appliquées par paire (SGT source → SGT destination), téléchargées depuis ISE via RADIUS (cts authorization list) ou Catalyst Center |
Défaut : Permit IP-00 |
Pas de policy pour une paire = tout est autorisé |
| SGT dynamique | SGT poussé par ISE à l'authentification 802.1X/MAB ; une session Unauth (sans SGT dynamique) retombe sur le SGT statique du port |
Conséquences contre-intuitives (constatées en production) :
- Même VLAN ≠ communication garantie : une policy intra-groupe (ex:
DSI→DSI) bloque deux ports du même VLAN. - VLANs différents ≠ isolation : sans policy pour la paire de groupes, le défaut est
Permit. - Le VLAN voice hérite du SGT utilisateur du port : avec
switchport voice vlan 900+cts manual policy static sgt 10, le téléphone est taggé comme l'utilisateur du port. Deux téléphones branchés sur deux ports de même SGT seront bloqués entre eux (policy intra-groupe). - Le ping peut passer quand tout le reste est bloqué : les RBACL d'isolation sont typiquement
permit icmp+deny ip. Un test d'isolation par ping seul n'est pas significatif — toujours valider avec un flux TCP/UDP (iperf, curl, SIP/RTP…). - ARP n'est pas filtré par les RBACL : la résolution MAC fonctionne, seule la couche IP est bloquée.
8.2 Étape 1 : vérifier le SGT des ports
! Config complète du port (VLAN access + voice + SGT)
Switch# show run interface Two1/0/12
interface TwoGigabitEthernet1/0/12
switchport access vlan 100
switchport mode access
switchport voice vlan 900
cts manual
policy static sgt 10
no propagate sgt
! État CTS actif du port ("Peer SGT" = le tag réellement appliqué au trafic)
Switch# show cts interface Two1/0/12
Interface TwoGigabitEthernet1/0/12:
CTS is enabled, mode: MANUAL
Authorization Status: INCOMPLETE
Peer SGT: 10:DSI
Peer SGT assignment: Untrusted
! Mapping complet ports ↔ VLAN ↔ SGT de tout le switch (à lancer en premier)
Switch# show run | include ^interface|switchport access vlan|policy static sgt
Vérification clé : la correspondance VLAN ↔ SGT doit être identique sur tous les ports du switch. Exemple de référence cohérente :
VLAN 100 (VLAN_DSI) → SGT 10 (DSI),VLAN 200 (VLAN_RECHERCHE) → SGT 20 (RECHERCHE),VLAN 300 (VLAN_ADMIN) → SGT 30 (ADMINISTRATIF). Deux types d'anomalies à chercher :
- SGT croisé : un port dont le SGT ne correspond pas à son VLAN (ex: VLAN recherche avec le SGT DSI) → les tests d'isolation donnent des résultats inversés/incohérents.
- SGT absent : un port utilisateur sans
cts manualn'est pas taggé du tout → trafic non taggé → défautPermit→ aucune isolation ne peut jamais s'appliquer sur ce port.
8.3 Étape 2 : identifier les groupes et la matrice de policies
! Matrice des policies (SGT source → SGT destination → RBACL appliqué) + policy par défaut
Switch# show cts role-based permissions
IPv4 Role-based permissions default:
Permit IP-00
IPv4 Role-based permissions from group 30:ADMINISTRATIF to group 20:RECHERCHE:
AC_ADMIN_RECHERCHE-00
IPv4 Role-based permissions from group 20:RECHERCHE to group 20:RECHERCHE:
AC_RECHERCHE-00
IPv4 Role-based permissions from group 10:DSI to group 10:DSI:
AC_DSI-00
IPv4 Role-based permissions from group 10:DSI to group 40:EDUROAM:
Deny IP-00
! Contenu des RBACL (chercher les lignes "Role-based IP access list ... (downloaded)")
Switch# show ip access-lists
! Source des policies téléchargées (liste d'autorisation CTS / RADIUS / ISE)
Switch# show run | sec cts
Role-based IP access list AC_DSI-00 (downloaded)
10 permit icmp
20 deny ip
Role-based IP access list Permit IP-00 (downloaded)
10 permit ip
Role-based IP access list Deny IP-00 (downloaded)
10 deny ip
Lecture :
default: Permit IP-00→ toute paire sans policy explicite est autorisée (ex:DSI→RECHERCHEsi aucune ligne n'existe pour cette paire).- Policy intra-groupe présente (
DSI→DSI,RECHERCHE→RECHERCHE) → isolation des utilisateurs d'un même groupe : le ping passe (permit icmp) mais tout le reste est bloqué (deny ip). - Les noms des groupes SGT apparaissent dans la matrice (
10:DSI,20:RECHERCHE…) — c'est la façon la plus rapide de les identifier sur le switch.
8.4 Étape 3 : prouver le blocage avec les compteurs
Role-based IPv4 counters
From To SW-Denied HW-Denied SW-Permitt HW-Permitt
* * 0 0 0 170739937
30 20 0 0 0 0
20 20 0 0 0 0
10 10 0 47369 0 0
40 40 0 2929 0 0
Diagnostic : la colonne
HW-Deniedest la preuve matérielle du blocage. Ici 47 369 paquets niés sur la paire10→10(DSI→DSI) : la policy intra-groupe bloque activement le trafic entre deux ports pourtant dans le même VLAN. Le compteur*→*(Permit) comptabilise tout le trafic "normal" non filtré. Un compteurHW-Deniedqui grimpe = la cause du symptôme est confirmée.
8.5 Étape 4 : inspecter les équipements connectés (téléphones, postes)
! Session d'authentification (Unauth = pas de SGT dynamique, mais le SGT statique s'applique quand même)
Switch# show access-session interface Two1/0/12
Interface MAC Address Method Domain Status Fg Session ID
--------------------------------------------------------------------------------------------
Tw1/0/12 aabb.ccdd.ee01 N/A UNKNOWN Unauth 0DEF81234567000A2F238F04
! Bindings IP (IP obtenue par DHCP, VLAN, état REACHABLE)
Switch# show device-tracking database interface Two1/0/12
DH4 10.10.1.19 aabb.ccdd.ee01 Tw1/0/12 900 0024 3mn REACHABLE
! Position VLAN de la MAC (un téléphone apparaît sur le VLAN voice ET parfois sur le VLAN access)
Switch# show mac address-table interface Two1/0/19
Vlan Mac Address Type Ports
200 aabb.ccdd.ee02 DYNAMIC Tw1/0/19
900 aabb.ccdd.ee02 DYNAMIC Tw1/0/19
! Tester la joignabilité depuis le SVI (le trafic du switch n'est pas taggé → non filtré par la policy)
Switch# ping vrf VRF_TOIP 10.10.2.21 source Vlan900 repeat 3
Note : un téléphone
Unauth(pas de 802.1X/MAB, dot1x globalement désactivé) n'échappe pas au filtrage TrustSec — le SGT statique du port s'applique à tout le trafic, VLAN voice inclus. Si deux téléphones ne communiquent pas alors qu'ils sont dans le même VLAN/subnet voice, comparer lesPeer SGTde leurs ports : deux ports de même SGT = policy intra-groupe = blocage.
8.6 Commandes inexistantes sur IOS-XE 17.18 (Catalyst 9300)
Ces commandes échouent avec invalid autocommand — ne pas les retenter :
| Commande | Remplacement |
|---|---|
show cts role-based sgt-map |
✗ inexistant |
show cts role-based access-list |
utiliser show ip access-lists |
show cts role-based enforcement |
✗ inexistant |
show cts role-based permissions detail |
utiliser show cts role-based permissions |
show cts role-based statistics |
utiliser show cts role-based counters |
8.7 Cas réel (valeurs anonymisées) : tests de recette incohérents (Fabric Edge Catalyst 9300, IOS-XE 17.18)
Config de référence du switch : VLAN 100 (VLAN_DSI) → SGT 10, VLAN 200 (VLAN_RECHERCHE) → SGT 20, VLAN 300 (VLAN_ADMIN) → SGT 30. Policies : AC_DSI-00 / AC_RECHERCHE-00 = permit icmp + deny ip ; aucune policy entre DSI et RECHERCHE (défaut Permit).
Anomalies trouvées dans la config :
Two1/0/19: VLAN 200 (recherche) mais SGT 10 (DSI) → SGT croiséTwo1/0/34: VLAN 100 (DSI) mais SGT 20 (recherche) → SGT croiséTe1/0/47(VLAN 300) etTe1/0/48(VLAN 200) : aucun SGT → trafic non taggé → défaut Permit → aucune isolation possible sur ces ports
Symptômes observés et explication :
| Test | Résultat | Explication (paire SGT) |
|---|---|---|
| 12 ↔ 19 (VLAN DSI) | KO | Ports dans des VLANs différents (100/200) et paire 10→10 = AC_DSI-00 (deny ip) |
| 12 ↔ 19 (VLAN DSI puis recherche) | KO | Paire 10→10 (les deux ports taggés SGT 10) → deny ip |
| 12 ↔ 34 (VLAN DSI) | OK | Paire 10→20 (SGT du port 34 croisé) → pas de policy → Permit. L'isolation attendue entre 2 ports DSI n'est pas apparue à cause du SGT erroné du port 34 |
| 19 ↔ 34 (VLAN DSI/recherche) | OK | Paire 10↔20 → pas de policy → Permit |
| Téléphones sur 12 ↔ 19 (VLAN voice 900) | KO | Même VLAN/subnet, mais le trafic voice des deux ports est taggé SGT 10 → paire 10→10 → 47 369 paquets HW-Denied |
Leçon : des tests d'isolation qui donnent des résultats inversés par rapport au design (les paires censées être isolées passent, celles censées marcher sont bloquées) sont la signature typique de SGT croisés entre deux ports. Les tests réalisés sur des ports sans SGT sont quant à eux non concluants (défaut Permit systématique).
8.8 Correctif type
! Recadrer le SGT d'un port (cohérence avec le VLAN)
Switch(config)# interface Two1/0/19
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# policy static sgt 20
Switch(config-if-cts-manual)# no propagate sgt
! Ajouter le SGT manquant sur un port utilisateur
Switch(config)# interface TenGigabitEthernet1/0/47
Switch(config-if)# cts manual
Switch(config-if-cts-manual)# policy static sgt 30
Switch(config-if-cts-manual)# no propagate sgt
Important : sur un switch provisionné par Catalyst Center (description "Configured from Catalyst Center" sur les SVI), appliquer la correction dans Catalyst Center (template du port / affectation du scalable group), sinon le prochain provisioning risque d'écraser la modification manuelle. Le SGT statique vient en général du template "Scalable Group" appliqué au port.
À décider côté design : l'isolation intra-groupe bloque aussi le trafic téléphone↔téléphone dès que les deux ports portent le même SGT utilisateur. Si le RTP direct entre téléphones doit passer, prévoir un SGT dédié voix (SGT dynamique via MAB/ISE — l'infra
cts authorization listexiste déjà — ou ports dédiés sans SGT utilisateur).
8.9 Tableau de diagnostic TrustSec
| Symptôme | Cause probable | Commande |
|---|---|---|
| Même VLAN, pas de communication entre 2 ports | Policy intra-groupe SGT | show cts role-based permissions, show cts role-based counters |
| Ping OK mais applications KO | RBACL permit icmp + deny ip |
show ip access-lists |
| Résultats incohérents / inversés selon les ports testés | SGT croisés par rapport aux VLANs | show run \| include ^interface\|switchport access vlan\|policy static sgt |
| Téléphones bloqués entre eux (même VLAN voice) | Trafic voice taggé avec le SGT utilisateur du port | show cts interface <port>, show device-tracking database interface <port> |
| Aucune isolation constatée sur un port | SGT absent du port (non taggé → défaut Permit) | show run interface <port> |
Session Unauth mais trafic quand même filtré |
SGT statique du port (pas besoin d'authentification) | show cts interface <port> |
Compteur HW-Denied qui grimpe sur une paire |
Blocage actif par RBACL (preuve) | show cts role-based counters |