我有一个IPsec网关给客户,VPN隧道已经启动,问题是他们不允许我使用我的私人地址,因为它使用了另一个VPN。 我们的网关是使用公共弹性IP在Amazon云中托pipe的EC2实例:
我的gw:10.0.3.22 – > Elastic IP:1.1.1.1 – >他们的IPsec gw 2.2.2.2
我必须连接到他们的IPsec gw后面的一个服务器3.3.3.3,当我尝试数据包时不要回头:
$ 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隧道已经启动,他们可以看到日志中的stream量,但是在防火墙到达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