Мостовая сеть Virtual Box и переадресация портов

Мостовая сеть Virtual Box и переадресация портов

У меня проблема. Вот схема моей сети. введите описание изображения здесь

  1. У меня есть WIFI-роутер, подключенный к Интернету, я заказал статический IP-адрес у своего интернет-провайдера, чтобы иметь доступ к своему локальному ПК через Интернет.
  2. Мой роутер создает сеть 192.168.0.0/24
  3. У меня некоторые порты перенаправлены на мой локальный сервер ПК (192.168.0.101) введите описание изображения здесь
  4. У меня на локальном ПК установлен Virtual Box.
  5. С помощью Vagrant созданы и поддерживаются два узла, но нас интересует первый узел.
  6. Каждая виртуальная машина имеет две сетевые карты: первая — NAT для связи Vagrant, вторая — мостовой адаптер через интерфейс локального ПК enp3s0.
  7. Все узлы имеют определенные MAC-адреса, которые привязаны к настройкам DHCP маршрутизатора, чтобы предоставить им статический IP-адрес (192.168.0.110 и 192.168.0.111)
  8. Внутри локальной сети все работает, узлы получают корректные IP-адреса, и я могу получить доступ к любому порту узла через локальную сеть.
  9. На моем узле с IP-адресом 192.168.0.110 запущен сервер Apache, и внутри локальной сети он работает нормально.
  10. Я хочу получить доступ к моему узлу сервера Apache извне, поэтому я перенаправил внешний порт 8888 на локальный порт 80 на машину с IP-адресом 192.168.0.110, как вы можете видеть на снимке экрана выше.

Но проблема в том, что я не могу получить доступ к node apache извне. Соединение истекло или сброшено. Я попытался захватить трафик с помощью Wireshark и вижу следующие ошибки.

введите описание изображения здесь введите описание изображения здесь Возможно ли заставить это работать? Или единственное решение - перенаправить порты на ПК 192.168.0.101, а затем пересылать пакеты на узел с помощью NAT с переадресацией портов?

Помогите решить эту проблему. Спасибо.

решение1

Я понимаю, что это не тот ответ, который вы ищете, но я ломал голову больше дня и пришел к такому выводу.Это должно работать и не работает. Я профессионал в Linux и разбираюсь в его сетях. На других форумах говорят, что вы делаете все правильно, я согласен, и должно работать. Я сам пробовал вашу точно такую ​​же настройку в двух совершенно разных сетях, и она просто не работает.

Вам нужно сделать это с адаптером NAT рядом с адаптером моста. Настройте переадресацию портов на NAT и установите IP-адрес хоста на 0.0.0.0.

В вашем маршрутизаторе сделайте переадресацию порта на IP-адрес ХОСТА, а НЕ на IP-адрес клиентской виртуальной машины. Так что в вашем примере переадресуйте порт 8888 на IP-адрес ХОСТА на ТОМ ЖЕ ПОРТУ 8888.

Тогда в Vagrant переадресация порта NAT будет выглядеть так:

config.vm.network "forwarded_port", guest: 80, host_ip: "0.0.0.0", host: 8888

Связанный контент