Порт 80 перепутан среди клиентов, использующих DNAT

Я пытаюсь настроить сеть следующим образом:

Карта сети

... но я столкнулся с проблемой.

Вот в чем суть:

Если я пытаюсь получить доступ (например) к mywebsite1.com с внешнего сайта, он работает как чудо, и он показывает мой замечательный веб-сайт, но всякий раз, когда я пытаюсь запустить (например) обновление apt-get изнутри Virtual Server 2, он выдает ошибку типа " Failed подключиться к порту 80 xxx-whwhat-website.com: в соединении отказано ".

Проблема решается, если я удаляю правило предварительной маршрутизации на брандмауэре главного сервера, но, разумеется, я больше не могу подключиться к mywebsite1.com из внешнего источника. Та же история, если я изменю шлюз виртуального сервера по умолчанию на 192.168.1.1.

Я наивно пытался добавить статический маршрут на главном сервере (что-то вроде ip route add 192.168.1.1 через 192.168.1.32), но, конечно, это не сработало. Должен ли я попытаться пометить пакеты тем или иным способом, чтобы распознать исходный клиент?

1 ответ

Решение

Так как я исключил исходную цель назначения в своем правиле DNAT, она достигла всех исходных целей назначения. Итак, мне нужно было добавить -d 192.168.1.30 к этому.

-A PREROUTING -p tcp -m tcp -i vmbr0 -d 192.168.1.30 --dport 80 -j DNAT --to-destination 192.168.1.32:80

Теперь это работает.

Другие вопросы по тегам