
Я использую Mac OS X 10.6. Я установил в нем Virtual Box 4.1.0. Моя гостевая ОС -Сервер Ubuntu11.04. Я добавил правило в Port Forwarding в 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
и получаюcurl: (7) не удалось подключиться к хостуЯ что-то делаю не так?
Примечание - Не предлагайте мне делать ssh n all. Так как мой провайдер не предоставляет внутреннюю локальную сеть, то в моем случае это невозможно. Все, что я могу сделать, это переадресация портов.
решение1
У меня была та же проблема, и я воспользовался советом из этого ответа: https://stackoverflow.com/a/6181230/1233020
Внутри гостевой системы 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
и все заработало! (возможно, вам придется перезапустить виртуальную машину).