Im heutigen modernen Geschäftswelt ist Networking ein entscheidender Bestandteil interaktiver Computeroperationen. Es ist schwer vorstellbar, wie der Datenaustausch zwischen Computern ohne Netzwerke in einer Welt funktionieren könnte, die sich mit immer größerer Geschwindigkeit verändert. Eine der zentralen Ideen hinter der Hardwarevirtualisierung ist die Möglichkeit, virtuelle Maschinen in fast allen Fällen zu verwenden, in denen auch physische Computer verwendet werden können.
Daher müssen virtuelle Maschinen in der Lage sein, sich über ihre virtuellen Netzwerkadapter mit physischen und virtuellen Netzwerken zu verbinden. Virtuelle Maschinen, die auf VirtualBox ausgeführt werden, können mit verschiedenen Netzwerken verbunden werden. VirtualBox bietet mehrere Netzwerkmodi für virtuelle Maschinen. Dieser Blogbeitrag behandelt VirtualBox-Netzwerkeinstellungen, um Ihnen bei der Konfiguration von VirtualBox auf bestmögliche Weise zu helfen, um Ihren Anforderungen gerecht zu werden.
Virtuelle Netzwerkadapter
Jede VirtualBox-VM kann bis zu acht virtuelle Netzwerkadapter verwenden, von denen jeder wiederum als Netzwerkschnittstelle (NIC) bezeichnet wird. Vier virtuelle Netzwerkadapter können in der VirtualBox-GUI (grafische Benutzeroberfläche) konfiguriert werden. Alle virtuellen Netzwerkadapter (bis zu 8) können mit dem Befehl VBoxManage modifyvm konfiguriert werden. VBoxManage ist ein Befehlszeilenverwaltungstool von VirtualBox, das für die Konfiguration aller VirtualBox-Einstellungen einschließlich VirtualBox-Netzwerkeinstellungen verwendet werden kann. Die Netzwerkadaptereinstellungen von VirtualBox können in den Einstellungen der virtuellen Maschine (wählen Sie Ihre VM aus, klicken Sie auf Einstellungen und gehen Sie zum Netzwerk-Abschnitt im VM-Einstellungsfenster) aufgerufen werden.
Dort sollten Sie vier Adapter-Registerkarten sehen. Ein virtueller Netzwerkadapter ist nach der Erstellung der virtuellen Maschine standardmäßig aktiviert. Sie können das Kontrollkästchen „Netzwerkadapter aktivieren“ aktivieren, um den Adapter zu aktivieren, und das Kontrollkästchen deaktivieren, um ihn zu deaktivieren (dieses Kontrollkästchen definiert, ob ein virtuelles Netzwerkadaptergerät mit einer VM verbunden ist oder nicht).
Klicken Sie auf Erweitert, um die erweiterten VirtualBox-Netzwerkadaptereinstellungen zu erweitern.
Typen virtueller Netzwerkadapter in VirtualBox
A virtual network adapter is a software-emulated physical device. There are six virtual adapter types that can be virtualized by VirtualBox.
- AMD PCnet-PCI II (Am79C970A). Dieser Netzwerkadapter basiert auf einem AMD-Chip und kann in vielen Situationen verwendet werden. Bei Windows-Gästen kann dieser Netzwerkadapter für ältere Windows-Versionen (wie Windows 2000) verwendet werden, da neuere Windows-Versionen wie Windows 7, 8 und 10 keinen integrierten Treiber für diesen Adapter enthalten. Ursprünglich enthielt das Am79C970A-PCI-Gerät einen einzelnen Chip-10-Mbit-Controller, und die DMA-Engine war integriert. Dieser Netzwerkadapter unterstützt auch die Magic Packet-Technologie von AMD zum Remote-Wakeup.
- AMD PCnet-FAST III (Am79C973). Dieser virtualisierte Netzwerkadapter wird von fast allen Gastbetriebssystemen unterstützt, die auf VirtualBox ausgeführt werden können. GRUB (der Bootloader) kann diesen Adapter für den Netzwerkstart verwenden. Ähnlich wie der vorherige Netzwerkadapter basiert auch dieser auf einem AMD-Chip.
- Intel PRO/1000 MT Desktop (82540EM). Dieser Adapter funktioniert perfekt mit Windows Vista und neueren Windows-Versionen. Die meisten Linux-Distributionen unterstützen diesen Adapter ebenfalls.
- Intel PRO/1000 T Server (82543GC). Windows XP erkennt diesen Adapter ohne zusätzliche Treiberinstallation.
- Intel PRO/1000 MT Server (82545EM). Dieses Adaptermodell ist nützlich zum Importieren von OVF-Vorlagen aus anderen Plattformen und kann den Importprozess erleichtern.
- Paravirtualisierter Netzwerkadapter (virtio-net) ist ein besonderer Fall. Anstatt Netzwerkhardware zu virtualisieren, die von den meisten Betriebssystemen unterstützt wird, muss ein Gastbetriebssystem eine spezielle Software-Schnittstelle für virtualisierte Umgebungen bereitstellen. Dieser Ansatz ermöglicht es Ihnen, die Komplexität der Emulation von Netzwerkhardware zu vermeiden und kann so die Netzwerkperformance verbessern.
Die branchenüblichen virtIO-Netzwerktreiber werden von VirtualBox unterstützt. VirtIO-Netzwerktreiber sind Teil des KVM-Projekts und sind Open Source. Diese Treiber sind für Linux mit Kernel 2.6.25 oder höher sowie für Windows, einschließlich älterer Versionen wie Windows 2000, XP und Vista, verfügbar.
Unterstützung für Jumbo-Frames
VirtualBox bietet eine eingeschränkte Unterstützung für Jumbo-Frames (Ethernet-Frames, die Pakete mit einer Größe von mehr als 1.500 Bytes transportieren können). Wenn Sie Jumbo-Frames verwenden müssen, wählen Sie einen virtuellen Intel-Netzwerkadapter und konfigurieren Sie diesen so, dass er im Bridged-Modus arbeitet. Netzwerkadapter auf Basis von AMD unterstützen keine Jumbo-Frames. Wenn Sie versuchen, Jumbo-Frames für AMD-basierte virtuelle Netzwerkadapter zu aktivieren, werden Jumbo-Frames für Ein- und Ausgangsdaten stillschweigend verworfen. Jumbo-Frames sind standardmäßig deaktiviert.
VirtualBox Netzwerkmodi
VirtualBox bietet eine lange Liste von Netzwerkmodi, was eine der interessantesten Funktionen der VirtualBox Netzwerkeinstellungen ist. Jeder virtuelle Netzwerkadapter kann separat konfiguriert werden, um in einem anderen Netzwerkmodus zu arbeiten. Zum Beispiel können Sie den Modus NAT für den Adapter 1 und den Modus Nur-Host für den Adapter 2 einstellen. Sie können den Netzwerkmodus im Dropdown-Menü Angefügt an auswählen.
Lassen Sie uns jeden VirtualBox Netzwerkmodus im Detail betrachten.
Nicht angefügt
A virtual network adapter is installed in a VM, but the network connection is missing, much like when you unplug the Ethernet network cable when using a physical network adapter. This mode can be useful for testing. For example, you can enable this network mode for a short time to emulate unplugging the cable. When you disable the Not Attached mode by switching to another network mode, the network connection becomes available again. You can also check whether a DHCP client obtains the IP address correctly, whether the appropriate application can resume downloading after link interruption or packet loss, and so on.
Statt den Netzwerkmodus Nicht angefügt zu verwenden, können Sie jeden anderen Netzwerkmodus verwenden, ohne das Kontrollkästchen Kabel angeschlossen anzukreuzen. Sie können das Kontrollkästchen ankreuzen/abwählen, wenn eine VM im laufenden Zustand ist (siehe Screenshot oben). Vergessen Sie nicht, auf OK zu klicken, um die Änderungen in der VM Netzwerkkonfiguration anzuwenden.
NAT
Dieser Netzwerkmodus ist standardmäßig für einen virtuellen Netzwerkadapter aktiviert. Ein Gastbetriebssystem auf einer VM kann über ein virtuelles NAT (Network Address Translation) Gerät auf Hosts in einem physischen lokalen Netzwerk (LAN) zugreifen. Externe Netzwerke, einschließlich des Internets, sind von einem Gastbetriebssystem aus erreichbar. Eine Gastmaschine ist im NAT Modus für VirtualBox-Netzwerke nicht von einer Hostmaschine oder anderen Maschinen im Netzwerk aus erreichbar. Dieser Standardnetzwerkmodus reicht für Benutzer aus, die eine VM nur für den Internetzugang verwenden möchten, zum Beispiel.
Die IP-Adresse des VM-Netzwerkadapters wird über DHCP bezogen und die IP-Adressen des Netzwerks, das in diesem Netzwerkmodus verwendet wird, können nicht in der GUI geändert werden. VirtualBox verfügt über einen integrierten DHCP-Server und eine NAT-Engine. Ein virtuelles NAT-Gerät verwendet den physischen Netzwerkadapter des VirtualBox-Hosts als externes Netzwerkinterface. Die Standardadresse des virtuellen DHCP-Servers, der im NAT-Modus verwendet wird, ist 10.0.2.2 (dies ist auch die IP-Adresse des Standardgateways für eine VM). Die Netzwerkmaske beträgt 255.255.255.0.
Wenn Sie die Netzwerkadapter von zwei oder mehr VMs konfigurieren, um den NAT-Modus zu verwenden, erhält jede VM die IP-Adresse 10.0.2.15 in ihrem eigenen isolierten Netzwerk hinter einem privaten virtuellen NAT-Gerät. Das Standardgateway für jede VM ist 10.0.2.2. In VirtualBox werden IP-Adressen nicht geändert, wenn der NAT-Modus verwendet wird, wie unten gezeigt:
Um den NAT-Modus für eine VM mit VBoxManage zu aktivieren, führen Sie den folgenden Befehl aus:
Wo:
- VM_name der Name Ihrer virtuellen Maschine ist;
- nic1 die Nummer des virtuellen Netzwerkadapters ist;
- nat ist der Name des VirtualBox-Netzwerkmodus, den Sie einstellen müssen.
Portweiterleitung kann direkt aus dem VirtualBox-VM-Netzwerkeinstellungsfenster konfiguriert werden, indem Sie auf die Portweiterleitung-Schaltfläche klicken (wie im obigen Screenshot zu sehen). Detaillierte Informationen zur Konfiguration der Portweiterleitung in den Netzwerkeinstellungen von VirtualBox finden Sie unten nach dem Netzwerkmodi-Abschnitt.
NAT-Netzwerk
Dieser Modus ist ähnlich dem NAT-Modus, den Sie zum Konfigurieren eines Routers verwenden. Wenn Sie den NAT-Netzwerk-Modus für mehrere virtuelle Maschinen verwenden, können sie über das Netzwerk miteinander kommunizieren. Die VMs können auf andere Hosts im physischen Netzwerk zugreifen und können externe Netzwerke einschließlich des Internets erreichen. Alle Maschinen aus externen Netzwerken sowie solche aus einem physischen Netzwerk, mit dem die Host-Maschine verbunden ist, können nicht auf die für den NAT-Netzwerk-Modus konfigurierten VMs zugreifen (ähnlich wie beim Konfigurieren eines Routers für den Internetzugang aus Ihrem Heimnetzwerk). Sie können nicht auf die Gastmaschine von der Hostmaschine aus zugreifen, wenn Sie den NAT-Netzwerk-Modus verwenden (es sei denn, Sie konfigurieren Portweiterleitung in den globalen VirtualBox-Netzwerkeinstellungen). Ein integrierter VirtualBox-NAT-Router verwendet einen physischen Netzwerk-Interface-Controller des VirtualBox-Hosts als externes Netzwerk-Interface (wie beim NAT-Modus).
Die Netzwerkadresse und der Name können in den globalen VirtualBox-Einstellungen geändert werden (Datei > Einstellungen). Wählen Sie im linken Bereich des Einstellungen-Fensters Netzwerk, um auf die globalen VirtualBox-Netzwerkeinstellungen zuzugreifen, und doppelklicken Sie dann auf Ihr vorhandenes NAT-Netzwerk, um die Einstellungen zu bearbeiten (Sie können auch ein neues Netzwerk hinzufügen oder ein vorhandenes Netzwerk löschen, indem Sie auf die Symbole + oder x klicken).
In dem kleinen Popup-Fenster, das erscheinen wird, ist es auch möglich, DHCP, IPv6 zu aktivieren/deaktivieren und Portweiterleitung zu konfigurieren.
Die Standardadresse des NatNetwork ist 10.0.2.0/24.
Die Standard-Gateway-IP lautet 10.0.2.1 (das x.x.x.1-Template wird verwendet, um die Standard-Gateway-IP zuzuweisen). Wenn Sie beispielsweise ein neues virtuelles Netzwerk für den NAT-Netzwerk-Modus in VirtualBox erstellen und die Netzwerkadresse 192.168.22.0/24 festlegen, lautet die IP-Adresse des Gateways in diesem Netzwerk 192.168.22.1. Sie können die IP-Adresse des Gateways für das Netzwerk, das im NAT-Netzwerk-Modus verwendet wird, nicht ändern, und den Bereich der vom DHCP-Server ausgegebenen IP-Adressen ändern. Ebenso lautet die IP-Adresse des DHCP-Servers standardmäßig 10.0.2.3 (das x.x.x.3-Template wird verwendet).
Die IP-Konfiguration der Windows 7 VM, die auf VirtualBox mit einem virtuellen Netzwerkadapter im NAT-Netzwerk-Modus ausgeführt wird, wird auf dem Screenshot angezeigt.
Wenn Sie die Netzwerkeinstellungen von VirtualBox nicht im GUI bearbeiten möchten, können Sie mit dem Befehl VBoxManage ein neues NAT-Netzwerk hinzufügen:
Wo:
- natnet1 ist der Name des NAT-Netzwerks;
- 192.168.22.0/24 ist die Adresse dieses NAT-Netzwerks.
Wenn Sie einen VM-Netzwerkadapter konfigurieren möchten, um den NAT-Netzwerk-Modus mit VBoxManage zu verwenden, führen Sie den folgenden Befehl aus:
Wo:
- nic1 ist der erste virtuelle Netzwerkadapter (Netzwerk-Schnittstellen-Controller);
- natnetwork ist der Name des VirtualBox-Netzwerkmodus.
Sie müssen möglicherweise die VM herunterfahren, bevor Sie diese Einstellungen anwenden.
Um zu vermeiden, dass Sie denselben Befehl mit VBoxManage wiederholen müssen, wenn Sie einen Netzwerkmodus für den virtuellen Netzwerkadapter einer VM in jedem Abschnitt des Artikels auswählen, sollten Sie die Namen aller möglichen VirtualBox-Netzwerkmodi berücksichtigen: none, null, nat, natnetwork, bridged, intnet, hostonly, generic.
Portweiterleitung ist eine weitere Option, auf die aus diesem Fenster zugegriffen und konfiguriert werden kann. Portweiterleitung kann verwendet werden, um den Zugriff von der Host-Maschine und anderen Hosts im selben physischen Netzwerk auf die Dienste zu konfigurieren, die im Gastbetriebssystem innerhalb der VM ausgeführt werden (siehe Details unten). Wie Sie sehen können, sind die Standorte der Portweiterleitungseinstellungen für den NAT-Modus und die NAT Netzwerk-Modi unterschiedlich in der VirtualBox-GUI. Die Portweiterleitungseinstellungen für den NAT-Modus sind verfügbar unter VM > Einstellungen > Netzwerk, während die Portweiterleitungseinstellungen für den NAT-Netzwerk-Modus in Datei > Einstellungen > Netzwerk konfiguriert werden können. Dies liegt daran, dass die Portweiterleitungsregeln für den NAT-Modus individuell für jede VM sind, während die Portweiterleitungsregeln für den NAT-Netzwerk-Modus gemeinsam für mehrere VMs sind, deren Adapter mit dem entsprechenden NAT-Netzwerk verbunden sind. Details zur Konfiguration der Portweiterleitung finden Sie unten im Portweiterleitung-Abschnitt.
Brückenadapter
Dieser Modus wird verwendet, um den virtuellen Netzwerkadapter einer VM mit einem physischen Netzwerk zu verbinden, an das ein physischer Netzwerkadapter des VirtualBox-Hostcomputers angeschlossen ist. Ein virtueller Netzwerkadapter einer VM verwendet die Netzwerkschnittstelle des Hosts für eine Netzwerkverbindung. Einfach ausgedrückt werden Netzwerkpakete direkt vom/vom virtuellen Netzwerkadapter gesendet und empfangen, ohne zusätzliche Routen. VirtualBox verwendet einen speziellen Netzfiltertreiber für den gebridgten Netzwerkmodus, um Daten vom physischen Netzwerkadapter des Hosts zu filtern.
Dieser Netzwerkmodus kann verwendet werden, um Server auf VMs auszuführen, die von einem physischen lokalen Netzwerk vollständig erreichbar sein müssen. Wenn Sie den gebridgten Netzwerkmodus in VirtualBox verwenden, können Sie auf eine Hostmaschine, Hosts des physischen Netzwerks und externe Netzwerke, einschließlich des Internets, von einer VM aus zugreifen. Die VM kann von der Hostmaschine und von anderen Hosts (und VMs), die mit dem physischen Netzwerk verbunden sind, aus zugegriffen werden.
Wenn Sie mehrere physische Netzwerkadapter auf dem Hostcomputer haben, sollten Sie den richtigen Adapter in den VirtualBox-Netzwerkeinstellungen auswählen. Auf dem folgenden Screenshot sehen Sie zwei physische Netzwerkadapter – Ethernet-Adapter und WLAN-Adapter. Wenn Sie den Bridged-Modus für einen drahtlosen Netzwerkadapter verwenden, können Sie nicht die Low-Level-Funktionen dieses WLAN-Adapters in einem Gastbetriebssystem verwenden. Sie können beispielsweise keine WLAN-Netzwerke auswählen, mit denen Sie sich verbinden möchten, den Überwachungsmodus aktivieren usw. Stattdessen müssen Sie sich mit dem WLAN-Netzwerk auf dem Hostcomputer verbinden. Wenn Sie alle Funktionen des WLAN-Adapters im Gastbetriebssystem der virtuellen Maschine verwenden müssen, verwenden Sie einen USB-WLAN-Adapter und die USB-Pass-through-Funktion, wie im Blogbeitrag zur Installation von Kali Linux auf VirtualBox erläutert.
In VirtualBox kann die IP-Adresse eines VM-Virtualnetzwerkadapters dasselbe Netzwerk wie die IP-Adresse des physischen Netzwerkadapters des Hostcomputers haben, wenn der bridged-Modus verwendet wird. Wenn in Ihrem physischen Netzwerk ein DHCP-Server vorhanden ist, erhält der virtuelle Netzwerkadapter der VM die IP-Adresse automatisch im bridged-Modus (sofern das automatische Abrufen einer IP-Adresse in den Netzwerkschnittstelleneinstellungen im Gastbetriebssystem festgelegt ist). Somit ist das Standardgateway für einen virtuellen Netzwerkadapter, der im Bridged-Modus arbeitet, dasselbe wie für Ihren Hostcomputer. Schauen wir uns ein einfaches Beispiel mit IP-Adressen an.
Die Adresse des physischen Netzwerks: 10.10.10.0/24
Die IP-Adresse des Standardgateways im physischen Netzwerk: 10.10.10.1
Die IP-Adresse des DHCP-Servers im physischen Netzwerk: 10.10.10.1
IP-Konfiguration des Hostcomputers: Die IP-Adresse – 10.10.10.72; Netzmaske – 255.255.255.0; Standardgateway – 10.10.10.1.
IP-Konfiguration des Gastcomputers: Die IP-Adresse – 10.10.10.91; Netzmaske – 255.255.255.0; Standardgateway – 10.10.10.1.
Manchmal kann es vorkommen, dass Sie mehrere Gateways in Ihrem physischen Netzwerk haben. Sie können einen Hostcomputer verwenden, um über ein Gateway mit den erforderlichen Netzwerken zu verbinden, und einen Gastcomputer verwenden, um über das zweite Gateway mit anderen Netzwerken zu verbinden. Sie können auch eine Routing-Tabelle auf Ihrer VM bearbeiten und Routen hinzufügen, um beide Gateways zum Verbinden mit den entsprechenden Netzwerken zu verwenden. Wie Sie sehen können, ist der Bridged-Netzwerkmodus in den VirtualBox-Netzwerkeinstellungen eine leistungsstarke Option mit vielen Anwendungsfällen.
Promiscuous Mode. Dieser Modus ermöglicht einem Netzwerkadapter, den gesamten empfangenen Datenverkehr weiterzuleiten, unabhängig davon, an welchen Adapter der Datenverkehr gerichtet ist. Im normalen Modus empfängt ein Netzwerkadapter nur Frames, die die MAC-Adresse dieses bestimmten Netzwerkadapters als Zieladresse im Header enthalten. Die Frames, die an eine MAC-Adresse gerichtet sind, die sich von der MAC-Adresse des ausgewählten Adapters unterscheidet (wenn der Datenverkehr nicht gesendet wird), werden im normalen Modus abgewiesen. Der Promiscuous Mode ermöglicht es einem physischen Netzwerkadapter, mehrere MAC-Adressen zu haben, sodass der gesamte eingehende Datenverkehr den physischen Netzwerkadapter des Hostcomputers passieren und den virtuellen Netzwerkadapter der VM erreichen kann, der seine eigene MAC-Adresse hat, die auf dem Hostadapter dargestellt wird, auch wenn dieser Datenverkehr nicht an den virtuellen Netzwerkadapter dieser bestimmten VM gerichtet ist.
Die meisten drahtlosen Netzwerkadapter unterstützen den Promiscuous-Modus nicht. Das Bridging zu Wi-Fi-Adaptern erfolgt wie folgt: VirtualBox ersetzt die entsprechenden MAC-Adressen in den Headern der Ethernet-Frames, die an den virtuellen Netzwerkadapter der VM übermittelt werden müssen (die MAC-Adresse des Host-Wi-Fi-Adapters muss für diesen Datenverkehr verwendet werden). Der Promiscuous-Modus ist nützlich für Netzwerktests und Sicherheitsaudits. Sie können den Promiscuous-Modus in den Netzwerkeinstellungen von VirtualBox aktivieren und den Netzwerkverkehr mit einem Sniffer überwachen.
Es gibt drei Optionen zur Verwendung des Promiscuous-Modus.
- Verweigern. Jeglicher Datenverkehr, der nicht für den virtuellen Netzwerkadapter der VM bestimmt ist, wird der VM verborgen. Diese Option ist standardmäßig aktiviert.
- VMs erlauben. Jeglicher Datenverkehr wird dem Netzwerkadapter der VM verborgen, außer dem Datenverkehr, der zwischen anderen VMs übertragen wird.
- Alles erlauben. In diesem Modus gibt es keine Einschränkungen. Ein VM-Netzwerkadapter kann den gesamten eingehenden und ausgehenden Datenverkehr sehen.
Der Promiscuous-Modus kann nicht nur für den Bridged-Netzwerkmodus, sondern auch für die Modi NAT Network, Internal Network und Host-Only Adapter verwendet werden.
Internal Network
Virtuelle Maschinen, deren Adapter so konfiguriert sind, dass sie im VirtualBox Internen Netzwerk-Modus arbeiten, sind mit einem isolierten virtuellen Netzwerk verbunden. VMs, die mit diesem Netzwerk verbunden sind, können miteinander kommunizieren, aber sie können nicht mit einer VirtualBox-Hostmaschine oder mit anderen Hosts in einem physischen Netzwerk oder in externen Netzwerken kommunizieren. VMs, die mit dem internen Netzwerk verbunden sind, können von einem Host oder anderen Geräten nicht erreicht werden. Das VirtualBox-Interne Netzwerk kann zur Modellierung realer Netzwerke verwendet werden.
Zum Beispiel können Sie drei VMs erstellen, von denen jede einen virtuellen Netzwerkadapter (Adapter 1) hat, der mit dem internen Netzwerk verbunden ist. Die IP-Adressen dieser Netzwerkadapter sind aus dem Subnetz definiert, das für das VirtualBox-Interne Netzwerk verwendet wird (Sie sollten das Subnetz manuell definieren). Eine dieser VMs (VM1) hat auch einen zweiten virtuellen Netzwerkadapter, der im NAT-Modus konfiguriert ist. Die VM1 ist als Router konfiguriert (eine der besten Lösungen zur Erstellung eines Routers besteht darin, Linux zu installieren und IPTABLES zu konfigurieren, aber für den ersten Versuch können Sie einfachere Routing-Lösungen verwenden, wenn Sie VirtualBox-Netzwerktests durchführen).
A VM2 and VM3 whose network adapters are connected only to the VirtualBox internal network can have access to external networks if the IP address of the internal network adapter of the VM1 are set as a gateway in the network settings of VM2 and VM3.
Netzwerkkonfiguration, die in diesem Beispiel verwendet wird:
VM1. IP-Adresse – 192.168.23.1 (Interner Netzwerkmodus); 10.0.2.15 (NAT-Modus), Gateway 10.0.2.2 (die IP-Adresse des integrierten VirtualBox-NAT-Geräts).
VM2. IP-Adresse – 192.168.23.2 (Internes Netzwerk), Gateway – 192.168.23.1
VM3. IP-Adresse – 192.168.23.3 (Internes Netzwerk), Gateway – 192.168.23.1
VirtualBox-Internes Netzwerk-Subnetz: 192.168.23.0/24
Siehe das folgende Diagramm für mehr Klarheit.
Hinweis: Sie können eine solche virtuelle Infrastruktur auch für Tests von Firewall-Regeln in IPTABLES bereitstellen, bevor Sie diese in Ihrer echten Netzwerkinfrastruktur implementieren. Es ist jedoch vorzuziehen, den bridged-Modus und nicht den NAT-Modus für den zweiten virtuellen Netzwerkadapter des VM1 bei der Verbindung zu/von externen Netzwerken zu verwenden.
Host-only-Adapter
Dieser Netzwerkmodus wird für die Kommunikation zwischen einem Host und Gästen verwendet. Eine VM kann mit anderen VMs kommunizieren, die mit dem host-only-Netzwerk verbunden sind, sowie mit dem Hostcomputer. Der VirtualBox-Hostcomputer kann auf alle VMs zugreifen, die mit dem Host-only-Netzwerk verbunden sind.
Der virtuelle VirtualBox Host-Only-Netzwerkadapter wird in einem Host-Betriebssystem zur Verwendung im host-only-Netzwerk erstellt. Sie können die Einstellungen dieses VirtualBox-Netzwerks bearbeiten, indem Sie zu Datei > Host-Netzwerk-Manager gehen.
In unserem Fall lautet die Standardnetzwerkadresse des Host-only-Netzwerks 192.168.56.0/24 und die IP-Adresse des virtuellen Netzwerkadapters auf dem Hostcomputer lautet 192.168.56.1. Sie können diese IP-Adressen manuell auf der Registerkarte Adapter bearbeiten. Ein DHCP-Server kann durch Aktivieren des entsprechenden Kontrollkästchens aktiviert oder deaktiviert werden. Auf der Registerkarte DHCP-Server können Sie die IP-Adresse des DHCP-Servers, die Netzmaske und den Bereich der IP-Adressen festlegen, die für DHCP-Clients ausgegeben werden sollen.
Da die virtuellen Netzwerkadapter der VMs kein Gateway in ihrer IP-Konfiguration besitzen, können Sie sich nicht mit Geräten außerhalb des Nur-Host-Netzwerks verbinden, da der Nur-Host-Modus dies nicht zulässt. Es ist auch möglich, mehr als einen VirtualBox-Host-only-Netzwerkadapter zu erstellen, um verschiedene Host-only-Netzwerke zu verwenden. Drücken Sie dazu einfach auf die Schaltfläche Erstellen. Wird das Host-only-Netzwerk nicht mehr benötigt, wählen Sie einfach den Adapter aus und klicken auf Entfernen.
Generischer Treiber
Dieser Netzwerkmodus ermöglicht Ihnen, die generische Netzwerkschnittstelle zu teilen. Ein Benutzer kann den entsprechenden Treiber auswählen, der in einem Erweiterungspaket verteilt oder in VirtualBox enthalten sein soll.
Für den VirtualBox-Modus Generischer Treiber stehen zwei Untermodi zur Verfügung: UDP-Tunnel und VDE-Netzwerk (Virtual Distributed Ethernet).
UDP-Tunnel. Auf unterschiedlichen Hosts ausgeführte virtuelle Maschinen können mittels einer bestehenden Netzwerkinfrastruktur transparent miteinander kommunizieren.
VDE-Netzwerk. Virtuelle Maschinen können sich auf Linux- oder FreeBSD-Hosts mit einem virtuellen verteilten Switch verbinden. Sie müssen VirtualBox aus Quellen kompilieren, um VDE-Netzwerk nutzen zu können, da Standard-VirtualBox-Pakete diese Funktion nicht enthalten.
Vergleich der VirtualBox-Netzwerkmodi
Der Übersichtlichkeit halber fassen wir in dieser Tabelle alle Informationen zu den von VirtualBox unterstützten Netzwerkmodi zusammen:
Portweiterleitung
Portweiterleitung ist ein Prozess, bei dem der Verkehr, der an die entsprechende IP-Adresse und den entsprechenden Port adressiert ist, abgefangen und zusätzlich zu einer anderen IP-Adresse und/oder einem anderen Port umgeleitet wird. Spezielle Anwendungen können auf Computern und anderen Routergeräten verwendet werden, um Portweiterleitungen zu konfigurieren. Einer der beliebtesten Anwendungsfälle für Portweiterleitung besteht darin, den Zugriff auf bestimmte Netzwerkdienste zu ermöglichen, die hinter dem NAT von externen Netzwerken verborgen sind. Nach Konfiguration der Portweiterleitungsregeln können Clients von außen auf die entsprechenden Dienste zugreifen, indem sie sich mit der externen IP-Adresse des Routers (Hosts) und dem angegebenen Port verbinden.
Die Pakete werden zuerst von einer Anwendung auf dem Router abgefangen, dann liest die Anwendung die Ziel-IP-Adresse und die Portnummer der entsprechenden Header (IP-Paket-Header, Header von TCP- oder UDP-Segmenten). Wenn eine Kombination aus Ziel-IP-Adresse und/oder Portnummer in den Headern mit einer in einer Portweiterleitungsregel festgelegten Bedingung übereinstimmt, ändert die Routing-Anwendung die Header-Informationen (IP-Adresse und/oder Portnummer) und sendet ein Paket/Segment gemäß der Portweiterleitungsregel an eine andere Netzwerkschnittstelle.
Standardmäßig ist eine Verbindung zu VirtualBox-VMs, deren Netzwerkadapter so eingestellt sind, dass sie im NAT– oder NAT-Netzwerk-Modus betrieben werden, von einem VirtualBox-Host und anderen Hosts im LAN aus nicht möglich, aber VirtualBox bietet eine integrierte Portweiterleitungsfunktion, um einen solchen Zugriff zu ermöglichen.
Beispiel 1 – SSH-Zugriff
Lassen Sie uns nun die Konfiguration der Portweiterleitung betrachten, um eine Verbindung zu VirtualBox-VMs herzustellen, indem wir das Beispiel einer Verbindung zu einem SSH-Server betrachten, der auf einer Ubuntu-Linux-VM läuft, die im Netzwerk im NAT-Modus verbunden ist. Sie können hier nachlesen, wie Sie Ubuntu auf VirtualBox installieren.Diesen Blogbeitrag.
Die Eingabedaten:
Host-IP: 10.10.10.72 (eine physische Netzwerkkarte).
Ubuntu-VM-IP: 10.0.2.15 (NAT-Modus)
Benutzername: Benutzer1
1. Installieren Sie den SSH-Server auf der Ubuntu-VM.
apt-get install openssh-server
2. Bearbeiten Sie die SSH-Serverkonfigurationsdatei.
vim /etc/ssh/sshd_config
3. Kommentieren Sie den String aus, um die Authentifizierung mit Passwörtern zu aktivieren.
PasswordAuthentication yes
4. Starten Sie den SSH-Daemon (Dienst) neu.
/etc/init.d/ssh restart
5. Überprüfen Sie, ob der SSH-Server funktioniert, und versuchen Sie, eine Verbindung zum SSH-Server von localhost (Ubuntu-VM) aus herzustellen.
6. Wenn alles in Ordnung ist, können Sie mit der Konfiguration der Portweiterleitung in VirtualBox beginnen.
Wie Sie sich erinnern, sollten Sie die VM-Einstellungen öffnen und den Netzwerk-Abschnitt auswählen. Wählen Sie Ihren virtuellen Netzwerkadapter aus, der im NAT-Modus konfiguriert ist, erweitern Sie die Erweiterte Einstellungen und klicken Sie auf die Weiterleitung von Anschlüssen. Klicken Sie auf das +-Symbol, um eine neue Portweiterleitungsregel in den Netzwerkeinstellungen von VirtualBox der VM hinzuzufügen.
Ein SSH-Server hört standardmäßig auf dem 22. TCP-Port zu. Lassen Sie uns eine Regel erstellen, die es Ihnen ermöglicht, alle Verbindungen zum VirtualBox-Hostrechner auf Port 8022 an die Ubuntu-VM auf Port 22 weiterzuleiten, der vom SSH-Server gehört wird. Zuerst können Sie eine Regel erstellen, die nur Verbindungen vom VirtualBox-Host zulässt.
Name | Protokoll | Host-IP | Host-Port | Gast-IP | Gast-Port |
Ubuntu-SSH | TCP | 127.0.0.1 | 8022 | 10.0.2.15 | 22 |
Die Ansicht des Fensters für Portweiterleitungsregeln in der VirtualBox-GUI ist auf dem untenstehenden Screenshot dargestellt.
Öffnen Sie einen SSH-Client (z. B. PuTTY, wenn Sie Windows verwenden) auf Ihrem VirtualBox-Host und verbinden Sie sich mit 127.0.0.1 auf Port 8022.
Andere Hosts in Ihrem physischen Netzwerk können auf die Ubuntu-VM über SSH zugreifen, indem sie sich mit der VirtualBox-Hostmaschine auf Port 8022 verbinden, wenn Sie eine ähnliche Portweiterleitungsregel erstellen, bei der die reale IP-Adresse Ihres physischen Netzwerkadapters des VirtualBox-Hosts anstelle der localhost-IP-Adresse (127.0.0.1) definiert wird. In diesem Beispiel ist die IP-Adresse der physischen Netzwerkkarte auf dem VirtualBox-Host 10.10.10.72.
Name | Protokoll | Host-IP | Host-Port | Gast-IP | Gast-Port |
Ubuntu-SSH | TCP | 10.10.10.72 | 8022 | 10.0.2.15 | 22 |
Öffnen Sie einen SSH-Client auf Ihrem VirtualBox-Host oder auf einem anderen Host, der mit Ihrem LAN verbunden ist, und verbinden Sie sich mit der IP-Adresse Ihres VirtualBox-Hosts auf Port 8022.
Beispiel 2 – HTTP-Zugriff
Wenn Sie einen Webserver auf Ihrer VM bereitstellen und den Zugriff auf Ihre Websites von außen ermöglichen möchten, können Sie eine weitere Portweiterleitungsregel hinzufügen. Überlegen wir uns, wie diese Portweiterleitungsregel konfiguriert wird, um auf eine Website zuzugreifen, die auf einer Ubuntu-VM von einer VirtualBox-Hostmaschine und anderen an das physische lokale Netzwerk (LAN) angeschlossenen Maschinen bereitgestellt wird. Apache wird in diesem Beispiel als Webserver verwendet.
Zuerst installieren Sie Apache auf der Ubuntu-VM, die auf VirtualBox läuft.
apt-get install apache2
Die ufw-Firewall ist standardmäßig in Ubuntu deaktiviert. Wenn eine Firewall auf Ihrem Ubuntu-VM aktiviert ist, stellen Sie sicher, dass der Zugriff auf den TCP-Port 80 aktiviert ist.
Nach der Installation von Apache öffnen Sie einen Webbrowser auf Ihrer Ubuntu-VM und greifen Sie auf die Standard-Apache-Seite zu, indem Sie http://127.0.0.1 in die Adressleiste eingeben. Wenn alles in Ordnung ist, sehen Sie die Apache2 Ubuntu-Standardseite in Ihrem Webbrowser.
Dies bedeutet, dass Sie jetzt eine Port-Weiterleitungsregel in den Netzwerkeinstellungen von VirtualBox für den Zugriff auf Ihre auf der Ubuntu-VM gehostete Website konfigurieren können. Öffnen Sie das Fenster „Portweiterleitung“ indem Sie zu VM-Einstellungen > Netzwerk > [wählen Sie Ihren Adapter aus] > Portweiterleitung gehen (ähnlich wie oben erklärt). Sie können eine neue Regel hinzufügen, indem Sie folgendes tun:
Name | Protokoll | Host-IP | Host-Port | Gast-IP | Gast-Port |
Ubuntu-HTTP80 | TCP | 10.10.10.72 | 8080 | 10.0.2.15 | 80 |
Öffnen Sie einen Webbrowser auf Ihrem Host-Computer oder auf einem anderen Gerät, das mit Ihrem physischen Netzwerk verbunden ist, und geben Sie die IP-Adresse Ihres VirtualBox-Hostcomputers und den in der oben erstellten Portweiterleitungsregel definierten Port ein:
http://10.10.10.72:8080
Im aktuellen Beispiel ist 10.10.10.72 die IP-Adresse des VirtualBox-Hostcomputers und 8080 ist ein TCP-Port, der auf dem VirtualBox-Hostcomputer gehört wird. Ein positiver Effekt der Konfiguration der Portweiterleitung ist auf dem folgenden Screenshot zu sehen.
Sie können auch ähnliche Regeln für den Zugriff auf eine VM über RDP, FTP und andere Protokolle erstellen.
Die Konfiguration der Portweiterleitung für VMs, deren virtuelle Netzwerkadapter im NAT-Netzwerk-Modus arbeiten, funktioniert ähnlich (siehe den Abschnitt oben, in dem der NAT-Netzwerkmodus erklärt wird, um die Einstellungen für die Portweiterleitung für den NAT-Netzwerkmodus zu finden).
Schlussfolgerung
VirtualBox ist eine leistungsstarke Virtualisierungslösung, die flexibel ist und eine breite Palette von Netzwerkeinstellungen bietet. Jede VM kann bis zu acht virtuelle Netzwerkadapter verwenden, und jeder Netzwerkadapter kann als das entsprechende Modell von echten Intel- und AMD-Netzwerkschnittstellencontrollern (NICs) emuliert werden. Die Netzwerkeinstellungen des VirtualBox-Netzwerkadapters ermöglichen es Ihnen, die MAC-Adresse jedes virtuellen NIC zu ändern, das virtuelle Netzwerkkabel anzuschließen oder zu trennen und den Netzwerkmodus auszuwählen. Die Einstellung des Netzwerkmodus für einen virtuellen Netzwerkadapter ist einer der interessantesten und wichtigsten Teile der VirtualBox-Netzwerkeinstellungen. Es gibt sechs Netzwerkmodi, die jeweils für unterschiedliche Anwendungsfälle genutzt werden können. Die Portweiterleitung kann für den externen Zugriff auf VMs konfiguriert werden, deren Netzwerkadapter in NAT- oder NAT-Netzwerkmodi betrieben werden.
Source:
https://www.nakivo.com/blog/virtualbox-network-setting-guide/