Переадресация портов VirtualBox не работает с NAT-адаптером
Я пытаюсь выполнить обычную переадресацию портов с помощью VirtualBox, и, похоже, VirtualBox.exe прослушивает хост для порта, но фактически не перенаправляет соединение с гостем. Я пробовал несколько портов, и я несколько раз перезапускал VirtualBox. С другой стороны, с гостевым подключением - все в порядке. Здесь информация:
Host: Win7 x64
Guest: Win7 x64
VirtualBox version: VirtualBox 4.2.10
Firewalls: All firewalls on host and guest disabled.
Virtual Box > Machine Settings > Network
Adapter 1:
Attached to: NAT
Cable Connected : True
Port Forwarding:
Rule 1: TCP, HostIP=127.0.0.1, HostPort=8081, GuestIP=127.0.0.1, GuestPort=8081
On Host:
[VirtualBox.exe] TCP 127.0.0.1:8081 IBM-6KT5OPCF76P:0 LISTENING
On Guest:
I never get the connection request on port 8081 or any others I've tried.
Любые идеи? Я бы хотел избежать использования адаптера VirtualBox для нескольких причин. У меня создалось впечатление, что перенаправление NAT-портов было относительно простым с VirtualBox.
Спасибо!
Ответы
Ответ 1
Вы указали гостевой ip неверным образом, это должен быть ip гостя (если вы статически назначаете ip-адрес гостю) или оставьте его пустым. Обратите внимание, что вы указали host ip как 127.0.0.1, это означает, что переадресация порта будет доступна только с порта (если вам не то, что вам нужно, оно также должно быть пустым).
VBoxManage modifyvm "win" --natpf1 ",tcp,,8081,,8081"
возможно, это то, что вы хотели сделать. (пожалуйста, смотрите здесь для более подробной информации)
Ответ 2
Паравиртуализированная сеть * (virtio-net) - это ключ
Ответ 3
Неясно, какую гостевую ОС вы используете.
Я столкнулся с той же проблемой.
Мой хост был MAC-компьютером, а гостем был CentOS 7 на VirtualBox.
Я включил переадресацию NAT-порта от гостя к хосту на уровне VirtualBox как для порта ssh 22, так и для http-порта 80.
Однако я обнаружил, что не смог подключиться к HTTP-серверу Apache на гостевом компьютере Centos 7 с моего хоста MAC-ПК в http-соединении.
Чтобы исправить это, я должен установить firewalld-службу, чтобы разрешать соединения с портом 80.
Ответ 4
У меня возникла аналогичная проблема, и она оказалась неподписанными драйверами в сетевом стеке, установленном некоторым программным обеспечением для перехвата прокси-сервера, называемым proxycap, которые вызывали ошибку виртуального бокса при настройке переадресации портов. Проверьте журналы машин VM для сообщения об ошибке при настройке переадресации портов и перечислении неподписанных драйверов и удалите соответствующее приложение.