Wie kann VirtualBox NAT mit tatsächlichen Client-IPs arbeiten?


7

Ich verwende Virtualbox 4.0.10 auf einer Debian Squeeze-Box. Ich habe eine Windows 7-VM, mit der ich einen Spieleserver hoste. Nach dem Einrichten der NAT- und Portumleitung können Clients eine Verbindung zur VM herstellen, der Spieleserver zeigt jedoch an, dass Verbindungen von der NAT-Gateway-IP (10.0.2.2) abgerufen werden. Ich brauche, dass der Spieleserver Verbindungen von den tatsächlichen IPs des öffentlichen Internetclients erhält, damit ich eine IP-Whitelist auf dem Spieleserver einrichten kann.

Diese Debian-Maschine ist direkt mit dem Internet verbunden. Was kann ich tun, damit dies funktioniert? Vermutlich ist es kein VirtualBox-Problem und kann es mit einer virtuellen Netzwerkschnittstelle oder so lösen, aber keine Ahnung, wie es geht. Ich denke, es ist kein Virtualbox-Problem und ich kann es mit einer Bridge-Schnittstelle oder so zum Laufen bringen.


Wenn Sie sagen, dass Sie NAT eingerichtet haben - haben Sie dies auf dem Debian-Host oder im Rahmen der Konfiguration der virtuellen Maschine mithilfe der VirtualBox-Befehle / GUI getan? Ein besseres Diagramm oder eine bessere Beschreibung Ihres Netzwerk-Setups wäre sehr hilfreich.
Goyuix

Antworten:


5

Versetzen Sie den Netzwerkadapter in den Bridged-Modus.

Gehen Sie in VirtualBox zu den Windows 7-Einstellungen, wählen Sie Netzwerk aus, und Sie sollten sehen, dass der Adapter auf NAT eingestellt ist. Ändern Sie dies in Bridged adapter.


Funktioniert nicht Wie gesagt, diese Maschine ist direkt mit dem Internet verbunden und Clients stellen eine Verbindung her.
Albert

Ist Ihr 'Server' wirklich direkt mit dem Internet verbunden oder gibt es ein Gerät (Modem / Router / xyzzy), das das macht? Haben Sie dem W7-Computer eine öffentliche routbare IP-Adresse gegeben?
user9517


2

Möglicherweise gibt es keine Möglichkeit, dieses Verhalten in VirtualBox zu ändern.

Eine der folgenden Möglichkeiten kann Ihr Problem beheben:

  1. Einfachster und bester Ansatz: Richten Sie Ihre Whitelist einfach mithilfe von iptables in der Debian-Box ein, anstatt Ihre Whitelist auf der VM zu verwalten.
  2. Verwenden Sie einen anderen Hypervisor mit mehr Optionen zum Konfigurieren des virtuellen Netzwerks und des NAT-Verhaltens.
  3. Stellen Sie die Debian-Box hinter eine physische Firewall oder einen Router, konfigurieren Sie dort Ihre NAT-Regeln und verbinden Sie die VM mit Ihrem physischen Netzwerkadapter.
  4. Erhalten Sie eine zweite öffentliche IP-Adresse von Ihrem ISP. Weisen Sie diese IP-Adresse der virtuellen Maschine zu und verbinden Sie sie mit Ihrem physischen Netzwerkadapter.

Die Verwendung eines anderen Hypervisors wäre nicht unbedingt wichtig - das Problem liegt in der Wahl des Netzwerks und nicht in der Wahl der Virtualisierung. Die eigentliche Antwort ist, wenn möglich den Bridged-Modus zu verwenden.
Goyuix

Ich vermute, dass er den Bridged-Modus auf dem Host nicht verwenden kann, da er nicht über mehrere öffentliche IP-Adressen verfügt. Aber das ist ein lösbares Problem, deshalb habe ich es der Liste hinzugefügt.
Skyhawk
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.