У меня есть шлюз 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