VLAN

Configuration :

Commande Description
Switch# conf t Entrer en mode configuration
Switch(config)# vlan 25 Création de VLAN
Switch(config-vlan)# name SRV_SMTP Assigner un nom au VLAN
Switch(config-vlan)# interface f0/2 Configurer une interface
Switch(config-if)# switchport mode access Spécifier que le port aura une fonction de Layer 2 avec un VLAN
Switch(config-if)# switchport access vlan 25 Assignation du VLAN
Switch(config-if)# no shutdown On ouvre le port

Vérification :

Vérifier l’affectation des vlans :

Switch# show vlan

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig1/1, Gig1/2
2    test                             active    Fa0/1
25   SRV_SMTP                         active    Fa0/2
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
1    enet  100001     1500  -      -      -        -    -        0      0
2    enet  100002     1500  -      -      -        -    -        0      0
25   enet  100025     1500  -      -      -        -    -        0      0
1002 fddi  101002     1500  -      -      -        -    -        0      0
1003 tr    101003     1500  -      -      -        -    -        0      0
1004 fdnet 101004     1500  -      -      -        ieee -        0      0
1005 trnet 101005     1500  -      -      -        ibm  -        0      0

Remote SPAN VLANs
------------------------------------------------------------------------------

Primary Secondary Type              Ports
------- --------- ----------------- ------------------------------------------

Attention, cette commande n’affiche pas les vlans qui passent par des trunks, voir commande show interface trunk ou la commande suivante :

Switch# show vlan id 25

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
25   SRV_SMTP                         active    Fa0/2

VLAN Type  SAID       MTU   Parent RingNo BridgeNo Stp  BrdgMode Trans1 Trans2
---- ----- ---------- ----- ------ ------ -------- ---- -------- ------ ------
25   enet  100025     1500  -      -      -        -    -        0      0
Description des champs :
Champs Description
VLAN VLAN number.
Name Name, if configured, of the VLAN.
Status Status of the VLAN (active or suspend).
Ports Ports that belong to vlan
Type Media type of the VLAN.
SAID Security association ID value for the VLAN.
MTU Maximum transmission unit size for the VLAN.
Parent Parent VLAN, if one exists.
RingNo Ring number for the VLAN, if applicable.
BrdgNo Bridge number for the VLAN, if applicable.
Stp Spanning Tree Protocol type used on the VLAN.
BrdgMode Bridging mode for this VLAN.
Trans1 Translation bridge 1
AREHops Maximum number of hops for All-Routes Explorer frames.
STEHops Maximum number of hops for Spanning Tree Explorer frames.

Afficher la configuration d’un port :

Switch# show interfaces f0/2 switchport
Name: Fa0/2
Switchport: Enabled
Administrative Mode: static access
Operational Mode: down
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 25 (SRV_SMTP)
Trunking Native Mode VLAN: 1 (default)
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Appliance trust: none

Trunk

Configuration :

Commande Description
Switch# conf t Entrer en mode configuration
Switch(config)# vlan 5,7-9 Création des vlan 5,7,8 et 9
Switch(config-vlan)# interface f0/1 Entrer dans la conf de l'interface f0/1
Switch(config-if)# shutdown on ferme l'interface car on va modifier le type d'encapsulation
Switch(config-if)# switchport trunk encapsulation dot1q On met l'encapsulation à dot1q
Switch(config-if)# switchport mode trunk On forme l'interface en trunk
Switch(config-if)# switchport nonegotiate on désactive le DTP
Switch(config-if)# switchport trunk native vlan 99 On modifie le native vlan (facultatif)
Switch(config-if)# switchport trunk allowed vlan 3,5,7-9 On autorise que les vlans3,5,7,8,9 sur ce trunk
Switch(config-if)# switchport trunk allowed vlan add 10 on ajoute le vlan 10 aux vlans existant
Switch(config-if)# no shutdown on ouvre le port

Vérification :

Voir la configuration des trunks

Switch# show interfaces trunk 
Port        Mode         Encapsulation  Status        Native vlan
Fa0/1       on           802.1q         trunking      99

Port        Vlans allowed on trunk
Fa0/1       3,5,7-10

Port        Vlans allowed and active in management domain
Fa0/1       3,5,7,8,9,10

Port        Vlans in spanning tree forwarding state and not pruned
Fa0/1       3,5,7,8,9,10

Afficher la configuration d’un port :

Switch# show interfaces f0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: trunk
Operational Mode: trunk
Administrative Trunking Encapsulation: dot1q
Operational Trunking Encapsulation: dot1q
Negotiation of Trunking: Off    <= état DTP
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 99
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan: none
Trunking VLANs Enabled: 3,5,7-10
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Unknown unicast blocked: disabled
Unknown multicast blocked: disabled
Appliance trust: none

Différence entre une trame ethernet et 802.1q :

image trame

