Wie isoliere ich eine virtuelle Windows-Maschine in Virtualbox, die unter Ubuntu läuft?

Wie isoliere ich eine virtuelle Windows-Maschine in Virtualbox, die unter Ubuntu läuft?

Ich habe gesucht und gesucht, aber keinen Weg gefunden, dies zu tun. Die Antworten, die ich gefunden habe, sagten, ich solle mir eine zweite Netzwerkkarte besorgen und diese dem Windows-Gast widmen. Mein Host ist Linux Mint 16.

Ich weiß, wie man einen Netzwerkadapter für den Gast angibt, aber wie erreiche ich, dass der Windows-Gast zwar Internetzugriff hat, aber auf keinen anderen Computer im Netzwerk des Hosts zugreifen kann?

Ich möchte sicherstellen, dass der Gast, selbst wenn seine IP-Adresse manuell geändert wird, nicht auf den Rest des Netzwerks zugreifen kann. Er sollte nur sich selbst (und möglicherweise den Host) sehen.

Antwort1

Dies kann in VirtualBox erfolgen.

Sie müssen eine Verbindung wählen, die die Nutzung voniptableszur Steuerung von Paketen. Daher sind weder NAT noch Bridge geeignet, da sie keine benutzerzugängliche Netzwerkkarte erstellen. Sie solltenHost-Only-NetzwerkStattdessen wird auf dem Host eine benutzerzugängliche Schnittstelle namens vboxnet0 erstellt.

Um es zu konfigurieren, gehen Sie zu Datei -> Einstellungen -> Netzwerk -> Nur Host-Netzwerk -> Pluszeichen, um es zu erstellen, dann Schraubenzieher -> DHCP-Server, DHCP-Server aktivieren. Einstellungen speichern, VM starten.

Jetzt müssen Sie auf dem Gast den Host als Gateway festlegen: Die Standard-IP für den Host ist 192.168.56.1. Verwenden Sie Google, um Anweisungen zu finden, wie Sie dies unter Windows tun können. Und möglicherweise müssen Sie die DNS-Server festlegen.

Führen Sie auf dem Host alle folgenden Anweisungen als sudo aus:

1) IP-Weiterleitung aktivieren:

  echo "1" > /proc/sys/net/ipv4/ip_forward

2) Geben Sie Folgendes einiptablesRegeln:

  iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
  iptables -A FORWARD -m iprange --dst-range 192.168.1.2-192.168.1.254 -j DROP
  iptables -I FORWARD -m iprange --src-range 192.168.1.2-192.168.1.254 -j DROP

Die erste Regel erlaubt der VM den Zugriff auf das Internet; das zweite Paar verbietet der VM den Zugriff auf das LAN, mit Ausnahme natürlich Ihres Routers und Ihrer Broadcast-Adresse.

Die obigen Regeln gehen davon aus, dass der Host verbunden ist übereth0, dass Ihr LAN192.168.1.0/24, dann lauten Ihre Router- und Broadcast-Adresse 192.168.1.1 bzw. 192.168.1.255. Wenn nicht, ändern Sie sie entsprechend.

Antwort2

Die kurze Antwort lautet: Mit VirtualBox allein können Sie die gewünschte Isolation nicht erreichen. Eine VM erbt immer die gleiche Netzwerkverfügbarkeit wie der Host (unter der Annahme der Netzwerkmodi Bridged oder NAT).

In VirtualBox stehen Ihnen vier Netzwerkoptionen zur Verfügung:

  1. Überbrückt: Teilt die Verbindung mit einem der Adapter des Hosts. Dies wäre so, als ob die VM(s) und der Host alle an denselben Switch angeschlossen wären. VMs können auf alles zugreifen, auf das der Host zugreifen kann.

  2. NAT: VirtualBox platziert eine virtuelle NAT-Firewall zwischen dem Adapter des Hosts und dem virtuellen Netzwerk. VMs können weiterhin auf alles zugreifen, auf das der Host zugreifen kann.

  3. Nur Host: Die VM kann nur mit dem Hostcomputer kommunizieren.

  4. Intern: Die VM(s) befinden sich in einem isolierten Netzwerk und können nur mit anderen VMs im selben internen Netzwerk kommunizieren.

Keine dieser Optionen erfüllt Ihre Anforderungen, daher ist dies allein in VirtualBox nicht möglich. Wie Sie erwähnt haben, sorgt das Hinzufügen einer zusätzlichen Netzwerkkarte für die physische Trennung, die für die gewünschte Trennung erforderlich ist.

Antwort3

Ok, ich habe eine tolle Lösung gefunden, die nur eine Netzwerkkarte im Host-Betriebssystem benötigt.

  1. Geben Sie dem Gastbetriebssystem einen Host Only Adapter (der Standardadapter ist vboxnet0) und stellen Sie sicher, dass vboxnet0 DHCP ausführt.
  2. Installieren Sie den Squid-Proxy (sudo apt-get install squid3
  3. Öffnen Sie die Datei /etc/squid3/squid.conf und nehmen Sie die folgenden Änderungen vor: A. Suchen Sie die Zeile mit „http_access deny all“ und kommentieren Sie diese aus, indem Sie am Anfang der Zeile ein # einfügen. B. Fügen Sie die folgenden beiden Zeilen in die Datei ein:
    1. acl allecomputer src 192.168.56.0/255.255.255.0
    2. http_access erlaubt allen Computern
  4. Starten Sie den Squid 3-Dienst neu, indem Sie Folgendes ausführen: sudo service squid3 restart
  5. Stellen Sie im Gastbetriebssystem sicher, dass DHCP für die Netzwerkkarte eingestellt ist
  6. Öffnen Sie die Internetoptionen des Internet Explorers, gehen Sie zur Registerkarte „Verbindungen“, klicken Sie auf „LAN-Einstellungen...“, aktivieren Sie das Kontrollkästchen für „Proxyserver“ und geben Sie die Adresse 192.168.56.1 und den Port 3128 ein.
  7. Das Internet funktioniert jetzt beim Gast und der Gast kann das lokale Netzwerk nicht sehen.

Vielen Dank für die Hilfe in diesem Beitrag. Er hat mich in die richtige Richtung geführt, um Squid3 zu finden. Die gesamte Einrichtung hier dauert 5-10 Minuten und ist sehr einfach.

verwandte Informationen