Kein Internetzugriff vom VirtualBox-Gast aus möglich (Arch Linux)

Kein Internetzugriff vom VirtualBox-Gast aus möglich (Arch Linux)

Ich verwende VirtualBox 5.0.20. Der Hostcomputer ist ein MacBook mit OS X 10.11.5 (El Capitan). Das Gastbetriebssystem ist 64-Bit Arch Linux. Als ich Arch vom ISO installierte, war die Internetverbindung des Gasts einwandfrei. Nachdem ich jedoch das installierte System gebootet hatte, konnte ich nicht mehr auf das Internet zugreifen (zum Beispiel bleibt das Pingen von 8.8.8.8 einfach auf unbestimmte Zeit hängen).

Die virtuelle Maschine verfügt über zwei Netzwerkadapter: einen Bridged-Adapter und einen Host-Only-Adapter. Ich habe versucht, den Bridged-Adapter in einen NAT-Adapter umzuwandeln und die Bridge einmal mit der drahtlosen Schnittstelle des Hosts und ein anderes Mal mit der kabelgebundenen Schnittstelle des Hosts zu verbinden. Der Gast kann bei keiner dieser Konfigurationen auf das Internet zugreifen.

Das Gastbetriebssystem hat systemd-networkd.service und systemd-resolved.service aktiviert. Es ist meines Wissens kein anderer Netzwerkdienst aktiviert. Wenn möglich, würde ich diese Dienste beibehalten und nicht zu einem anderen Dienst wechseln, aber ich werde wechseln, wenn diese Dienste einen inhärenten Fehler aufweisen, der die Ursache meines Problems ist.

Innerhalb des Gastbetriebssystems der Inhalt der Netzwerkdatei des überbrückten Adapters:

[root@arch64 ~]# cat /etc/systemd/network/bridged.network 
[Match]
Name=enp0s3

[Network]
DHCP=ipv4

Und der Inhalt der Netzwerkdatei des Host-Only-Adapters:

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24
Gateway=192.168.56.1

Der überbrückte Adapter erhält erfolgreich eine DHCP-Lease und ich kann zusätzlich Hosts in meinem LAN anpingen, aber ich kann nichts jenseits des Routers meines LAN anpingen. Die Internetverbindung des Hosts ist in Ordnung.

Antwort1

Die Antwort kommt von einem Tipp, den ich erhielt aufdieselbe Frage wurde im Unix & Linux StackExchange gestellt.

Gemäß meinem Setup hatte ich zwei systemd-Netzwerkeinheitendateien: eine für den überbrückten Adapter und eine für den Host-Only-Adapter. Ich wollte, dass der überbrückte Adapter eine dynamische Adresse hat, da sich die virtuelle Maschine auf einem Laptop befindet, der zwischen Netzwerken wechselt, und ich wollte, dass der Host-Only-Adapter eine statische Adresse hat, damit ich darauf zugreifen kann, z. B. per SSH, ohne die Adresse manuell ermitteln zu müssen.

Beim Erstellen der Netzwerkeinheitendateien habe ich jedoch blind kopiert, was ich in einem Wiki-Tutorial gefunden hatte – ein Abschnitt beschreibt, wie man schnell eine dynamische Adresse einrichtet, der andere, wie man schnell eine statische Adresse einrichtet. Offensichtlich ging das Tutorial davon aus, dass ich das eine oder das andere einfache Setup verwenden würde – nicht beide nebeneinander, was ein komplexeres Szenario wäre.

Es genügt zu sagen, dass in der Netzwerkdatei des Host-Only-Adapters die Gateway-Option angegeben war, während dies in der Datei des Bridged-Adapters nicht der Fall war. Es scheint also, dass das Gateway des Host-Only-Adapters zur bevorzugten Route für den von der virtuellen Maschine kommenden Datenverkehr wurde. Das Entfernen dieser Option aus der Netzwerkdatei löste das Problem.

Netzwerkdatei des Host-Only-Adapters nach Fix (Gateway-Option entfernt):

[root@arch64 ~]# cat /etc/systemd/network/host-only.network 
[Match]
Name=enp0s8

[Network]
Address=192.168.56.2/24

verwandte Informationen