Einführung
In diesem Lab lernen Sie, wie Sie Virtual LAN (VLAN)-Schnittstellen auf einem Linux-System mit dem ip-Befehl aus der iproute2-Suite konfigurieren. Sie werden praktische Erfahrungen mit der Erstellung logisch getrennter Netzwerke auf einer einzigen physischen Schnittstelle sammeln, eine grundlegende Fähigkeit für die Netzwerkadministration und -segmentierung. Dieser Prozess ermöglicht es Ihnen, Netzwerkverkehr zu isolieren und Sicherheit sowie Leistung zu verbessern, ohne zusätzliche physische Hardware.
Sie beginnen mit der Vorbereitung des Systems, was die Installation der notwendigen vlan-User-Space-Utilities und das Laden des 802.1q-Kernel-Moduls zur Aktivierung des VLAN-Tagging umfasst. Nach der anfänglichen Einrichtung identifizieren Sie die primäre Netzwerkschnittstelle, erstellen zwei neue virtuelle Schnittstellen für VLAN 10 und VLAN 20 und weisen jeder eine statische IP-Adresse zu. Abschließend verwenden Sie den Befehl ip a, um zu überprüfen, ob die VLAN-Schnittstellen erfolgreich erstellt wurden und auf dem System aktiv sind.
VLAN-Utilities installieren und das 802.1q Kernel-Modul laden
In diesem Schritt bereiten Sie Ihre Linux-Umgebung für die VLAN-Konfiguration vor. Dies umfasst zwei Hauptaktionen: die Installation der notwendigen User-Space-Tools und das Laden des erforderlichen Kernel-Moduls.
Ein Virtual LAN (VLAN) ermöglicht es Ihnen, logisch getrennte Netzwerke auf derselben physischen Netzwerkinfrastruktur zu erstellen. Um VLANs unter Linux zu verwalten, benötigen Sie das Paket vlan, das Kommandozeilen-Tools bereitstellt. Zusätzlich muss der Kernel VLAN-getaggten Datenverkehr verstehen können, was durch das Kernel-Modul 8021q ermöglicht wird, benannt nach dem IEEE 802.1Q-Netzwerkstandard für VLANs.
Zuerst stellen wir sicher, dass Ihre Paketliste aktuell ist, und installieren dann das Paket vlan. Alle Befehle werden im Terminal ausgeführt.
Aktualisieren Sie den Paketindex auf Ihrem System:
sudo apt updateInstallieren Sie das Paket
vlan. Das Flag-ybestätigt die Installation automatisch.sudo apt install -y vlanSie sollten eine Ausgabe sehen, die anzeigt, dass das Paket installiert wird.
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: vlan 0 upgraded, 1 newly installed, 0 to remove and XX not upgraded. Need to get XX.X kB of archives. After this operation, XXX kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu jammy/main amd64 vlan X.X-X [XX.X kB] Fetched XX.X kB in Xs (XX.X kB/s) Selecting previously unselected package vlan. (Reading database ... XXXXXX files and directories currently installed.) Preparing to unpack .../vlan_X.X-X_amd64.deb ... Unpacking vlan (X.X-X) ... Setting up vlan (X.X-X) ...
Nachdem die Tools installiert sind, müssen Sie das Kernel-Modul 8021q laden. Dieses Modul ermöglicht es dem Linux-Kernel, Netzwerkpakete mit VLAN-Tags zu verarbeiten.
Laden Sie das Modul
8021qmit dem Befehlmodprobe:sudo modprobe 8021qDieser Befehl erzeugt normalerweise keine Ausgabe, wenn er erfolgreich ist.
Um zu bestätigen, dass das Modul korrekt geladen wurde, können Sie alle geladenen Module mit
lsmodauflisten und die Ausgabe mitgrepnach8021qfiltern.lsmod | grep 8021qDie Ausgabe sollte das Modul
8021qanzeigen und bestätigen, dass es im Kernel aktiv ist.8021q 36864 0 garp 20480 1 8021q mrp 20480 1 8021q
Ihr System ist nun für die VLAN-Konfiguration bereit. Im nächsten Schritt identifizieren Sie Ihre Netzwerkschnittstelle und beginnen mit der Erstellung von VLANs.
Primäre Netzwerkschnittstelle identifizieren
In diesem Schritt identifizieren Sie den Namen der primären Netzwerkschnittstelle auf Ihrem System. VLAN-Schnittstellen sind virtuelle Schnittstellen, die logisch mit einer physischen Netzwerkschnittstelle verbunden sind. Daher müssen Sie zuerst den Namen dieser physischen "Eltern"-Schnittstelle kennen, bevor Sie darauf VLANs erstellen können.
Wir verwenden den ip-Befehl, der der moderne Standard für die Netzwerkkonfiguration unter Linux ist. Insbesondere zeigt der Befehl ip a (oder ip addr) Informationen über alle Netzwerkschnittstellen an.
Öffnen Sie ein Terminal. Ihr aktuelles Arbeitsverzeichnis ist
~/project.Um alle Netzwerkschnittstellen und ihre Konfigurationen aufzulisten, geben Sie den folgenden Befehl ein und drücken Sie Enter:
ip a
Sie sehen eine Liste aller Netzwerkschnittstellen auf Ihrem System. Suchen Sie nach einer Schnittstelle, die aktiv ist und eine IP-Adresse zugewiesen bekommen hat. Sie können die Schnittstelle lo ignorieren, die das lokale Loopback-Gerät ist. Der Name der primären Schnittstelle beginnt typischerweise mit en (für Ethernet) oder eth.
Hier ist ein Beispiel dafür, wie die Ausgabe aussehen könnte. In diesem Beispiel ist eth0 die primäre physische Schnittstelle.
1: lo: <LOOPBACK,MULTICAST,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:00:04:06 brd ff:ff:ff:ff:ff:ff
altname enp0s5
altname ens5
inet 172.16.50.186/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159924sec preferred_lft 1892159924sec
inet6 fe80::216:3eff:fe00:406/64 scope link
valid_lft forever preferred_lft forever
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:f2:70:14:b5 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
Beachten Sie aus der obigen Ausgabe Folgendes:
eth0: Dies ist der Name der Schnittstelle. Notieren Sie sich diesen Namen, da Sie ihn in den folgenden Schritten benötigen werden. Ihr Schnittstellenname kann anders sein (z. B.ens33).state UP: Dies zeigt an, dass die Schnittstelle aktiv ist.inet 172.16.50.186/24: Dies ist die IPv4-Adresse, die der Schnittstelle zugewiesen ist.
Nachdem Sie Ihre primäre Netzwerkschnittstelle identifiziert haben, sind Sie bereit, VLAN-Schnittstellen darauf zu erstellen.
Virtuelle Schnittstellen für VLAN 10 und VLAN 20 erstellen
In diesem Schritt verwenden Sie den ip-Befehl, um zwei neue virtuelle Netzwerkschnittstellen zu erstellen. Jede Schnittstelle wird mit einer spezifischen VLAN-ID verknüpft, wodurch Ihr Host effektiv mit zwei verschiedenen logischen Netzwerken, VLAN 10 und VLAN 20, verbunden wird. Diese neuen Schnittstellen werden mit der primären physischen Schnittstelle verknüpft, die Sie im vorherigen Schritt identifiziert haben.
Der Befehl zum Erstellen einer VLAN-Schnittstelle lautet ip link add. Lassen Sie uns seine Struktur aufschlüsseln:
sudo ip link add: Der Basisbefehl zum Hinzufügen eines neuen Netzwerk-Links (Schnittstelle).link <physical_interface>: Gibt die übergeordnete physische Schnittstelle an. Ersetzen Sie<physical_interface>durch den Namen, den Sie in Schritt 2 gefunden haben (z. B.eth0).name <vlan_interface_name>: Definiert den Namen für die neue virtuelle Schnittstelle. Eine übliche Konvention ist<physical_interface>.<vlan_id>, wie z. B.eth0.10.type vlan: Gibt an, dass die neue Schnittstelle vom Typ VLAN ist.id <vlan_id>: Weist die numerische VLAN-ID (oder den Tag) zu.
Lassen Sie uns nun die Schnittstellen erstellen. Denken Sie daran, eth0 durch Ihren tatsächlichen Namen der physischen Schnittstelle zu ersetzen, falls dieser abweicht.
Erstellen Sie zuerst die virtuelle Schnittstelle für VLAN 10. Diese Schnittstelle wird
eth0.10genannt.sudo ip link add link eth0 name eth0.10 type vlan id 10Erstellen Sie als Nächstes die virtuelle Schnittstelle für VLAN 20 und nennen Sie sie
eth0.20.sudo ip link add link eth0 name eth0.20 type vlan id 20
Wenn diese Befehle erfolgreich sind, erzeugen sie keine Ausgabe. Sie haben nun die logischen Schnittstellen erstellt, aber sie sind noch nicht aktiv oder mit IP-Adressen konfiguriert. Dies werden Sie im nächsten Schritt behandeln.
IP-Adressen zuweisen und VLAN-Schnittstellen aktivieren
In diesem Schritt werden Sie die neu erstellten VLAN-Schnittstellen online bringen und ihnen IP-Adressen zuweisen. Nach der Erstellung befinden sich Netzwerkschnittstellen standardmäßig im Zustand DOWN, was bedeutet, dass sie deaktiviert sind und keinen Datenverkehr senden oder empfangen können. Sie müssen sie aktivieren und ihnen Netzwerkadressen zuweisen, um sie funktionsfähig zu machen.
Wir verwenden den Befehl ip link set up, um die Schnittstellen zu aktivieren, und ip addr add, um IP-Adressen zuzuweisen.
Zuerst müssen Sie die VLAN-Schnittstellen aktivieren oder "hochfahren". Dies ermöglicht ihnen die Teilnahme an der Netzwerkkommunikation. Führen Sie die folgenden Befehle in Ihrem Terminal aus. Denken Sie daran, Ihren Schnittstellennamen zu verwenden, falls dieser nicht
eth0lautet.Aktivieren Sie die Schnittstelle
eth0.10:sudo ip link set dev eth0.10 upAktivieren Sie die Schnittstelle
eth0.20:sudo ip link set dev eth0.20 upDiese Befehle erzeugen keine Ausgabe, wenn sie erfolgreich sind.
Nachdem die Schnittstellen nun aktiv sind, können Sie jeder einzelnen eine IP-Adresse zuweisen. Wir werden der VLAN 10 eine Adresse aus dem Netzwerk
192.168.10.0/24und der VLAN 20 eine Adresse aus dem Netzwerk192.168.20.0/24zuweisen. Die Notation/24ist die CIDR-Notation für eine Subnetzmaske von255.255.255.0.Weisen Sie der Schnittstelle
eth0.10die Adresse192.168.10.10/24zu:sudo ip addr add 192.168.10.10/24 dev eth0.10Weisen Sie der Schnittstelle
eth0.20die Adresse192.168.20.10/24zu:sudo ip addr add 192.168.20.10/24 dev eth0.20
Ihre VLAN-Schnittstellen sind nun für die aktuelle Sitzung vollständig konfiguriert und aktiv. Im letzten Schritt werden Sie die vollständige Konfiguration überprüfen.
VLAN-Schnittstellenkonfiguration mit ip a überprüfen
In diesem letzten Schritt überprüfen Sie, ob Ihre VLAN-Schnittstellen erfolgreich erstellt, aktiviert und mit den richtigen IP-Adressen konfiguriert wurden. Wenn Sie den Befehl ip a erneut ausführen, sehen Sie die vollständige Netzwerkkonfiguration Ihres Hosts, einschließlich der neuen virtuellen Schnittstellen.
Führen Sie in Ihrem Terminal den Befehl
ip aaus, um alle Informationen zu den Netzwerkschnittstellen anzuzeigen.ip aUntersuchen Sie die Ausgabe sorgfältig. Sie sollten nun Ihre neuen VLAN-Schnittstellen
eth0.10undeth0.20zusammen mit Ihren physischen und Loopback-Schnittstellen aufgelistet sehen.Die Ausgabe sollte in etwa so aussehen:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:16:3e:00:04:06 brd ff:ff:ff:ff:ff:ff inet 172.16.50.186/24 metric 100 brd 172.16.50.255 scope global dynamic eth0 valid_lft 1892159924sec preferred_lft 1892159924sec 3: eth0.10@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:16:3e:00:04:06 brd ff:ff:ff:ff:ff:ff inet 192.168.10.10/24 brd 192.168.10.255 scope global eth0.10 valid_lft forever preferred_lft forever 4: eth0.20@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:16:3e:00:04:06 brd ff:ff:ff:ff:ff:ff inet 192.168.20.10/24 brd 192.168.20.255 scope global eth0.20 valid_lft forever preferred_lft forever
Beachten Sie die folgenden wichtigen Details für Ihre neuen Schnittstellen:
eth0.10@eth0undeth0.20@eth0: Die Namen der VLAN-Schnittstellen. Der Teil@eth0zeigt explizit an, dass sie mit dem physischen Geräteth0verknüpft sind.state UP: Bestätigt, dass beide Schnittstellen aktiv und bereit für die Datenübertragung sind.inet 192.168.10.10/24undinet 192.168.20.10/24: Die IP-Adressen, die Sie im vorherigen Schritt zugewiesen haben, sind korrekt konfiguriert.
Herzlichen Glückwunsch! Sie haben erfolgreich einen einzelnen Linux-Host konfiguriert, um an zwei verschiedenen VLANs teilzunehmen. Dies zeigt, wie ein Server über eine einzige physische Verbindung mit mehreren logischen Netzwerksegmenten kommunizieren kann.
Hinweis zur Persistenz: Die von Ihnen verwendeten ip-Befehle erstellen eine temporäre Konfiguration, die nach einem Neustart verloren geht. In einer Produktionsumgebung würden Sie diese Änderungen dauerhaft machen, indem Sie Konfigurationsdateien für das Netzwerk bearbeiten, wie z. B. die von Netplan (/etc/netplan/*.yaml) oder dem älteren ifupdown-System (/etc/network/interfaces) verwendeten.
Zusammenfassung
In diesem Lab haben Sie den vollständigen Prozess der Erstellung und Konfiguration von VLAN-Schnittstellen unter einem Linux-System mithilfe des ip-Befehls kennengelernt. Sie begannen mit der Vorbereitung der Umgebung, die die Installation des vlan-Pakets für User-Space-Utilities und das Laden des 8021q-Kernelmoduls zur Aktivierung der VLAN-Tag-Verarbeitung umfasste. Dieser grundlegende Schritt stellt sicher, dass das System VLAN-Traffic verstehen und verwalten kann.
Nach der anfänglichen Einrichtung identifizierten Sie die primäre physische Netzwerkschnittstelle, die als Elternschnittstelle für die VLANs dienen sollte. Anschließend verwendeten Sie den Befehl ip link, um zwei separate virtuelle Schnittstellen zu erstellen, eine für VLAN 10 und eine weitere für VLAN 20, und verknüpften diese mit der Elternschnittstelle. Um diese Schnittstellen funktionsfähig zu machen, wiesen Sie jeder eine eindeutige IP-Adresse zu und aktivierten sie. Der Prozess endete mit der Verwendung des Befehls ip a, um zu überprüfen, ob die neuen VLAN-Schnittstellen erfolgreich erstellt, mit den richtigen IP-Adressen konfiguriert und im Netzwerk aktiv waren.



