[[it-themen:start|zurĂĽck]]
#đź“„ Projektdokumentation: Virtueller Switch mit Open vSwitch (OVS)
## 1. Zielsetzung
Aufbau eines virtuellen Switches (ähnlich Extreme Networks) in einer Testumgebung auf einer Linux-VM, um:
* Layer-2-Switching zu simulieren
* VLAN-Tests und später NAC/RADIUS-Integration zu ermöglichen
* möglichst realitätsnahes Verhalten ohne echte Hardware
----
## 2. Systemumgebung
* Linux-Distribution: (z. B. Ubuntu Server 22.04 / Debian 12)
* VM-Umgebung: (Hypervisor wie Proxmox, VMware, VirtualBox)
* Netzwerkinterfaces der VM:
* enp2s1: Management-Interface (getrennt!)
* ens18 bis ens23: Switchports fĂĽr Clients
----
## 3. Installation Open vSwitch
* Installation per Paketmanager:
sudo apt update
sudo apt install openvswitch-switch
* Open vSwitch wird ĂĽber systemd verwaltet:
sudo systemctl enable --now openvswitch-switch
----
## 4. Aufbau der virtuellen Bridge
* Erstellen einer OVS-Bridge (sw0) und HinzufĂĽgen der Ports (ens18 bis ens23):
* Automatisiertes Setup-Skript:
#!/bin/bash
set -e
SWITCH_NAME="sw0"
PORTS=("ens18" "ens19" "ens20" "ens21" "ens22" "ens23")
sudo systemctl enable --now openvswitch-switch
sudo ovs-vsctl --if-exists del-br $SWITCH_NAME
sudo ovs-vsctl add-br $SWITCH_NAME
for iface in "${PORTS[@]}"; do
if ip link show "$iface" > /dev/null 2>&1; then
echo "âž” Port $iface gefunden. HinzufĂĽgen..."
sudo ip link set $iface up
sudo ovs-vsctl add-port $SWITCH_NAME $iface
else
echo "⚠️ Warnung: Interface $iface existiert nicht, wird übersprungen."
fi
done
sudo ip link set $SWITCH_NAME up
echo "âś… Switch $SWITCH_NAME fertig eingerichtet!"
----
## 5. Fehlerquellen und Lösungen
^Problem ^Ursache ^Lösung^
|**Skript hängt beim Ausführen** |Virtuelle NIC (z. B. ens20) defekt oder ohne physisches Backend |Problematische Interfaces aus Skript entfernen oder im Hypervisor entfernen|
|**SSH-Verbindung bricht beim Skriptstart ab** |Netzwerkinterfaces werden verändert; temporäre Instabilität |Management-Interface (enp2s1) niemals in die OVS-Bridge integrieren!|
|**CPU-Auslastung geht auf 100 %** |Kernel wartet endlos auf Antwort von defektem Interface |Nur funktionierende Interfaces verwenden (ens18, ens19)|
|**timeout funktioniert nicht** |Reihenfolge der Befehle (sudo timeout ...) war falsch |sudo ip link set ... direkt sichern, Interfaces vorher auf Existenz prĂĽfen|
----
## 6. Aktueller Stand
* Switch sw0 erfolgreich erstellt
* Ports ens18, ens19, ens20, ens21, ens22, ens23 eingebunden (nur wenn physisch korrekt)
* Management-Zugang stabil ĂĽber enp2s1
* SSH-Verbindung bleibt erhalten
* Kein CPU-Overload mehr
* Skript stabilisiert und bereit fĂĽr Systemd-Autostart
----
## 7. Geplante nächste Schritte
* Aufbau von VLAN-Tagging (Ports einzeln VLANs zuordnen)
* Optional: Trunk-Ports konfigurieren
* Aufbau von RADIUS/802.1X-Authentifizierung (Integration ins NAC-System)
* LLDP-Aktivierung fĂĽr Discovery-Simulation wie echte Switche
* Erweiterte Testumgebung mit echten Clients oder VMs
----
## âś… Fazit
* Mit Open vSwitch auf einer schlanken Linux-VM wurde erfolgreich ein virtueller Layer-2-Switch aufgebaut, der sich für Testumgebungen ähnlich einem echten Extreme Networks Switch verhält. Probleme durch defekte Interfaces und SSH-Instabilität wurden erkannt und sauber behoben.
----
* (Stand: Mai 2025)
{{avatar>lars|Lars.Weiss@gmail.com?l|Lars WeiĂź}} //[[Lars.Weiss@gmail.com|Lars WeiĂź]] 2025/05/02 19:52/