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

IPsec: скрыть частный IP за IP шлюза

У меня есть шлюз IPsec для клиента, и туннель VPN работает, проблема в том, что они не позволяют мне использовать мой частный адрес, потому что он используется другой VPN, которую они используют. Наш шлюз - это инстанс EC2, размещенный в Amazon Cloud с общедоступным эластичным IP-адресом:

Моя сторона gw: 10.0.3.22 -> Эластичный IP: 1.1.1.1 -> Их IPsec gw 2.2.2.2

Мне нужно подключиться к серверу 3.3.3.3 за их IPsec gw, и когда я пытаюсь, пакеты не возвращаются:

$ telnet 3.3.3.3 443 (the only opened port)
10.0.3.22 > 2.2.2.2 (ESP traffic, seq=0x1)
10.0.3.22 > 2.2.2.2 (ESP traffic, seq=0x2)
... until timeout

Клиент может подтвердить, что VPN-туннель активен, и он видит трафик в своих журналах, но его брандмауэр сбрасывает до достижения 3.3.3.3. Они примут 1.1.1.1 только в качестве источника. Поэтому мне нужно скрыть свой частный IP-адрес 10.0.3.22 с NAT на 1.1.1.1.

Возможно ли это с помощью iptables? Я пробовал делать SNAT и DNAT, но не работает:

sudo iptables -t nat -A POSTROUTING -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.1.1.1
sudo iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 10.0.3.22