User Tools

Site Tools


informatique:cisco:configurer_un_vlan

This is an old revision of the document!


"niveau 2" réseau commutateur virtualisation

Configurer un VLAN

ou plus généralement, configurer le niveau 2 sur un commutateur

Théorie du VLAN

Un VLAN (Virtual LAN, ou réseau virtuel), permet de créer plusieurs réseaux sur différents ports du commutateur. Cela consiste à tagger les paquets des LANs virtuels et à les échanger via des liens trunk (vocabulaire Cisco). Ainsi on peut avoir différents réseaux virtuels sur un ou plusieurs commutateur(s), avec un domaine de broadcast propre à chaque VLAN.

Cette technologie est grossièrement comparable au VRF, sauf qu'elle virtualise le niveau 2 (couche liaison) alors que le VRF travaille au niveau 3 (couche réseau ~ routage).

But :

  • segmentation (un domaine de broadcast par VLAN)
  • flexibilité (possibilité de créer plusieurs vlan pour un switch)
  • sécurité (lié à la segmentation)

Par exemple, si on a un réseau “production” et un réseau “qualification”, on ne voudra pas les mélanger pour des raisons évidentes. Plutôt que de prendre 2 commutateurs (un par réseau), on n'en utilisera qu'un seul avec 2 VLANs : le VLAN “prod” et le VLAN “qualif”, chacun étant étanche. Chaque port du commutateur relié à une machine sera “connecté” sur l'un des 2 VLANs.

Tagging

Il existe 2 protocoles pour tagger les VLANs :

  • 802.1q : normalisé par l'IEEE, aussi appelé dot1q, qui ajoute un champ de 4 octets dans la trame Ethernet pour le tagging : 16 bits pour le champ Ethertype (0x8100), 3 bits pour la priorité de la trame (802.1p), 1 bit pour identifier un réseau token ring, et 12 bits pour le VLAN ID (soit 4096 possibilités). C'est appelé single tagging ou internal tagging. Ce protocole n'est utilisé que sur des liens point-à-point (point-to-point).
  • ISL (Inter Switch Link) est le protocole propriétaire CISCO désuet actuellement. Il encapsule la trame Ethernet en lui rajoutant un header de 26 octets et un FCS (CRC) de 4 octets. Le VLAN ID est codé dans un champ de 10 bits, donc ce protocole ne supporte, lui, que 1024 VLANs max. Comme pour le 802.1q, ce protocole n'est utilisé que sur des liens point-à-point (point-to-point).

Les types de VLAN

Les différentes dénominations (types) de VLAN :

  • VLAN par défaut : le VLAN 1, celui dans lequel sont mis tous les ports par défaut.
  • VLAN natif : les trames du VLAN natif ne sont pas tagguées en 802.1q afin d'assurer l'inter-opérabilité avec les matériels ne supportant pas le tagging. C'est par ce VLAN que transitent les protocoles de contrôle tels le CDP, VTP, PAgP et DTP. Par défaut c'est le VLAN 1.
  • VLAN de management : VLAN dans lequel est située d'IP de management du commutateur, via laquelle on accède au matériel pour l'administrer.
  • VLAN utilisateur : VLANs classiques = tous les autres.

Une best-practice concernant les VLANs consiste à isoler le VLAN natif (ni data ni utilisateurs dedans) ainsi que le VLAN d'administration (afin d'y appliquer un contrôle d'accès drastique, sécurité oblige).

Les différents VLANs :

  • le VLAN 1 est, comme vu plus haut, le VLAN natif par défaut.
  • les VLANs 1 à 1001 sont les VLANs standards, enregistrés dans le fichier VLAN.dat sur la mémoire flash (VLAN database).
  • les VLANs 1002 à 1005 sont des VLANs réservés pour FDDI et Token Ring ; ils sont créés automatiquement et on ne peut pas les supprimer.
  • sur un switch configuré en mode transparent utilisant une version récente d'IOS (version “enhanced”) il est possible de créer des VLANs étendus, de 1006 à 4094. Cependant ceux-ci ne sont pas sauvegardés dans la VLAN database.

