Open Vswitch Projekt VM: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 5: Zeile 5:
 
Die VM wird aus dem bestehenden Template '''debian-template''' geklont und anschließend mit 18 VirtIO-Netzwerkkarten ausgestattet.
 
Die VM wird aus dem bestehenden Template '''debian-template''' geklont und anschließend mit 18 VirtIO-Netzwerkkarten ausgestattet.
 
* NIC 1: Bridged auf Host-'''br0''' (temporär für die Installation)
 
* NIC 1: Bridged auf Host-'''br0''' (temporär für die Installation)
* NIC 2–17: interne Netze eth2–eth17 für den OVS-Switch
+
* NIC 2–17: interne Netze port2–port17 für den OVS-Switch
 
* NIC 18: NAT mit SSH-Portforwarding (Konsolen-Port)
 
* NIC 18: NAT mit SSH-Portforwarding (Konsolen-Port)
  
Zeile 29: Zeile 29:
 
for k in $(seq 2 17); do
 
for k in $(seq 2 17); do
 
     vboxmanage modifyvm ovs-lab --nic$k intnet --nictype$k virtio \
 
     vboxmanage modifyvm ovs-lab --nic$k intnet --nictype$k virtio \
         --intnet$k "eth$k" --cableconnected$k on --nicpromisc$k allow-all
+
         --intnet$k "port$k" --cableconnected$k on --nicpromisc$k allow-all
 
done
 
done
 
</pre>
 
</pre>
Zeile 52: Zeile 52:
 
* Chipsatz: ICH9
 
* Chipsatz: ICH9
 
* NIC 1: Bridged auf Host-'''br0''' (temporär für Installation)
 
* NIC 1: Bridged auf Host-'''br0''' (temporär für Installation)
* NIC 2–17: interne Netze eth2–eth17
+
* NIC 2–17: interne Netze port2–port17
 
* NIC 18: NAT, SSH-Portforwarding Host 2222 → Guest 22 (Konsolen-Port)
 
* NIC 18: NAT, SSH-Portforwarding Host 2222 → Guest 22 (Konsolen-Port)
  
Zeile 66: Zeile 66:
 
</pre>
 
</pre>
  
== Netzwerkinterfaces umbenennen (eth1–eth18) ==
+
== Netzwerkinterfaces umbenennen (port1–port18) ==
Die Netzwerkinterfaces werden per '''udev'''-Regel dauerhaft und zuverlässig in '''eth1–eth18''' umbenannt.
+
Die Netzwerkinterfaces werden per '''udev'''-Regel dauerhaft und zuverlässig in '''port1–port18''' umbenannt.
  
 
=== MAC-Adressen auf dem Host auslesen ===
 
=== MAC-Adressen auf dem Host auslesen ===
Zeile 79: Zeile 79:
 
         | sed 's/../&:/g;s/:$//' \
 
         | sed 's/../&:/g;s/:$//' \
 
         | tr '[:upper:]' '[:lower:]')
 
         | tr '[:upper:]' '[:lower:]')
     echo "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$mac\", NAME=\"eth$k\""
+
     echo "SUBSYSTEM==\"net\", ACTION==\"add\", ATTR{address}==\"$mac\", NAME=\"port$k\""
 
done > 10-ovs-nics.rules
 
done > 10-ovs-nics.rules
 
</pre>
 
</pre>

Version vom 3. Mai 2026, 08:25 Uhr

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: Bridged auf Host-br0 (temporär für die Installation)
  • NIC 2–17: interne Netze port2–port17 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
    vboxmanage modifyvm ovs-lab --nic$k intnet --nictype$k virtio \
        --intnet$k "port$k" --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: Bridged auf Host-br0 (temporär für Installation)
  • NIC 2–17: interne Netze port2–port17
  • 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

Netzwerkinterfaces umbenennen (port1–port18)

Die Netzwerkinterfaces werden per udev-Regel dauerhaft und zuverlässig in port1–port18 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=\"port$k\""
done > 10-ovs-nics.rules

Die Datei 10-ovs-nics.rules muss anschließend in die VM übertragen werden.

SSH-Key kopieren

ssh-copy-id kit@<DHCP-IP-GUCKEN>

Rules kopieren

scp 10-ovs-nics.rules kit@<DHCP-IP-GUCKEN>:

Einloggen

ssh kit@<DHCP-IP-GUCKEN>