Open Vswitch Projekt VM: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 4: Zeile 4:
 
Es soll eine Debian 13 VM mit dem Namen '''ovs-lab''' in VirtualBox erstellt werden.   
 
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.
 
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–17: interne Netze (eth0–eth16) für den OVS-Switch
+
* NIC 2–17: interne Netze eth2–eth17 für den OVS-Switch
 
* NIC 18: NAT mit SSH-Portforwarding (Konsolen-Port)
 
* NIC 18: NAT mit SSH-Portforwarding (Konsolen-Port)
  
Zeile 28: Zeile 28:
 
<pre>
 
<pre>
 
for k in $(seq 2 17); do
 
for k in $(seq 2 17); do
    l=$(($k-1))
 
 
     vboxmanage modifyvm ovs-lab --nic$k intnet --nictype$k virtio \
 
     vboxmanage modifyvm ovs-lab --nic$k intnet --nictype$k virtio \
         --intnet$k "eth$l" --cableconnected$k on --nicpromisc$k allow-all
+
         --intnet$k "eth$k" --cableconnected$k on --nicpromisc$k allow-all
 
done
 
done
 
</pre>
 
</pre>
Zeile 52: Zeile 51:
 
* RAM: 2 GB
 
* RAM: 2 GB
 
* Chipsatz: ICH9
 
* Chipsatz: ICH9
* NIC 1: intnet '''br0''' (temporär für Installation)
+
* NIC 1: Bridged auf Host-'''br0''' (temporär für Installation)
* NIC 2–17: interne Netze eth1–eth16
+
* NIC 2–17: interne Netze eth2–eth17
 
* NIC 18: NAT, SSH-Portforwarding Host 2222 → Guest 22 (Konsolen-Port)
 
* NIC 18: NAT, SSH-Portforwarding Host 2222 → Guest 22 (Konsolen-Port)
  
 
Die VM ist nun bereit für die Debian-Installation.
 
Die VM ist nun bereit für die Debian-Installation.
== ssh config anlegen ==
+
 
;Der Pseudo Konsolenport
+
== SSH-Config anlegen ==
Host ovs-lab
+
;Der Pseudo-Konsolenport
  Hostname 127.0.0.1
+
<pre>
  Port 2222
+
Host ovs-lab
  User kit
+
    Hostname 127.0.0.1
 +
    Port 2222
 +
    User kit
 +
</pre>
  
 
== Netzwerkinterfaces umbenennen (eth1–eth18) ==
 
== Netzwerkinterfaces umbenennen (eth1–eth18) ==
 
+
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 '''eth1–eth18''' umbenannt.
 
  
 
=== MAC-Adressen auf dem Host auslesen ===
 
=== MAC-Adressen auf dem Host auslesen ===
Zeile 81: Zeile 82:
 
done > 10-ovs-nics.rules
 
done > 10-ovs-nics.rules
 
</pre>
 
</pre>
;Die Datei 10-ovs-nics.rules muss später in die VM
 
  
==Key kopieren==
+
Die Datei '''10-ovs-nics.rules''' muss anschließend in die VM übertragen werden.
*ssh-copy-id kit@<DHCP-IP-GUCKEN>
+
 
==Rules kopieren==
+
== SSH-Key kopieren ==
*scp 10-ovs-nics.rules   kit@<DHCP-IP-GUCKEN>:
+
<pre>
==Einlogen==
+
ssh-copy-id kit@<DHCP-IP-GUCKEN>
*ssh kit@<DHCP-IP-GUCKEN>
+
</pre>
 +
 
 +
== Rules kopieren ==
 +
<pre>
 +
scp 10-ovs-nics.rules kit@<DHCP-IP-GUCKEN>:
 +
</pre>
 +
 
 +
== Einloggen ==
 +
<pre>
 +
ssh kit@<DHCP-IP-GUCKEN>
 +
</pre>

Version vom 3. Mai 2026, 08:09 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 eth2–eth17 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 "eth$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 eth2–eth17
  • 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 (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 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>