La règle des 80/20

Vilfredo Paretto était un économiste italien qui avait “découvert” que 80% des richesses d'un pays étaient contrôlées par 20% de la population.

La règle des 80/20 en réseau en est fortement inspirée : “on” a constaté que, généralement, 80% du trafic réseau ne concernait que des flux locaux (serveurs locaux, imprimantes, etc…) alors que seulement 20% des flux étaient distants (fermes de serveurs, internet, etc…). Partant de là on a donc cherché à privilégier les flux intra-VLAN en créant des VLANs par fonction et non géographiques.

De nos jours, les coûts liés à la bande-passante ont baissé et on constate l'apparition de fermes de serveur centralisées (data-center, etc…) ce qui a inverser la métrique de cette règle, qui est devenue la règle des 20/80.

Ces 2 règles sont essentielles pour choisir le type de VLAN que l'on va mettre en place :

  • VLANs locaux si on se rapproche de la règle des 80/20
  • VLANs géographiques si on se rapproche de la règle des 20/80

Création d'un VLAN

Pour créer le vlan 5 de nom “vlan cinq” (tiens, c'est original).

Switch(config)#vlan 5
Switch(config-vlan)#name "vlan cinq"

Jadis il fallait rentrer dans la vlan database pour créer un VLAN ; c'est désormais déconseillé car cette commande est en voie de désuétude.

La configuration des VLANs est contenue dans le fichier flash:/vlan.dat, qu'il faut effacer en plus du fichier de configuration (startup-config) si on veut nettoyer complètement le switch.

Mode access

C'est le cas d'un port physiquement relié à une machine (utilisateur, serveur, …) ; un port en mode access n'appartient qu'un un seul VLAN et est détaggé.

Configuration statique

Caractéristiques : sécurisé, facile à configurer, facile à monitorer.

Pour attribuer un port physique à ce vlan, par exemple le fast ethernet 0/2 :

Switch(config)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 5

Il pourra discuter avec toutes les autres machines connectées sur d'autres ports dans le même VLAN. Pour communiquer avec d'autres machines qui ne sont pas dans le VLAN 5, il faut passer par un routeur (un équipement de niveau 3).

VMPS (configuration dynamique)

Un VLAN Management Policy Server permet d'attribuer des VLANs dynamiquement sur des ports physiques.

C'est un switch ou un serveur qui centralise une base de données faisant correspondre un numéro de VLAN (VLAN ID) à une adresse MAC. Lorsqu'une machine se connecte sur un port, une requête est émise par le switch d'accès à destination du VMPS afin de savoir dans quel VLAN est la machine ; il configurera automatiquement le port :

  • dans le bon VLAN
  • en mode portfast (voir plus bas)

C'est ce qu'on appelle le Dynamic VLAN configuration. Ce mode est incompatible avec le mode port-security et le mode trunk.

Le ports doivent être configurés de cette façon :

switchport access dynamic

VLAN auxiliaire

Avec l'avènement de la VOIP il existe un mode “bâtard” entre le mode access et le mode trunk (ce n'est pas très correct de dire cela mais ça permet de bien s'imaginer la chose). Il permet de préciser, sur un port en mode access, un VLAN supplémentaire spécifique pour la voix. C'est utilisé dans le cas où la machine est reliée à un téléphone IP, qui relais les données du PC + ses trames de VOIP vers le switch. Dans ce cas le “VLAN voix” est appelé le VLAN auxiliaire ; il sera taggué par le téléphone, et se sera totalement transparent pour la machine connectée derrière.

Mode trunk

Pour diffuser des VLANs entre 2 switchs (par exemple) par le même lien physique on doit passer ce lien inter-switch en mode trunk : cela consiste à ajouter une information (un tag) sur chaque paquet Ethernet permettant de définir l'appartenance à un VLAN : c'est ce qu'on appelle le tagging.

Un port trunk doit être configuré en switchport (de niveau 2) et en mode trunk. Ensuite, on doit spécifier les VLANs qui transitent par ce port avec la syntaxe : switchport trunk allowed vlan {all | none | [add | remove | except] <VLANs>}. Par défaut un port en mode trunk relaie tous les VLANs du commutateur.

Enfin il faut spécifier le protocole utilisé pour le trunk : switchport trunk encapsulation [dot1q | isl | negociate] (par défaut, negociate utilisera l'ISL).

Switch(config-if)#switchport
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport trunk allowed vlan add 2,5

Pour modifier le VLAN natif, c'est-à-dire le VLAN non taggué (par défaut c'est le 1 ; ici on le passe à 17) on passe la commande :

Switch(config-if)#switchport trunk native vlan 17

DTP

Dynamic Trunking Protocol permet à un port de dialoguer avec le port d'en face dans le but de passer en mode trunk ou non.

  • switchport nonegociate ne négocie pas le trunk ; la commande n'est accessible que sur un port configuré en mode access ou trunk.
  • switchport mode dynamic {auto | desirable}. Active l'auto configuration du port :
    • mode desirable : négocie activement pour passer le lien en trunk ; il passe donc en mode trunk face à un port configuré en trunk, desirable ou en auto. C'est le mode par défaut.
    • mode auto : négocie passivement le lien en trunk (= il répond juste aux sollicitations qu'il reçoit); il passe en trunk uniquement face à un port configuré en mode trunk ou desirable.

Si rien n'est spécifié c'est une faille potentielle (VLAN hopping) quand c'est sur un port relié à une machine utilisateur (ce dernier peut se faire passer pour un switch, forcer en mode trunk, et faire passer tous les VLANs dessus).

Synthèse des interactions

Dynamic auto Dynamic desirable Trunk Access
Dynamic auto access trunk trunk access
Dynamic desirable trunk trunk trunk access
Trunk trunk trunk trunk déconseillé
Access access access déconseillé access

Vérification

sh dtp interface
 DTP information for GigabitEthernet1/0/1:
 TOS/TAS/TNS:                              ACCESS/OFF/ACCESS
 TOT/TAT/TNT:                              802.1Q/NEGOTIATE/802.1Q
 Neighbor address 1:                       000000000000
 Neighbor address 2:                       000000000000
 Hello timer expiration (sec/state):       never/STOPPED
 Access timer expiration (sec/state):      never/STOPPED
 Negotiation timer expiration (sec/state): never/STOPPED
 Multidrop timer expiration (sec/state):   never/STOPPED
 FSM state:                                S1:OFF
 # times multi & trunk                     0
 Enabled:                                  no
 In STP:                                   no
 
 Statistics
 ----------
 203 packets received (0 good)
 203 packets dropped
     0 nonegotiate, 0 bad version, 0 domain mismatches,
     0 bad TLVs, 0 bad TAS, 0 bad TAT, 0 bad TOT, 203 other
 0 packets output (0 good)
     0 native, 0 software encap isl, 0 isl hardware native
 0 output errors
 0 trunk timeouts
 1 link ups, last link up on Mon Mar 01 1993, 00:01:57
 2 link downs, last link down on Wed Mar 10 1993, 23:43:59

Vérification

Switch#sh vlan [ brief | id <vlan_id> | name <vlan_name> ]
Switch#sh vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/1,Fa0/2, Fa0/3, Fa0/4, Fa0/5
                                                Fa0/6, Fa0/7, Fa0/8, Fa0/9
                                                Gi0/1
5    vlan cinq                        active
1002 fddi-default                     act/unsup
1003 token-ring-default               act/unsup
1004 fddinet-default                  act/unsup
1005 trnet-default                    act/unsup

Les vlans 1, 1002, 1003, 1004 et 1005 sont les vlans par défaut de chaque type d'interface ; on ne peut pas les supprimer.
Là on voit qu'aucun port n'a accès au vlan 5 (aucun port n'est en mode access pour le VLAN 5).

informatique/cisco/configurer_un_vlan.1272030986.txt.gz · Last modified: 2013/10/14 20:51 (external edit)