Un VLAN est un type de réseau local qui ne possède pas sa propre infrastructure physique dédiée mais utilise à la place un autre réseau local pour acheminer son trafic. Le trafic est encapsulé afin qu'un certain nombre de VLAN logiquement séparés puissent être transportés par le même LAN physique. Avec les VLAN, vous pouvez créer plusieurs domaines de diffusion distincts mutuellement isolés. Avec les VLAN, les commutateurs réseau (et non les routeurs) créent le domaine de diffusion.
Chaque VLAN est identifié par un VID (VLAN Identifier) compris entre 1 et 4094 inclus. Les ports de commutateur sont attribués à un ID de VLAN et tous les ports attribués à un seul VLAN se trouvent dans un seul domaine de diffusion. Le VID est stocké dans un en-tête supplémentaire de 4 octets qui est ajouté au paquet appelé Tag. L'ajout d'un tag à un paquet s'appelle le marquage.
Configuration du balisage VLAN à l'aide de nmcli
1. Vous pouvez utiliser la connexion nmcli commande pour créer une connexion VLAN. Inclure le "ajouter un type vlan ” arguments et toute information supplémentaire pour créer une connexion VLAN. Par exemple :
# nmcli con add type vlan con-name vlan-ens37.100 ifname ens37.100 dev ens37 id 100 ip4 192.168.100.1/24 Connection 'vlan-ens37.100' (66950580-5ee1-40f7-8ce3-b9819fdfc492) successfully added.
L'exemple définit les attributs suivants de la connexion VLAN :
- con-nom vlan-ens37.100 :Spécifie le nom de la nouvelle connexion VLAN
- ifname ens37.100 :spécifie l'interface à laquelle lier la connexion
- dev ens37 :Spécifie le périphérique physique (parent) sur lequel se trouve ce VLAN
- identifiant 100 :Spécifie l'ID de VLAN
- ip4 192.168.100.1/24 :Spécifie l'adresse IPv4 à attribuer à l'interface
2. La commande nmcli con affiche la nouvelle connexion VLAN.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
3. Cette commande crée le ifcfg-vlan-ens37.100 dossier. Voici le contenu de ce fichier :
# cat /etc/sysconfig/network-scripts/ifcfg-vlan-ens37.100 VLAN=yes TYPE=Vlan DEVICE=ens37.100 PHYSDEV=ens37 VLAN_ID=100 REORDER_HDR=yes GVRP=no MVRP=no BOOTPROTO=none IPADDR=192.168.100.1 PREFIX=24 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=vlan-ens37.100 UUID=66950580-5ee1-40f7-8ce3-b9819fdfc492 ONBOOT=yes
4. Vous pouvez utiliser la commande ip addr pour afficher les informations d'adresse de protocole pour les périphériques réseau. Voici l'interface VLAN, ens37.100 :
# ip add show 1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens37.100@ens37: [BROADCAST,MULTICAST,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000 link/ether 00:0c:29:54:f7:34 brd ff:ff:ff:ff:ff:ff inet 192.168.100.1/24 brd 192.168.100.255 scope global ens37.100 valid_lft forever preferred_lft forever inet6 fe80::473b:5fc1:87d:89c3/64 scope link valid_lft forever preferred_lft forever
5. Le dispositif nmcli La commande affiche le périphérique ens37.100.
# nmcli device DEVICE TYPE STATE CONNECTION ens37.100 vlan connected vlan-ens37.100
6. La connexion nmcli la commande affiche le vlan-ens37.100 connexion.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
Affichage des informations VLAN
Chaque interface réseau contient un répertoire dans le répertoire /sys/class/net annuaire. Par exemple :
# ls /sys/class/net ens33 ens36 ens37 ens37.100 lo
Dans cet exemple, il existe une interface VLAN nommée ens37.100 et un répertoire du même nom qui contient des informations de configuration pour cette interface. Par exemple :
# ls /sys/class/net/ens37.100 addr_assign_type broadcast dev_id duplex ifalias link_mode netdev_group power statistics type address carrier dev_port flags ifindex lower_ens37 operstate queues subsystem uevent addr_len carrier_changes dormant gro_flush_timeout iflink mtu phys_port_id speed tx_queue_len
Il y a aussi des fichiers dans /proc/net/vlan répertoire décrivant l'interface VLAN. Par exemple :
# ls /proc/net/vlan config ens37.100
Vous pouvez utiliser le tcpdump utilitaire pour voir les paquets étiquetés et non étiquetés pour s'assurer que le trafic s'affiche sur les interfaces attendues. Le -e L'option spécifie l'en-tête Ethernet qui inclut les balises 802.1Q. Utilisez le -i option pour spécifier l'interface. Par exemple :
# tcpdump –e –i ens37