Сценарий:
Простой PHP-скрипт (myip.php), размещенный на сервере с общедоступным IP-адресом WSIP. Скрипт доступен по http и https.
У меня есть небольшой сервер (GW) с общедоступным IP-адресом GWIP.Этот сервер предназначен для использования только в качестве шлюза.
Другой сервер (WORKER) должен получить доступ к php-скрипту, но только через ГВ. WORKER, на нем установлен Docker.
Wireguard настраивается между GW и WORKER, при этом GW выступает в роли VPN-сервера.
ГВ wg0.conf
[Интерфейс]
Приватный ключ = <GW-PRI-K>
Адрес = 10.1.0.1/24
Порт прослушивания = 51820
PostUp = iptables -A FORWARD -i wg0 -j ПРИНЯТЬ; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ПРИНЯТЬ; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Вглядеться]
Публичный ключ = <WORKER-PUB-K>
Разрешенные IP-адреса = 10.1.0.2/32,10.1.0.0/24
РАБОЧИЙ wg0.conf
[Интерфейс]
PrivateKey = <WORKER-PRI-K>
Адрес = 10.1.0.2/24
[Вглядеться]
Публичный ключ = <GW-PUB-K>
Конечная точка = GWIP:51820
Разрешенные IP-адреса = 10.1.0.1/24,WSIP/32
ПостоянныйKeepalive = 25
С WORKER (хост) я могу получить доступ к веб-сервису. Все хорошо.
завиток http://$WSIP/myip.php
ххх.ххх.243.174
завиток https://$WSIP/myip.php
ххх.ххх.243.174
Но если я запускаю ту же команду из док-контейнера:
завиток http://$WSIP/myip.php
ххх.ххх.243.174
завиток https://$WSIP/myip.php
НЕТ ОТВЕТА для https.
Соответствующие записи таблицы маршрутизации WORKER:
10.1.0.0/24 dev wg0 прото-область ядра ссылка src 10.1.0.2
Ссылка на объем WSIP dev wg0
Вроде до сервера WS проблем нет, но что-то происходит с ответом.
Я почти уверен, что решения должны быть связаны с маскировкой, но через несколько часов я немного потерялся.
Любая подсказка?