Win7 Host и Ubuntu Server при переадресации гостевого порта Virtualbox - PullRequest
4 голосов
/ 11 сентября 2011

Я пытаюсь настроить, как мне кажется, довольно распространенную конфигурацию сервера разработки Django, но у меня возникают проблемы с переадресацией портов между гостевой ОС и хост-ОС.

Я бегу:

  • Win7 Host
  • VirtualBox 4.1.2
  • Ubuntu Server 11.04 Гость.

Я подключаюсь к VirtualBox через NAT и использую встроенную функцию переадресации портов VirtualBox (из меню «Настройки гостя» -> «Сеть» -> «Переадресация портов»), так что мой .vbox XML содержит следующий раздел:

<NAT>
        <DNS pass-domain="true" use-proxy="false" use-host-resolver="false"/>
        <Alias logging="false" proxy-only="false" use-same-ports="false"/>
        <Forwarding name="guestdjango" proto="1" hostip="127.0.0.2" hostport="9080" guestport="8080"/>
        <Forwarding name="guesthttp" proto="1" hostip="127.0.0.2" hostport="8080" guestport="80"/>
        <Forwarding name="guestssh" proto="1" hostip="127.0.0.2" hostport="2222" guestport="22"/>
</NAT>

С хоста я могу подключиться по SSH / SFTP к гостю через порт 2222, я вижу nginx "Welcome to nginx!" на 127.0.0.2:8080.

После проверки я настроил Django и запустил средство запуска Django:

python manage.py runserver 127.0.0.1:8080

С Lynx от гостя я получаю страницу «Поздравляем» Django на 127.0.0.1:8080.

Однако , когда я перехожу к хосту 127.0.0.2:9080, я получаю «Соединение было сброшено».

1 Ответ

21 голосов
/ 11 сентября 2011

Я не совсем уверен, как он работает с переадресацией портов, но обычно, чтобы выставить сервер выполнения во внешнюю сеть, вам нужно привязать его к чему-то другому, кроме localhost - т.е. запустить python manage.py runserver 0.0.0.0:8080. Посмотрите, работает ли это.

...