Пакеты iptables DNAT в туннель openswan IPSEC

У меня есть следующие настройки сети:

                                        +-----------------------------------+
                                        |                                   |
+------------------------+              |            Public Box             |
|       Client Box       |    IPSEC     |       public IP: x.x.x.x          |
|     192.168.13.21      +--------------+ source IP for IPSEC: 192.168.23.1 |
+------------------------+              |                                   |
                                        +-----------------------------------+

У клиентского ящика нет общедоступного IP-адреса (он скрыт за маршрутизатором NAT, который сам получает адрес 10.xxx/8 от интернет-провайдера (NAT операторского уровня), но у него постоянно работает туннель IPSEC к общедоступному ящику. Я могу осуществлять связь между общедоступным ящиком и клиентским ящиком по их адресам 192.xxx. Общедоступный ящик настроен на использование IP-адреса 192.168.23.1 для связи внутри туннеля IPSEC, а также доступен через этот адрес из клиентского ящика и других ящиков. общедоступный IP-адрес общедоступного ящика не входит в домены шифрования (leftsubnet / rightsubnet) конфигурации IPSEC.

Пока все работает отлично. Теперь цель состоит в том, чтобы сделать один IP-порт (443) клиентского ящика общедоступным из Интернета, перенаправив любое соединение, направленное на порт 10443 публичного IP-адреса общедоступного ящика, на порт 443 клиентского ящика через туннель IPSEC.,

Я пробовал со следующим правилом (у меня есть все политики на ACCEPT)

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 10443 -j DNAT --to 192.168.13.21:443

Это не сработало. При попытке подключиться к порту 10443 общедоступного ящика, я получаю сообщение "telnet: подключение к адресу xxxx: сеть недоступна"

Похоже, причина в том, что Public Box пытается найти IP-адрес 192.168.13.31 через ARP, но не помещает соединение в туннель IPSEC.

00:26:42.649885 IP 88.217.180.252.34730 > x.x.x.x.10443: Flags [S], seq 17484960, win 65535, options [mss 1412,nop,wscale 5,nop,nop,TS val 1133369435 ecr 0,sackOK,eol], length 0
00:26:42.650012 ARP, Request who-has 192.168.13.21 tell x.x.x.x, length 28

Я полагаю, что это потому, что адрес SOURCE этого пакета является адресом источника отправителя соединения, поэтому он не будет упакован в туннель (туннель только маршрутизирует 192.168.23.0/24 <-> 192.168.13.0/24).

Итак, мой вопрос: возможно ли преобразовать NAT-адрес входящего пакета в NAT 192.168.23.1, чтобы он направлялся через туннель IPSEC к блоку клиента, и любой ответный пакет снова поступал в общий блок, чтобы получить " снятый с маски "и отправлен обратно составителю?

Это возможно вообще?

0 ответов

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