1

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

Я следую учебнику по Ars Techica.

Я думаю, что уместно, что я использую nginx вместо apache (как предложено в учебнике).

2 ответа2

1

Определенно не относится к nginx, который просто слушает в гостевой системе порт 80, как любой веб-сервер.

Вы должны посмотреть на сетевую конфигурацию вашего гостя, как на уровне конфигурации компьютера в VirtualBox, так и на конфигурации гостевого интерфейса (/etc/network/interfaces , ifconfig).

Тот факт, что вы можете связаться с ним с вашего хоста, означает, что у вас уже есть доступ извне VirtualBox, поэтому соединение хост-гость в порядке / возможно.

Как вы настроили свою гостевую сеть в VirtualBox?

1 Ваш хост находится в сети за маршрутизатором /NAT

Мостовое соединение может быть самой простой настройкой: подключить гостя напрямую к сети хоста через его карту и получить собственный IP-адрес. Это зависит от того, принимает ли его сетевой контроллер (коммутатор / концентратор) (фильтрация MAC-адресов / белый список могут предотвратить это). В последнем случае вы должны настроить его с помощью NAT (см. Ниже).

То, что вам нужно, это сделать ваш хост доступным для внешнего мира. Вам нужно будет настроить NAT на сетевом шлюзе (маршрутизаторе).

2. Ваш хост напрямую связан с внешним миром

Вы должны настроить гостевую сеть как NAT в VirtualBox и перенаправить порт в VirtualBox, чтобы он прослушивал TCP-порт 80 и переадресовывал его этому гостю. Это потому, что у вас, вероятно, один IP-адрес в сети «внешнего мира», поэтому мостовое соединение не будет установлено.

В обоих случаях вам нужно будет открыть входящий TCP 80 в брандмауэре вашего хоста (уже все в порядке, если вы не изменили его в Linux) и, очевидно, ничего не прослушивать этот порт, чтобы VirtualBox мог это сделать.

0

Переадресация портов ниже 1024 заблокирована ядром для пользователей без полномочий root. Следовательно, пересылка пытается получить доступ к порту 80 гостя на порт более высокого уровня (например, 8080). Из VirtualBox:

Settings (secondary click on server icon) → Network → Adapter 1 (Attached to: NAT) → Advanced → Port Forwarding

Name | Protocol | Host Port | Guest Port
HTTP | TCP      | 8080      | 80

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