Skip to content

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 :

sudo usermod -aG dialout $USER
# Reconnexion requise pour prise en effet

Se connecter avec screen

sudo screen /dev/ttyACM0 9600

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 :

sudo screen -r

Se connecter avec minicom

sudo minicom -D /dev/ttyACM0 -b 9600
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 minicom ou screen avant 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.

User Access Verification

Username: user
Password: ********
S1>

Pour entrer en mode privilégié :

S1> enable
S1#

Astuce : désactiver la pagination

Pour éviter d'avoir à appuyer sur Espace à chaque page de sortie :

S1# terminal length 0

2. Configuration de Base

Configuration initiale d'un équipement : nom d'hôte, sécurisation des accès et bannière.

Basic Switch Topology

Nommer l'équipement

Switch> enable
Switch# configure terminal
Switch(config)# hostname S1
S1(config)#

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).

VLAN Topology

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.

Routing Topology

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.

Security Topology

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. Un Age à 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
# État complet d'une interface
Switch# show interface Gi6/0/41

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 InUcastPkts entre 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)
Switch# ping vrf VRF_MGMT 192.0.2.26 repeat 5 timeout 2
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
Switch# show spanning-tree interface Gi6/0/47 detail

Vérifier : designated forwarding (port actif), portfast, bpduguard activé.

Étape 7 : Vérifier l'authentification 802.1X / Access-session
Switch# show access-session interface Gi6/0/47 details

Note : Un statut Unauthorized n'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
Switch# show errdisable detect
Étape 9 : Voisinage LLDP
Switch# show lldp neighbors Gi6/0/47 detail

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 :

WLC# show wlan summary
  • 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).

WLC# show wireless fabric vnid mapping

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-VNID 9001). 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.

Switch-Edge# show vlan id 100

Exemple de sortie attendue :

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
100  WIFI_IOT_POOL                    active    L2LI0:9001, Ac1
  • Vérification : Le VLAN local 100 doit ê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 :

    Switch-Edge# show running-config interface Vlan100
    
    • Si mode Layer 2 VN (Passerelle externe sur Pare-feu) : L'interface Vlan100 sur 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 Vlan100 possède l'IP de la passerelle Anycast (ex: 192.168.10.254).

É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) :

  1. 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'interface Vlan des switches Edge. Les requêtes ARP des clients sont interceptées par le switch Edge au lieu d'aller au pare-feu.
  2. 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 :

      Switch-Border# show ip route vrf VRF_WIFI_IOT
      

      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 :

      Switch-Border# show running-config | section router bgp
      

      Si aucun neighbor n'est configuré sous address-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 manual n'est pas taggé du tout → trafic non taggé → défaut Permit → 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→RECHERCHE si 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

Switch# show cts role-based counters
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-Denied est la preuve matérielle du blocage. Ici 47 369 paquets niés sur la paire 10→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 compteur HW-Denied qui 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 les Peer SGT de 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) et Te1/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 list existe 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