Verbinden von Servern mit einem VLAN | INTROSERV
EUR
european

EUR

usa

USD

German De
Ex. VAT Ex. VAT 0%

Verbinden von Servern mit einem VLAN

Diese Anleitung erklärt, wie VLANs auf Linux-Servern konfiguriert werden, um Netzwerkverkehr zu isolieren und zu kontrollieren. Die folgenden Schritte decken Ubuntu 22.04, Debian 11 sowie AlmaLinux 9 / Rocky Linux 9 ab.

Info

Stellen Sie vor der Konfiguration von VLANs auf dem Server sicher, dass der Switch-Port korrekt konfiguriert ist. Für getaggte VLANs muss der Switch-Port die erforderlichen VLAN-IDs zulassen. Für ungetaggten Datenverkehr muss sich der Port im Access-Modus befinden und dem entsprechenden VLAN zugewiesen sein.

Kernelmodul 8021q überprüfen

Überprüfen Sie bei allen Distributionen vor der VLAN-Konfiguration, ob das Kernelmodul 8021q geladen ist:

lsmod | grep 8021q

Wenn das Modul nicht geladen ist, führen Sie Folgendes aus:

sudo modprobe 8021q

Um das Modul dauerhaft zu aktivieren, fügen Sie es zu /etc/modules hinzu:

echo "8021q" | sudo tee -a /etc/modules

Ubuntu 22.04

Ubuntu 22.04 verwendet netplan für die Netzwerkkonfiguration.

Netzwerkschnittstelle ermitteln

Führen Sie den folgenden Befehl aus, um den Namen der Schnittstelle zu ermitteln:

ip link show

In den folgenden Beispielen lautet der Name der Schnittstelle enp0s8.

Netzwerk für einen ungetaggten Access-Port konfigurieren

In diesem Abschnitt wird eine statische IP-Adresse direkt der physischen Schnittstelle zugewiesen, ohne eine VLAN-Unterschnittstelle zu erstellen.

Öffnen Sie die netplan-Konfigurationsdatei:

