Una VLAN è un tipo di rete locale che non dispone di una propria infrastruttura fisica dedicata ma utilizza invece un'altra rete locale per trasportare il proprio traffico. Il traffico è incapsulato in modo che un numero di VLAN logicamente separate possa essere trasportato dalla stessa LAN fisica. Con le VLAN, puoi creare più domini di trasmissione distinti che sono isolati a vicenda. Con le VLAN, gli switch di rete (non i router) creano il dominio di trasmissione.
Ogni VLAN è identificata da un VID (VLAN Identifier) compreso tra 1 e 4094 inclusi. Le porte dello switch vengono assegnate a un ID VLAN e tutte le porte assegnate a una singola VLAN si trovano in un unico dominio di trasmissione. Il VID è memorizzato in un'intestazione aggiuntiva di 4 byte che viene aggiunta al pacchetto chiamato Tag. L'aggiunta di un tag a un pacchetto si chiama tagging.
Configurazione del tagging VLAN utilizzando nmcli
1. Puoi utilizzare la connessione nmcli comando per creare una connessione VLAN. Includi "add type vlan " argomenti e qualsiasi informazione aggiuntiva per creare una connessione VLAN. Ad esempio:
# 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'esempio definisce i seguenti attributi della connessione VLAN:
- con-name vlan-ens37.100 :specifica il nome della nuova connessione VLAN
- ifname ens37.100 :specifica l'interfaccia a cui associare la connessione
- sviluppatori37 :specifica il dispositivo fisico (principale) su cui si trova questa VLAN
- id 100 :specifica l'ID VLAN
- ip4 192.168.100.1/24 :Specifica l'indirizzo IPv4 da assegnare all'interfaccia
2. Il comando nmcli con mostra la nuova connessione VLAN.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
3. Questo comando crea il ifcfg-vlan-ens37.100 file. Di seguito è riportato il contenuto di questo file:
# 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. È possibile utilizzare il comando ip addr per visualizzare le informazioni sull'indirizzo del protocollo per i dispositivi di rete. Di seguito viene mostrata l'interfaccia 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. Il dispositivo nmcli il comando mostra il dispositivo ens37.100.
# nmcli device DEVICE TYPE STATE CONNECTION ens37.100 vlan connected vlan-ens37.100
6. La connessione nmcli il comando mostra vlan-ens37.100 connessione.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
Visualizzazione delle informazioni VLAN
Ciascuna interfaccia di rete contiene una directory in /sys/class/net directory. Ad esempio:
# ls /sys/class/net ens33 ens36 ens37 ens37.100 lo
In questo esempio, esiste un'interfaccia VLAN denominata ens37.100 ed esiste una directory con lo stesso nome che contiene le informazioni di configurazione per tale interfaccia. Ad esempio:
# 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
Ci sono anche file in /proc/net/vlan directory che descrive l'interfaccia VLAN. Ad esempio:
# ls /proc/net/vlan config ens37.100
Puoi utilizzare tcpdump utilità per visualizzare i pacchetti con e senza tag per garantire che il traffico venga visualizzato sulle interfacce previste. La -e opzione specifica l'intestazione Ethernet che include i tag 802.1Q. Usa -i opzione per specificare l'interfaccia. Ad esempio:
# tcpdump –e –i ens37