無法在 Virtual Box 中進行連接埠轉發

無法在 Virtual Box 中進行連接埠轉發

我使用的是 Mac OS X 10.6。我已經在其中安裝了Virtual Box 4.1.0。我的來賓作業系統是Ubuntu伺服器11.04。我在 Virtual Box 的連接埠轉送中新增了一條規則 ->

"guestssh" TCP 127.0.1.1 8080 127.0.0.1 1337

在來賓作業系統內部,我正在執行 Nodejs 伺服器。程式碼只不過是在他們的網站上找到的簡單的 helloworld 程式碼http://nodejs.org/。簡而言之,我在 127.0.0.1 的 1337 連接埠上運行伺服器。

現在根據我給的規則,從主機對 127.0.1.1:8080 的所有請求都應轉送到來賓作業系統的 127.0.0.1:1337。從主持人那裡我正在做curl http://127.0.1.1:8080並且我正在得到捲曲:(7)無法連接到主機我做錯了什麼嗎?

注意-不要給我建議全部執行 ssh。由於我的 ISP 不提供內部 LAN,因此在我的情況下這是不可能的。我所能做的就是連接埠轉送。

答案1

我遇到了同樣的問題,並從這個答案中得到了提示: https://stackoverflow.com/a/6181230/1233020

在您的 virtualbox 來賓中,運行ifconfigip addr(取決於您的 Linux 發行版)。對於 arch linux (我使用的)ip addr,輸出是:

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

這是有趣的一行:

inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0

我更改了要使用的連接埠轉送規則10.0.2.15,然後一切正常! (您可能需要重新啟動虛擬機器)。

相關內容