В настоящее время у меня есть настройка среды разработки на ПК с Windows 7 под управлением Ubuntu 11.04 внутри VirtualBox на той же коробке. Я использую опцию "Мостовая сеть" в VirtualBox, а внутри Windows я подключил сетевое соединение, созданное VirtualBox, и мое стандартное соединение Wi-Fi из Windows 7. Это позволило мне получить доступ к веб-серверу, работающему в VirtualBox, по моей локальной сети под одним IP-адресом, однако, когда я захожу в свой маршрутизатор, чтобы перенести прямой порт 80 во внешний мир, он все еще недоступен. Есть что-то, что я пропускаю, чтобы заставить это работать как описано? Я хотел бы выставить порт 80 на VirtualBox для внешнего мира.
2 ответа
По моему опыту, у виртуализированных сетей и адаптеров WiFi обычно возникают проблемы - и это не относится только к VirtualBox.
Я бы порекомендовал вам переключить виртуальный сетевой адаптер в VirtualBox, чтобы он был в режиме NAT вместо моста. Затем вы можете перенести порт через VirtualBox (аналогично тому, что вы сделали на маршрутизаторе) для доступа к веб-серверу. Графического интерфейса для переадресации портов нет, поэтому вам нужно будет сделать это из командной строки:
VBoxManage setextradata "VM Name Here" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/Protocol" TCP
VBoxManage setextradata "VM Name Here" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/http/GuestPort" 80
VBoxManage setextradata "VM Name Here” "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 8080
Это перенаправит порт 8080 на вашем хосте на порт 80 на вашем госте, поэтому конфигурация вашего маршрутизатора должна будет перенаправить открытый порт 80 на 8080 на вашем ноутбуке. Не стесняйтесь настраивать номера портов в соответствии с тем, что имеет смысл в вашей сети.
Другой вариант - подключить кабель Ethernet, так как в этом случае опция сетевого моста будет работать нормально.
На самом деле это довольно просто с netsh на хосте Windows.
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=HOSTIPADDRESS connectport=80 connectaddress=GUESTIPADDRESS
Затем, как указал Goyuix, вам просто нужно перенаправить открытый порт маршрутизатора с 80 по 8080 на ваш хост.