
Ich verwende Mac OS X 10.6. Ich habe Virtual Box 4.1.0 darauf installiert. Mein Gastbetriebssystem istUbuntu Server11.04. Ich habe eine Regel in der Portweiterleitung in Virtual Box hinzugefügt ->
"guestssh" TCP 127.0.1.1 8080 127.0.0.1 1337
Im Gastbetriebssystem verwende ich einen NodeJS-Server. Der Code ist nichts anderes als einfacher Hallo-Welt-Code, der auf ihrer Site zu finden isthttp://nodejs.org/. Kurz gesagt, ich betreibe den Server auf 127.0.0.1 auf Port 1337.
Gemäß der von mir angegebenen Regel sollten nun vom Host-Rechner alle Anfragen für 127.0.1.1:8080 an 127.0.0.1:1337 des Gastbetriebssystems weitergeleitet werden. Vom Host aus mache ich das curl http://127.0.1.1:8080
und bekommecurl: (7) konnte keine Verbindung zum Host herstellenMache ich etwas falsch?
Hinweis: Schlagen Sie mir nicht vor, SSH und so weiter zu verwenden. Da mein ISP kein internes LAN bereitstellt, ist das in meinem Fall nicht möglich. Ich kann nur Portweiterleitung verwenden.
Antwort1
Ich hatte das gleiche Problem und habe mir einen Tipp aus dieser Antwort zu Herzen genommen: https://stackoverflow.com/a/6181230/1233020
Führen Sie in Ihrem Virtualbox-Gast ifconfig
oder aus ip addr
(hängt von Ihrer Linux-Distribution ab). Für Arch Linux (was ich verwendet habe) ist es ip addr
, die Ausgabe ist:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:75:e6:cc brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
inet6 fe80::a00:27ff:fe75:e6cc/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:8c:04:e6 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.3/24 brd 192.168.56.255 scope global eth1
inet6 fe80::a00:27ff:fe8c:4e6/64 scope link
valid_lft forever preferred_lft forever
Dies ist die interessante Zeile:
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
Ich habe die zu verwendende Portweiterleitungsregel geändert 10.0.2.15
und dann hat alles funktioniert! (Möglicherweise müssen Sie Ihre VM neu starten).