sudo nano /etc/netplan/*.yaml

Fügen Sie die folgende Konfiguration hinzu. Verwenden Sie auf jedem Server unterschiedliche IP-Adressen:

Server 1:

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.1/24 routes: - to: default via: 192.168.1.254

Server 2:

network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.2/24 routes: - to: default via: 192.168.1.254

Warning

Der Parameter gateway4 ist seit netplan 0.100 veraltet und erzeugt eine Warnung. Verwenden Sie stattdessen routes: wie oben gezeigt.

Testen Sie die Konfiguration vor der Anwendung. Der Befehl wartet bis zu 120 Sekunden auf eine Bestätigung und setzt die Konfiguration anschließend automatisch zurück, wenn keine Bestätigung erfolgt. Dies ist besonders bei Remote-Servern hilfreich:

sudo netplan try

Wenn die Konfiguration gültig ist, wenden Sie sie an:

sudo netplan apply

Überprüfen Sie, ob die Adresse zugewiesen wurde:

ip addr show enp0s8

Getaggte VLANs konfigurieren

Öffnen Sie die netplan-Konfigurationsdatei und fügen Sie die VLAN-Schnittstellen hinzu. Verwenden Sie für jeden Server und jedes VLAN unterschiedliche IP-Adressen:

Server 1:

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.1/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.1/24

Server 2:

network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.2/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.2/24

Warning

Die Verwendung doppelter IP-Adressen verursacht einen Konflikt. Jeder Server muss in jedem VLAN eine eindeutige IP-Adresse besitzen.

Info

Normalerweise sollte nur eine VLAN-Schnittstelle ein Standard-Gateway besitzen. Die Zuweisung eines Gateways zu mehreren VLAN-Schnittstellen kann zu Routing-Problemen führen, sofern kein erweitertes Routing konfiguriert ist.

Testen und übernehmen Sie die Konfiguration:

sudo netplan try sudo netplan apply

Überprüfen Sie das Ergebnis:

ip addr

Um zu überprüfen, ob VLAN-Tagging korrekt funktioniert:

ip -d link show vlan10 ip -d link show vlan20

Überprüfen Sie die Verbindung:

ping 192.168.10.2 ping 192.168.20.2

Debian 11

Debian 11 verwendet die Datei /etc/network/interfaces für die Netzwerkkonfiguration.

VLAN-Paket installieren

Bei einer sauberen Debian-Installation installieren Sie vor der Konfiguration der VLAN-Schnittstellen das Paket vlan:

sudo apt update sudo apt install vlan

Netzwerkschnittstelle ermitteln

ip link show

In den folgenden Beispielen lautet der Name der Schnittstelle enp0s8.

Netzwerk für einen ungetaggten Access-Port konfigurieren

In diesem Abschnitt wird eine statische IP-Adresse direkt der physischen Schnittstelle zugewiesen, ohne eine VLAN-Unterschnittstelle zu erstellen.

Fügen Sie auf jedem Server Folgendes zu /etc/network/interfaces hinzu.

Warning

Der Befehl ip addr add weist eine Adresse nur vorübergehend zu und übersteht keinen Neustart. Verwenden Sie die untenstehende persistente Konfiguration, um die Einstellung dauerhaft zu machen.

Server 1:

auto enp0s8 iface enp0s8 inet static address 192.168.1.1/24 gateway 192.168.1.254

Server 2:

auto enp0s8 iface enp0s8 inet static address 192.168.1.2/24 gateway 192.168.1.254

Übernehmen Sie die Konfiguration ohne Neustart:

sudo systemctl restart networking

Überprüfen Sie, ob die Adresse aktiv ist:

ip addr

Überprüfen Sie, ob die Server einander erreichen können:

ping 192.168.1.2

Getaggte VLANs konfigurieren

Fügen Sie die VLAN-Schnittstellen auf jedem Server zu /etc/network/interfaces hinzu. Verwenden Sie für jeden Server und jedes VLAN unterschiedliche IP-Adressen.

Server 1:

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.1/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.1/24

Server 2:

auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.2/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.2/24

Übernehmen Sie die Konfiguration:

Warning

Das Neustarten des Netzwerkdienstes auf einem Remote-Server kann die aktuelle SSH-Verbindung unterbrechen.

sudo systemctl restart networking

Überprüfen Sie das Ergebnis:

ip addr

Um zu überprüfen, ob VLAN-Tagging korrekt funktioniert:

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Überprüfen Sie die Verbindung:

ping 192.168.10.2 ping 192.168.20.2

AlmaLinux 9 / Rocky Linux 9

AlmaLinux 9 und Rocky Linux 9 verwenden NetworkManager für die Netzwerkkonfiguration. Das empfohlene Werkzeug zur Verwaltung von Verbindungen ist nmcli. Der veraltete Ansatz über /etc/sysconfig/network-scripts/ wird in RHEL-9-basierten Distributionen nicht unterstützt.

Netzwerkschnittstelle ermitteln

nmcli device status

In den folgenden Beispielen lautet der Name der Schnittstelle enp0s8.

Vorhandene Verbindungen überprüfen

Bevor Sie eine neue Verbindung hinzufügen, prüfen Sie, ob bereits ein Verbindungsprofil für die Schnittstelle vorhanden ist:

nmcli connection show

Wenn ein vorhandenes Profil auf enp0s8 aktiv ist, entfernen Sie es, um Konflikte zu vermeiden. Verwenden Sie den Profilnamen exakt so, wie er in der obigen Ausgabe angezeigt wird. Überspringen Sie diesen Schritt, wenn das vorhandene Profil von Ihrem Hosting-Anbieter oder cloud-init erstellt wurde:

nmcli connection delete "Wired connection 1"

Netzwerk für einen ungetaggten Access-Port konfigurieren

Weisen Sie der physischen Schnittstelle eine statische IP-Adresse zu.

Server 1:

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.1/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Server 2:

nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.2/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary

Überprüfen Sie, ob die Adresse zugewiesen wurde:

ip addr show enp0s8

Überprüfen Sie die Verbindung zwischen den Servern:

ping 192.168.1.2

Getaggte VLANs konfigurieren

Erstellen Sie eine VLAN-Schnittstelle über der physischen Schnittstelle. Verwenden Sie auf jedem Server für jedes VLAN unterschiedliche IP-Adressen.

Server 1:

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.1/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.1/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Server 2:

nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.2/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.2/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20

Warning

Die Verwendung doppelter IP-Adressen verursacht einen Konflikt. Jeder Server muss in jedem VLAN eine eindeutige IP-Adresse besitzen.

Überprüfen Sie das Ergebnis:

ip addr

Um zu überprüfen, ob VLAN-Tagging korrekt funktioniert:

ip -d link show enp0s8.10 ip -d link show enp0s8.20

Überprüfen Sie die Verbindung:

ping 192.168.10.2 ping 192.168.20.2

Fehlerbehebung

Wenn VLAN-Schnittstellen nicht angezeigt werden oder keinen Datenverkehr empfangen:

  • Überprüfen Sie, ob der Switch-Port die erforderlichen VLAN-IDs zulässt.
  • Stellen Sie sicher, dass der vSwitch oder die Portgruppe des Hypervisors für die Weiterleitung von VLAN-Tags konfiguriert ist.
  • Stellen Sie sicher, dass in der Konfiguration die richtige übergeordnete Schnittstelle angegeben ist.
  • Überprüfen Sie, ob das Kernelmodul 8021q geladen ist: lsmod | grep 8021q.

VAT

  • Other

    Ex. VAT

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    22%
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • germany
  • Español
  • Italiano
  • Poland
  • Русский
  • Slovenski
  • Türkçe
  • ukraine
  • kingdom
  • French
  • Hrvatska
  • Other
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czech Republic
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • USA