Virtual Box überbrücktes Netzwerk und Portweiterleitung

Virtual Box überbrücktes Netzwerk und Portweiterleitung

Ich habe ein Problem. Hier ist ein Diagramm meines Netzwerks. Bildbeschreibung hier eingeben

  1. Ich habe einen mit dem Internet verbundenen WLAN-Router und habe bei meinem ISP eine statische IP-Adresse bestellt, sodass ich über das Internet auf meinen lokalen PC zugreifen kann.
  2. Mein Router erstellt das Netzwerk 192.168.0.0/24
  3. Ich habe einige Ports an meinen lokalen PC-Server weitergeleitet (192.168.0.101). Bildbeschreibung hier eingeben
  4. Ich habe Virtual Box auf meinem lokalen PC installiert
  5. Es wurden zwei Knoten über Vagrant erstellt und verwaltet, wir sind jedoch am ersten Knoten interessiert.
  6. Jede VM hat zwei NICs, die erste ist NAT für die Vagrant-Kommunikation, die zweite ist ein Bridged-Adapter über die lokale PC-Schnittstelle enp3s0.
  7. Alle Knoten haben spezifische MAC-Adressen, die in den DHCP-Einstellungen des Routers gebunden sind, um ihnen eine statische IP-Adresse zuzuweisen (192.168.0.110 und 192.168.0.111).
  8. Alles funktioniert innerhalb des lokalen Netzwerks, Knoten erhalten korrekte IP-Adressen und ich kann über das lokale Netzwerk auf jeden Knotenport zugreifen
  9. Auf meinem Knoten mit der IP 192.168.0.110 läuft ein Apache-Server, und im lokalen Netzwerk funktioniert er einwandfrei.
  10. Ich möchte von außen auf diesen Apache-Server zugreifen, daher habe ich den externen Port 8888 an den lokalen Port 80 zur Maschine mit der IP 192.168.0.110 weitergeleitet, wie Sie im Screenshot oben sehen können.

Das Problem ist jedoch, dass ich von außen nicht auf Node Apache zugreifen kann. Die Verbindung ist abgelaufen oder wurde zurückgesetzt. Ich habe versucht, den Datenverkehr mit Wireshark aufzuzeichnen und sehe folgende Fehler.

Bildbeschreibung hier eingeben Bildbeschreibung hier eingeben Ist es möglich, dies zum Laufen zu bringen? Oder besteht die einzige Lösung darin, die Ports an den PC 192.168.0.101 weiterzuleiten und dann Pakete mit NAT und Portweiterleitung an den Knoten weiterzuleiten?

Bitte helfen Sie, dieses Problem zu lösen. Danke.

Antwort1

Mir ist klar, dass das nicht die Antwort ist, die Sie suchen, aber ich habe mir über einen Tag lang den Kopf zerbrochen und bin zu folgendem Schluss gekommen.Es sollte funktionieren und tut es nicht. Ich bin ein Linux-Profi und kenne mich mit der Netzwerktechnik aus. In anderen Foren heißt es, Sie machen es richtig, und ich stimme zu, es sollte funktionieren. Ich selbst habe genau dasselbe Setup wie Sie in zwei völlig unterschiedlichen Netzwerken ausprobiert, und es funktioniert einfach nicht.

Sie müssen dies mit einem NAT-Adapter neben dem überbrückten Adapter tun. Richten Sie eine Portweiterleitung auf dem NAT ein und setzen Sie die Host-IP auf 0.0.0.0.

Führen Sie in Ihrem Router eine Portweiterleitung an die HOST-IP-Adresse durch, NICHT an die überbrückte IP der Client-VM. Leiten Sie also gemäß Ihrem Beispiel Port 8888 an die HOST-IP-Adresse auf dem GLEICHEN PORT 8888 weiter.

Dann würde die NAT-Portweiterleitung in Vagrant wie folgt aussehen:

config.vm.network "forwarded_port", guest: 80, host_ip: "0.0.0.0", host: 8888

verwandte Informationen