GNU/Linux >> LINUX-Kenntnisse >  >> Linux

OpenBSD:Gateway außerhalb des Subnetzes (funktioniert unter Linux)

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" ...


Linux
  1. Linux – Sind verschiedene Linux/Unix-Kernel austauschbar?

  2. IP-Routing:Linux-Routen-Flags (U – Up, G – Gateway, H – Host)

  3. Holen Sie sich den aktuellen Benutzernamen in Julia (Linux)

  4. Längenbeschränkungen für Dateinamen unter Linux?

  5. So finden Sie die Gateway-IP-Adresse in Linux

Erwecke mit OpenBSD alte Hardware wieder zum Leben

Linux Route Add-Befehl mit Beispielen

ipcalc – Berechnen Sie die IP-Subnetzadresse in Linux

Funktionsweise des Ping-Programms unter Linux

So interpretieren Sie Linux-Quellnachrichten vom Mars

route-Befehlsbeispiele in Linux