Назад | Перейти на главную страницу

Доступ к контейнеру из другого контейнера с использованием общедоступного IP-адреса хоста

У меня проблемы с правильной настройкой сети в proxmox.

Короче говоря, из контейнера я могу подключиться к любому внешнему веб-серверу (например, google.com), но не могу подключиться к веб-серверу в моем контейнере. Веб-сервер доступен из Интернета.

Вот установка:

DNS: mydomain.example -> x.x.x.x / 32

Хост

vmbr0: x.x.x.x venet0: (маршрутизация к каждому контейнеру)

Правила iptables:

iptables -t nat -A PREROUTING -p tcp -d x.x.x.x --dport 80 -i vmbr0 -j DNAT --to-destination y.y.y.z:n
iptables -t nat -A POSTROUTING -o vmbr0 -s y.y.y.0/24 ! -d y.y.y.0/24 -j MASQUERADE

Контейнеры

venet0: y.y.y.z

вопросы

Команды, выполняемые из контейнера:

пинг google.com: хорошо
ping mydomain.example: хорошо
wget http://google.com хорошо
wget http: //mydomain.example : КО

Resolving mydomain.example... x.x.x.x
Connecting to mydomain.example|x.x.x.x|:80... failed: Connection refused.

Что мне не хватает? Вам нужно больше информации ?
Спасибо

Вам следует удалить -i вариант в вашем prerouting правило.

Здесь запросы идут от venet0 интерфейс, так что ваш актуальный DNAT правило не применяется.