Wie greife ich vom Host auf den Server zu, der in VirtualBox ausgeführt wird?
Ich führe eine Web-App auf der VM aus.
Ich kann die App unter localhost:8888
über einen Browser innerhalb der VM sehen.
Ich kann die App vom Host nicht unter derselben URL sehen. Das ist das Ziel.
Ich habe versucht, VBoxManage modifyvm "VM name" --natdnshostresolver1 on
aber es hatte keinen Einfluss.
Meine Konfiguration ist:
- , Host: Windows-7 -
- Person: Ubuntu 16.04.1 LTS
- VirtualBox: 5.1. 4r110228
(Gast) ifconfig
wenn auf NAT
kirkland@GC:~$ ifconfig
eth0 Link encap:Ethernet HWaddr 08:00:27:d0:fc:0e
inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
inet6 addr: fe80::4c67:70b5:c37b:8fa8/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7431 errors:0 dropped:0 overruns:0 frame:0
TX packets:3587 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7444830 (7.4 MB) TX bytes:731870 (731.8 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1566 errors:0 dropped:0 overruns:0 frame:0
TX packets:1566 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:655936 (655.9 KB) TX bytes:655936 (655.9 KB)
(Gast) /etc/hosts -
127.0.0.1 localhost
127.0.1.1 GC
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
3 answers
Die URL localhost:8888
ist nur eine gültige URL in Ihrer VM. Außerhalb dieser VM müssen Sie ip.ad.dr.ess:8888
oder hostname:8888
. Im letzteren Fall wird eine Abhängigkeit von Hostnamen eingeführt, die in Ihrem Netzwerk in ip.ad.dr.ess
aufgelöst wird.
Wenn Sie eine VM in VirtualBox erstellen, ist Netzwerkadapter 1 standardmäßig auf NAT gesetzt. Dadurch erhält die VM eine IP-Adresse von 10.0.2.15/24
und eine Standardroute von 10.0.2.2
(die Ihr Host sein sollte). Kurz gesagt, Windows wird nicht an eine Adresse weitergeleitet, für die es NAT bereitstellt, ohne springen durch mehr Reifen zuerst.
Wenn Sie die VM herunterfahren und die Einstellung VM network adapter1 auf "bridged" ändern, kann Ihr Host (und jeder Host in Ihrem lokalen Netzwerk) mit dieser VM kommunizieren, ohne dass spezielle Routen hinzugefügt oder Reifen hinzugefügt werden müssen.
Starten Sie die VM neu. Überprüfen Sie Ihre Verbindung zu localhost:8888
. Überprüfen Sie auch Ihre Verbindung zu hostname:8888
(vorausgesetzt, der Hostname wurde not
zur Loopback/localhost-Adresse in der Datei /etc/hosts hinzugefügt) und ip-address:8888
.
BEARBEITEN: Basierend auf die/etc / hosts Details gepostet, Sie are
Bindung Ihrer VM und damit die Webapp an das Loopback-Netzwerk. Diese Konfiguration ist außerhalb der VM überhaupt nicht verwendbar.
Wenn Ihr Webserver und Ihre Anwendung nicht von der IP-Adresse abhängig sind, auf der sie zuerst konfiguriert/installiert wurde, und Sie einen DHCP-Server in Ihrem LAN haben, sollten Sie die einzige andere Information, die Sie zur Verbindung mit der VM benötigen, die IP-Adresse, die ihr über DHCP zugewiesen wurde.
Um die IP-Adresse der VM zu finden, öffnen Sie ein terminal - / Konsolenfenster Vom Ubuntu-Desktop aus (Strg-Alt-T) verwenden wir die Befehle hostname, ifconfig und grep /etc/hosts
, um die Teile zusammenzusetzen und Ihre Adresse zu finden. Geben Sie im geöffneten Terminal hostname
ein und drücken Sie die Eingabetaste. Dies ist wahrscheinlich gc. In demselben Terminal zeigt die Eingabe von ifconfig eth0 | awk '/Bcast/{print $2}'
die Adresse an. Sie sollten eine Zeile in /etc/hosts mit der Adresse gefolgt vom Hostnamen haben. grep [hostname] /etc/hosts
oder grep [address] /etc/hosts
sollte die Zeile finden, die Sie benötigen. Wenn Sie etwas anderes als Ihre aktuelle Adresse finden gefolgt vom Hostnamen müssen Sie die Datei /etc/hosts ändern, um die richtigen Informationen hinzuzufügen.
Hosts in Ihrem LAN sollten nun eine Verbindung zur IP Ihrer VM auf Port 8888 herstellen können. Damit diese Hosts / Clients über hostname:8888
auf die Webanwendung zugreifen können, hängen sie von Clienthostdateien, lokalem DNS oder sogar mDNS-Diensten ab, die möglicherweise auf Ihrem DHCP-Server bereitgestellt werden.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-09-04 01:05:07
Um dies zu erreichen, wäre es meiner Meinung nach viel besser, den Bridged-Modus zu verwenden. Wenn dies nicht möglich oder wünschenswert ist, benötigen Sie eine statische Route auf Ihrem Host.
Um eine statische Route hinzuzufügen, tun Sie dies: Suchen Sie in den Netzwerkeigenschaften Ihres Hosts. Finden Sie einen adapter namens VirtualBox Host-only Network. Finden Sie seine IP-Adresse. Es ist wahrscheinlich 192.168.56.1, was meiner Meinung nach der Standard ist, aber etwas anderes sein könnte. Rufen Sie das a. b. c. d. Als nächstes erhalten Sie die IP-Adresse Ihres Gastes. Ruf das an w. x. y. z. (Die ersten 3 Oktette sollten in beiden Adressen gleich sein.) Wenn Sie das haben, öffnen Sie eine DOS-Eingabeaufforderung auf Ihrem Host und geben Sie diesen Befehl ein:
route add w.x.y.z mask 255.255.255.0 a.b.c.d
Wenn dies funktioniert, können Sie denselben Befehl mit dem Schalter-p ausführen, um ihn dauerhaft zu machen (andernfalls verschwindet er beim nächsten Neustart des Hosts).
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-09-02 00:06:34
Ich bin etwas spät dran, aber hier ist eine schnelle Lösung mit Portweiterleitung, wenn Sie nicht möchten, dass VM einem externen Netzwerk ausgesetzt ist. Erstellen Sie einfach dieses Portweiterleitungsprofil für Web und ssh, wie unten in den NAT-Einstellungen von VM
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-01-15 19:19:36