Ein VLAN ist eine Art lokales Netzwerk, das keine eigene dedizierte physische Infrastruktur hat, sondern stattdessen ein anderes lokales Netzwerk verwendet, um seinen Datenverkehr zu übertragen. Der Datenverkehr wird gekapselt, sodass mehrere logisch getrennte VLANs von demselben physischen LAN übertragen werden können. Mit VLANs können Sie mehrere unterschiedliche Broadcast-Domänen erstellen, die voneinander isoliert sind. Bei VLANs erstellen Netzwerk-Switches (nicht Router) die Broadcast-Domäne.
Jedes VLAN wird durch eine VID (VLAN Identifier) im Bereich von 1 bis einschließlich 4094 identifiziert. Switch-Ports werden einer VLAN-ID zugewiesen, und alle Ports, die einem einzelnen VLAN zugewiesen sind, befinden sich in einer einzigen Broadcast-Domäne. Die VID wird in einem zusätzlichen 4-Byte-Header gespeichert, der dem als Tag bezeichneten Paket hinzugefügt wird. Das Hinzufügen eines Tags zu einem Paket wird Tagging genannt.
VLAN-Tagging mit nmcli konfigurieren
1. Sie können die nmcli-Verbindung verwenden Befehl zum Erstellen einer VLAN-Verbindung. Fügen Sie den „Typ VLAN hinzufügen“ hinzu ”-Argumente und alle zusätzlichen Informationen zum Erstellen einer VLAN-Verbindung. Zum Beispiel:
# 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.
Das Beispiel definiert die folgenden Attribute der VLAN-Verbindung:
- con-name vlan-ens37.100 :Gibt den Namen der neuen VLAN-Verbindung an
- ifname ens37.100 :Gibt die Schnittstelle an, an die die Verbindung gebunden werden soll
- dev ens37 :Gibt das physische (übergeordnete) Gerät an, auf dem sich dieses VLAN befindet
- id 100 :Gibt die VLAN-ID an
- ip4 192.168.100.1/24 :Gibt die der Schnittstelle zuzuweisende IPv4-Adresse an
2. Der Befehl nmcli con zeigt die neue VLAN-Verbindung.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
3. Dieser Befehl erstellt die Datei ifcfg-vlan-ens37.100 Datei. Es folgt der Inhalt dieser Datei:
# 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. Sie können den Befehl ip addr verwenden, um die Protokolladressinformationen für die Netzwerkgeräte anzuzeigen. Das Folgende zeigt die VLAN-Schnittstelle, 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. Das nmcli-Gerät Befehl zeigt das Gerät ens37.100.
# nmcli device DEVICE TYPE STATE CONNECTION ens37.100 vlan connected vlan-ens37.100
6. Die nmcli-Verbindung Befehl zeigt die vlan-ens37.100 Verbindung.
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
Anzeigen von VLAN-Informationen
Jede Netzwerkschnittstelle enthält ein Verzeichnis in /sys/class/net Verzeichnis. Zum Beispiel:
# ls /sys/class/net ens33 ens36 ens37 ens37.100 lo
In diesem Beispiel existiert eine VLAN-Schnittstelle mit dem Namen ens37.100 und ein Verzeichnis mit demselben Namen, das Konfigurationsinformationen für diese Schnittstelle enthält. Zum Beispiel:
# 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
Es gibt auch Dateien in /proc/net/vlan Verzeichnis, das die VLAN-Schnittstelle beschreibt. Zum Beispiel:
# ls /proc/net/vlan config ens37.100
Sie können den tcpdump verwenden Dienstprogramm zum Anzeigen von gekennzeichneten und nicht gekennzeichneten Paketen, um sicherzustellen, dass der Datenverkehr auf den erwarteten Schnittstellen angezeigt wird. Das -e Die Option gibt den Ethernet-Header an, der 802.1Q-Tags enthält. Verwenden Sie das -i Option zur Angabe der Schnittstelle. Zum Beispiel:
# tcpdump –e –i ens37