Tag sur 32bits (4Bytes) : TPID et TCI
Tag Protocol IDentifier, TPID : EtherType (16bits) : 0x8100
Tag Control Information (16bits) contient :

  • Priority (3 bits) : Ce champ de 3 bits fait référence au standard IEEE 802.1p. Sur 3 bits on peut coder 8 niveaux de priorité de 0 à 7. Ces 8 niveaux sont utilisés pour fixer une priorité aux trames d’un VLAN relativement aux autres VLANs. La notion de priorité dans les VLANs (niveau 2) est indépendante des mécanismes de priorité IP (niveau 3).
  • CFI (1 bit) : Canonical Format Identifier est codé sur 1 bit assure la compatibilité entre les adresses MAC Ethernet et Token Ring. Un commutateur Ethernet fixera toujours cette valeur à 0. Si un port Ethernet reçoit une valeur 1 pour ce champ, alors la trame ne sera pas propagée puisqu’elle est destinée à un port «sans balise» (untagged port).
  • Vlan ID, VID (12 bit) : Ce champ de 12 bits sert à identifier le virtual lan (VLAN) auquel appartient la trame. Il est possible de coder 4096 VLANs avec ce champ.

Liste des EtherTypes.

Dynamic Trunk Protocol alias DTP :

DTP est un protocole propriétaire Cisco qui permet de gérer dynamiquement l’activation/désactivation du mode trunk d’un port sur un switch si l’équipement distant le reconnait.

La commande switchport mode prends plusieurs arguments :

Switch(config-if)# switchport mode {access | dynamic {auto | desirable} | trunk }

Dynamic desirable : Annonce activement sa volonté de monter un trunk (option par défaut).
Dynamic auto : N’envoie pas de requêtes mais répond aux solicitations du distant.

Matrice d’interconnexion :

Dynamic Auto Dynamic Desirable Trunk Access
Dynamic Auto (DTP on) Access Trunk Trunk Acess
Dynamic Desirable (DTP on) Trunk Trunk Trunk Access
Trunk (DTP on/off) Trunk Trunk Trunk Limited connectivity
(Not recommended)
Access (DTP on/off) Access Acces Limited connectivity
(Not recommended)
Access

Vérification :

TOS = Trunk Operational Status
TAS = Trunk Administrative Status
TNS = Trunk Negotiation Status

TOT = Trunk Operational (encapsulation) Type
TAT = Trunk Adminstrative (encapsulation) Type
TNT = Trunk Negotiation (encapsulation) Type

#Dynamic Desirable
switch# show dtp interface f0/22
DTP information for FastEthernet0/22:
TOS/TAS/TNS:                              ACCESS/DESIRABLE/ACCESS
TOT/TAT/TNT:                              802.1Q/802.1Q/802.1Q


#Dynamic Auto
swicth# show dtp interface f0/22
DTP information for FastEthernet0/22:
TOS/TAS/TNS:                              ACCESS/AUTO/ACCESS
TOT/TAT/TNT:                              802.1Q/802.1Q/802.1Q


#Trunk (port down)
switch# show dtp interface f0/22
DTP information for FastEthernet0/22:
TOS/TAS/TNS:                              ACCESS/ON/ACCESS
TOT/TAT/TNT:                              802.1Q/802.1Q/802.1Q


#Access (port down)
switch# show dtp interface f0/22
DTP information for FastEthernet0/22:
TOS/TAS/TNS:                              ACCESS/OFF/ACCESS
TOT/TAT/TNT:                              802.1Q/802.1Q/802.1Q


#trunk (port up) et nonegotiate
swicth# show dtp interface g0/1 
DTP information for GigabitEthernet0/1:
TOS/TAS/TNS:                              TRUNK/NONEGOTIATE/TRUNK
TOT/TAT/TNT:                              802.1Q/802.1Q/802.1Q

Désactivation du DTP :

Switch(config-if)# switchport nonegotiate

Personnellement c’est de base dans mes templates de configuration.

Recommandations :

  • Configurer les VLANs
  • Configurer le mode trunk
  • Désactiver la négociation du trunk
  • Retirer manuellement les VLANs qui ne sont pas nécessaires du trunk
  • Configurer le native VLAN à un VLAN non utilisé.
  • Désactiver le trunk sur les ports d’accès
  • Ne pas utiliser VTP

Note :

Les best practices recommandent de désactiver le DTP lors de la création d’un trunk.
Si un port trunk n’est pas utilisé, on peux le désactiver avec la commande switchport host qui est une commande macro de switchport mode access et spanning-tree portfast.
Quand vous utilisez DTP, les switchs d’extrémités doivent être dans le même VTP domaine.

Vlan Trunking Protocol alias VTP

