Я успешно настроил vpn-туннель с сильный лебедь
внутри док-контейнера и хотите использовать это туннелированное соединение для переадресации определенных портов, таких как SMTP, на хост на другой стороне туннеля, в моем случае хост 10.0.0.10
.
Цель состоит в том, чтобы иметь возможность использовать SMTP в моем приложении напрямую, подключившись к Strongswan-контейнер
обслуживание посередине вот так
(smtp-host)-[IPSec-tunnel]-(strongswan-container [открывает порт 25 и перенаправляет все на туннелированный smtp-host])-[some-docker-network]-(my-mail-sending-app-container [ вызывает strongswan-container:25 для smtp])
после прочтения некоторых документов об этом я попробовал эти iptables
команды на Strongswan-контейнер
но безуспешно:
iptables -t nat -A PREROUTING -p tcp --dport 25 -j DNAT --к месту назначения 10.0.0.10:25
iptables -t nat -A POSTROUTING -p tcp -d 10.0.0.10 --dport 25 -j MASQUERADE
на контейнер приложения для отправки моей почты
я пытался бежать
Telnet Strongswan-контейнер 25
но он просто будет ждать ответа до истечения времени ожидания.
В чем проблема с моим iptables
команда?
iptables-сохранить
вывод после того, как strongswan подключился к туннелю:
root@14d43f1e2f55:/# iptables-сохранить
# Сгенерировано iptables-save v1.8.4, четверг, 22 июля, 16:25:04 2021
*фильтр
:ВВОД ПРИНЯТ [1:112]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [1:112]
-A INPUT -s 10.0.0.0/16 -d 192.168.112.2/32 -i eth0 -m policy --dir in --poli ipsec --reqid 1 --proto esp -j ПРИНЯТЬ
-A ВЫВОД -s 192.168.112.2/32 -d 10.0.0.0/16 -o eth0 -m policy --dir out --poli ipsec --reqid 1 --proto esp -j ПРИНЯТЬ
СОВЕРШИТЬ
# Завершено в четверг, 22 июля, 16:25:04 2021
# Сгенерировано iptables-save v1.8.4, четверг, 22 июля, 16:25:04 2021
*натуральный
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
:ВВОД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [2:1600]
:ОТПРАВКА ПРИНЯТИЯ [2:1600]
:DOCKER_OUTPUT — [0:0]
:DOCKER_POSTROUTING - [0:0]
-A ВЫВОД -d 127.0.0.11/32 -j DOCKER_OUTPUT
-A ОТПРАВКА -d 127.0.0.11/32 -j DOCKER_POSTROUTING
-A DOCKER_OUTPUT -d 127.0.0.11/32 -p tcp -m tcp --dport 53 -j DNAT --назначение 127.0.0.11:46701
-A DOCKER_OUTPUT -d 127.0.0.11/32 -p udp -m udp --dport 53 -j DNAT --назначение 127.0.0.11:58024
-A DOCKER_POSTROUTING -s 127.0.0.11/32 -p tcp -m tcp --sport 46701 -j SNAT --к источнику: 53
-A DOCKER_POSTROUTING -s 127.0.0.11/32 -p udp -m udp --sport 58024 -j SNAT --к источнику: 53
СОВЕРШИТЬ
# Завершено в четверг, 22 июля, 16:25:04 2021
мой ipsec.conf
:
настройка конфигурации
строгая политика = нет
уникальные идентификаторы = нет
# левое по умолчанию является локальным, в противном случае левое и правое определяются динамически
подключение% по умолчанию
соединение "ezvpn"
обмен ключами=ikev2
агрессивный=да
ike=(some-ciphers) # параметры Phase1
esp=(some-ciphers) # параметры Phase2
left=192.168.112.2 # локальный IP-адрес, используемый для подключения к IOS
leftid=12.123.123.1 # IKEID (имя группы), используемый для IOS
левый брандмауэр = да
leftauth=psk
правоаутент = psk
фрагментация=да
right=12.123.123.2 #шлюз (IOS) IP
правая подсеть = 10.0.0.0/16
правый брандмауэр = да
авто=маршрут
тип=туннель
ikelifetime=180м
ключевой жизни=60м