web-dev-qa-db-ja.com

VirtualBoxでポート転送を実行できません

Mac OS X10.6を使用しています。 Virtual Box4.1.0をインストールしました。私のゲストOSはUbuntuサーバー11.04です。 VirtualBoxのポートフォワーディングにルールを追加しました->

"guestssh" TCP 127.0.1.1 8080 127.0.0.1 1337

ゲストOS内でnodejsサーバーを実行しています。コードは、彼らのサイトにある単純なhelloworldコードに他なりません http://nodejs.org/ 。要するに、私は1337ポートの127.0.0.1でサーバーを実行しています。

今私が与えたルールに従って、ホストマシンから127.0.1.1:8080へのすべてのリクエストはゲストOSの127.0.0.1:1337に転送されるべきです。ホストから私はcurl http://127.0.1.1:8080そしてcurlを取得しています:(7)ホストに接続できませんでした何か問題がありますか?

注-sshnallを実行するように提案しないでください。私のISPは内部LANを提供していないので、私の場合は不可能です。ポートフォワーディングでできることはすべて。

3
Nihar Sawant

私は同じ問題を抱えていて、この答えからヒントを得ました: https://stackoverflow.com/a/6181230/123302

Virtualboxゲスト内で、ifconfigまたはip 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を使用するようにポート転送ルールを変更したところ、すべてが機能しました。 (VMを再起動する必要がある場合があります)。

4
diff_sky