Dies ist ein alter Thread, aber hier geht es weiter.
Zufällig betreibe ich eine Reihe von OpenBSD-VMs auf einem ESXi 6.0, das bei SoYouStart, einer Tochtergesellschaft von OVH, läuft. Das Netzwerk-Setup dort ist das gleiche wie bei OVH und ich denke, obwohl es seltsam ist, ist sein Hauptzweck, den ARP-Verkehr so weit wie möglich zu eliminieren, indem die Broadcast-Domains künstlich begrenzt werden, und ohne dass beispielsweise VLANs verwendet werden müssen.
In meinem Fall habe ich zusätzliche IP-Adressen von OVH angefordert und sie stammen aus einem völlig anderen Bereich. Nehmen wir für die Diskussion hier an, dass dies meine Einstellungen sind:
- meine Haupt-IP-Adresse (die der ESXi-Host verwendet):213.0.113.78/32
- der zusätzliche IP-Adressbereich für VM-Gäste:192.0.2.64/30
- das Standard-Gateway für ALLE der oben genannten:213.0.113.254
- Bitte beachten Sie, dass alle Hosts aufgrund der Konfiguration des OVH Netzwerks eine Host-Netzmaske (255.255.255.255) verwenden müssen
Um das Routing auf dem OpenBSD-Host zu konfigurieren, muss ich Folgendes tun:
ifconfig vmx0 inet 192.0.2.64 255.255.255.255
route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
route add -inet default 213.0.113.254
Damit das alles beim Start erledigt wird, ignoriere ich den /etc/mygate
Datei und fügen Sie Folgendes in /etc/hostname.vmx0
ein :
inet 192.0.2.64 255.255.255.255
!sleep 2
!route add -inet 213.0.113.254 -llinfo -link -static -iface vmx0
!route add -inet default 213.0.113.254
Sie werden die sleep
bemerken Befehl - aus irgendeinem Grund ist dies unter OpenBSD 5.9 erforderlich, war es aber vorher nicht. Ohne die sleep
, die erste der bis route
Befehle werden nicht ausgeführt und daher wird Ihr Routing nicht korrekt konfiguriert.
Das funktioniert mit folgendem Trick:
- wir konfigurieren die IP-Adresse auf der Schnittstelle
- mit dem ersten
route
Befehl übersetzen wir die IP-Adresse des Gateways (213.0.113.254) in eine Link-Adresse (MAC-Adresse); das erledigt der-llinfo
Möglichkeit; - im selben
route
Befehl mit dem-link
Option installieren wir die Link-Adresse in die Routing-Tabelle und verwenden den-iface vmx0
wir teilen dem Kernel mit, über welche Netzwerkschnittstelle diese Linkadresse erreichbar ist; die-static
switch markiert es als manuell eingefügten Eintrag in der Routing-Tabelle - der zweite
route
Der Befehl kann jetzt erfolgreich ausgeführt werden, da die Route zum Standard-Gateway nun bekannt ist
Eine Sache, auf die ich im obigen Setup gestoßen bin, für die ich noch keine Lösung habe, ist, dass einer von vier OpenBSD-Hosts, der genau gleich konfiguriert ist, genau dieselbe Version des Betriebssystems und denselben Kernel-Build ausführt, und sogar alle 24 Stunden oder so auf demselben VMware-Host zu laufen, scheint diese magische Route aus seiner Routing-Tabelle zu "verlieren" ...