User Tools

Site Tools


informatique:cisco:configurer_un_vlan

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

informatique:cisco:configurer_un_vlan [2013/10/14 22:44]
informatique:cisco:configurer_un_vlan [2013/10/14 22:44] (current)
Line 1: Line 1:
 +{{tag>"​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 [[informatique:​cisco:​vrf|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.txt · Last modified: 2013/10/14 22:44 (external edit)