Здравствуйте, в virtualbox я установил Debian 8 и мое веб-приложение, которое работает на порту 8000. Сеть Virtualbox У меня в настройках сети мостовой адаптер и я могу подключиться туда через ssh со своего компьютера. Виртуальный ящик имеет IP-адрес: 192.168.88.65. Мой компьютер имеет IP-адрес: 192.168.88.51. Он находится на одном сайте.

Я хотел бы получить доступ к своему веб-приложению с моего компьютера через порт 8000. Но когда я запускаю nmap на моем компьютере, я вижу только эти порты:

Nmap scan report for test (192.168.88.65)
Host is up (0.0023s latency).
Not shown: 998 closed ports
PORT     STATE SERVICE
111/tcp  open  rpcbind
3306/tcp open  mysql

но в компьютере Virtualbox это:

Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000030s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 996 closed ports
PORT     STATE SERVICE
25/tcp   open  smtp
111/tcp  open  rpcbind
3306/tcp open  mysql
8000/tcp open  http-alt

Как я могу увидеть порт 8000 с моего компьютера?

Я пытаюсь запустить эти команды в virtualbox, но это не работает:

root @ debian /root ### iptables -I INPUT -p tcp --dport 8000 -j ACCEPT
root @ debian /root ### iptables-save

# Generated by iptables-save v1.4.21 on Mon Mar  6 10:11:58 2017
*filter
:INPUT ACCEPT [57:123601]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [44:124193]
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8000 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
COMMIT
# Completed on Mon Mar  6 10:11:58 2017

1 ответ1

0

Вставленные вами правила iptables являются избыточными, поскольку, как показывает вывод вашей команды iptables-save , политика INPUT - ACCEPT , поэтому любое соединение будет разрешено.

Я могу ошибаться, но я подозреваю, что, поскольку вы используете мостовой адаптер, он подчиняется правилам брандмауэра на вашем хост-компьютере и не позволяет вам достичь целевого порта.

Если вам абсолютно не нужен мостовой адаптер внутри вашей виртуальной машины, я бы рекомендовал переключиться на NAT и просто использовать возможность переадресации портов VirtualBox.

Под Settings > Network > Adapter 1

Измените поле "Attached To" на NAT .

В разделе "Дополнительно" нажмите кнопку "Переадресация портов" и добавьте запись:

Name: http (or any name you want)
Protocol: TCP
Host IP: (blank)
Host Port: 8888 (or any port you want)
Guest IP: (blank)
Guest Port: 8000 (match your web app port)

Затем вы можете запустить свою виртуальную машину (гостевая), а затем с хост-компьютера открыть браузер и получить доступ к своему веб-приложению, перейдя к конечной точке ниже (добавив любой путь, который вам может понадобиться).

localhost:8888

Для удобства, если ваш хост-компьютер основан на UNIX, вы можете добавить строку в /etc/hosts следующим образом:

127.0.0.1 myapp.com

Тогда вы можете использовать:

myapp.com:8888

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .