Open Vswitch Projekt VM

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Open vSwitch Lab VM in VirtualBox anlegen

Ziel

Es soll eine Debian 13 VM mit dem Namen ovs-lab in VirtualBox erstellt werden. Die VM wird aus dem bestehenden Template debian-template geklont und anschließend mit 18 VirtIO-Netzwerkkarten ausgestattet.

  • NIC 1–17: interne Netze (eth0–eth16) für den OVS-Switch
  • NIC 18: NAT mit SSH-Portforwarding (Konsolen-Port)

Template klonen

vboxmanage clonevm debian-template --name ovs-lab --register

VM anpassen

vboxmanage modifyvm ovs-lab --cpus 2 --memory 2048 --chipset ich9

NIC 1 für die Installation vorbereiten

NIC 1 wird temporär als Bridged-Adapter auf das Host-Interface br0 gesetzt, damit die VM während der Installation erreichbar ist:

vboxmanage modifyvm ovs-lab --nic1 bridged --nictype1 virtio \
    --bridgeadapter1 br0 --cableconnected1 on

NICs 2–17 als interne Netze konfigurieren

for k in $(seq 2 17); do
    l=$(($k-1))
    vboxmanage modifyvm ovs-lab --nic$k intnet --nictype$k virtio \
        --intnet$k "eth$l" --cableconnected$k on --nicpromisc$k allow-all
done

NIC 18 als NAT-Konsolen-Port konfigurieren

NIC 18 dient als Konsolen-Port (analog zum Konsolen-Port eines echten Switches):

vboxmanage modifyvm ovs-lab --nic18 nat --nictype18 virtio --cableconnected18 on
vboxmanage modifyvm ovs-lab --natpf18 "ssh,tcp,,2222,,22"

Kontrolle

vboxmanage showvminfo ovs-lab

Ergebnis

  • VM-Name: ovs-lab
  • OS: Debian 13 (64-Bit)
  • CPU: 2 vCPUs
  • RAM: 2 GB
  • Chipsatz: ICH9
  • NIC 1: intnet br0 (temporär für Installation)
  • NIC 2–17: interne Netze eth1–eth16
  • NIC 18: NAT, SSH-Portforwarding Host 2222 → Guest 22 (Konsolen-Port)

Die VM ist nun bereit für die Debian-Installation.

ssh config anlegen

Der Pseudo Konsolenport
Host ovs-lab
  Hostname 127.0.0.1
  Port 2222
  User kit
Wenn noch nicht geschehen
  • ssh-copy-id ovs-lab

Netzwerkinterfaces umbenennen (eth1–eth18)

Die Netzwerkinterfaces werden per udev-Regel dauerhaft und zuverlässig in eth1–eth18 umbenannt.

MAC-Adressen auf dem Host auslesen

Auf dem Host ausführen:

for k in $(seq 1 18); do
    mac=$(vboxmanage showvminfo ovs-lab --machinereadable \
        | grep "^macaddress$k=" \
        | cut -d= -f2 \
        | tr -d '"' \
        | sed 's/../&:/g;s/:$//' \
        | tr '[:upper:]' '[:lower:]')
    echo "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$mac\", NAME=\"eth$k\""
done > 10-ovs-nics.rules
Die Datei 10-ovs-nics.rules muss später in die VM

Rüberkopieren

Zugriff

  • ssh kit@localhost -p 2222