Vous pouvez utiliser le VTP en mode Client/Server pour propager la définition des VLAN à travers les switchs du réseau. Ce mode est parfois utilisé pour les nouveaux réseaux pour implémenter les nouveaux VLANs. Dans les réseaux de grandes taille cela peut être dangereux, si vous effacer un VLAN par erreur sur un VTP server, cela va se répercuter sur tous les switchs du domaine VTP et cela peut être une source d’attaque.

Pour propager les VLANs via VTP il faut que les switchs appartiennent au même VTP Domain.

Après l’interprétation des annonces VTP par un switch dépend de sont mode VTP :

  • Server
    • Créer, modifier et supprimer les VLANs en CLI.
    • Générer et transférer les avertissement VTP aux autres switchs du même domaine de management.
    • Peut mettre à jour sa propre VLAN database avec les informations reçues des autres server du même domaine de management.
    • Sauvegarder la configuration des VLANs dans le vlan.dat dans la flash.
  • Client
    • Ne peut pas créer, modifier ou supprimer un VLAN en CLI
    • Transfert les avertissements VTP reçus.
    • Synchronise sa VLAN database avec les dernières information reçus des servers dans le domaine de management.
    • Les informations de VLANs sont seulement stockée en RAM, elles sont recrées par un VTP server lors d’un reboot.
  • Transparent
    • Créer, modifier et supprimer les VLANs locaux
    • Ne génère pas d’avertissement VTP
    • Ne met pas à jour sa VLAN database avec les informations reçus des VTP server du même domaine
    • Transfère les avertissement VTP reçus des VTP servers dans le même domaine VTP
    • Le numéro de révision est toujours à zéro
    • Sauvegarde de la configuration des VLANs en NVRAM

Autre définition avec ce protocole, le VTP pruning : Cette commande optionnelle permet de faire des économies de bande passante.

Explication: imaginons qu’un switch reçoit les VLANs 1 et 2 mais qu’aucunes de ses interfaces appartiennent au VLAN 2. Lorsque le switch voisin lui enverra des trames du VLAN 2, ce switch les supprimera car aucune de ses interfaces appartiennent à ce VLAN. Il est donc inutile que le switch voisin lui envoi du trafic pour le VLAN 2.

On active alors la fonction VTP pruning pour avertir le switch voisin de ne pas lui envoyer de trafic pour ce VLAN. La fonction s’active à partir du switch Server. image prunning

Attention à la Revision Number lors de l'ajout d'un switch, car c'est le switch ayant le plus grand revision number qui écrase la configuration de VLAN.

Attribut de VTP :

  • Propriétaire Cisco
  • Mode server par défaut
  • VTP avertit les VLANs de 1 à 1005 seulement
  • Les updates VTP sont réalisées seulement sur les trunks
  • Chaque switch qui opère dans un mode VTP détermine comment les VTP updates sont envoyées et reçus ce switch
  • Un switch ne peut être que dans un seul domaine VTP
  • Un domaine VTP peut contenir seulement un switch
  • Les updates VTP seront échangées seulement avec les switchs du domaine
  • La façon dont l’information des VLANs est échangée entre les switchs du domaine dépend du mode VTP du switch
  • Par défaut il n’y a pas de VTP domaine de configuré, si le switch reçoit un avertissement VTP sur un port trunk, celui-ci configurera le domaine automatiquement (mais pas le password).

Recommandation :

Configurer le VTP en mode transparent, l’information des VLANs est stockée dans la configuration du switch et pas d’avertissements VTP aux autres switchs.

Configuration (pour la recommandation) :

Switch(config)# vtp mode transparent
Switch(config)# vtp domain Cisco
Switch(config)# vtp password wxcVBN123

Commandes de configuration :

Commande Description
Switch(config)# vtp domain CiscO Création du domaine VTP
Switch(config)# vtp password toto Mot de passe pour envoyer et valider la reception d'avertissement VTP. Valeur sur 16B en MD5, password en ASCII de 1 à 32 caractères et case-sensitive.
Switch(config)# vtp version 2 Activation du VTP version 2
Switch(config)# vtp v2-mode Activation du VTP version 2 suivant les versions IOS
Switch(config)# vtp mode { client | server | transparent } Choix du mode
Switch(config)# vtp prunning Active le prunning
Switch# show vtp status Affiche divers informations sur la configuration VTP
Switch# show vtp counters Indique si les VTP updates sont envoyées et reçues par le switch
Switch# show vtp password Affiche le password VTP en claire

Native VLAN :

  • les trames de native VLAN sont envoyées non taguées sur les liens trunk.
  • Le native VLAN doit être identique sur les deux extrémités d’un trunk.
  • Une différence de native VLAN sur un trunk mélangera le traffic de VLANs différent
  • Par défaut le native VLAN est le VLAN 1
  • Configurer un native VLAN avec un VLAN non utilisé sur les trunks

Les swictchs qui utilisent CDP seront avertis de différence de native VLAN sur un trunk.