Strongswan 的源 IP 问题

Strongswan 的源 IP 问题

我已经在 AWS 的一个区域和使用 OpenStack 实现的数据中心之间建立了 VPN 连接:

|---AWS------------------|        |-----OpenStack----------|
Private IP      EIP               Float. IP     Private IP
10.2.10.250 <-> 35.x.255.x TUNNEL 75.x.65.x <-> 172.16.0.156

如果我尝试从 OpenStack 中的一台主机 ping 到 AWS 中的另一台主机,则不会收到任何回复。这是在 10.2.10.250 VPN 服务器中运行的 tcpdump 中的一行:

3:04:01.523351 IP 172.16.0.156 > 10.2.10.27: ICMP echo request, id 9407, seq 8, length 64

问题是我 ping 的服务器不是 172.16.0.156,而是 172.16.0.125 之类的。所以我认为 OpenStack 网络中有东西在强制 SNAT。我已刷新两台主机上的所有 iptables。我在两个 AWS 区域中重现了该环境,ping 成功,源 IP 正确。

这是 /etc/ipsec.conf 文件:

config setup
        charondebug="all"
        uniqueids=yes
        strictcrlpolicy=no

conn %default
        ike=aes256-sha2_256-modp1024!
        esp=aes256-sha2_256!
        keyingtries=0
        ikelifetime=1h
        lifetime=8h
        dpddelay=30
        dpdtimeout=120
        dpdaction=restart
        auto=start
        keyexchange=ikev2
        type=tunnel

conn uswest2-x-to-x-x
    leftfirewall=yes
        leftcert=device-x-x_cert.pem
        leftid="C=CH, O=strongSwan, CN=device-x-x"
        rightid="C=CH, O=strongSwan, CN=device-uswest2-x-a"
        left=172.16.0.156
        leftsubnet=172.16.0.0/24
        right=35.x.255.x
        rightsubnet=10.2.0.0/16

和 iptables:

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain DOCKER (0 references)
target     prot opt source               destination

Chain DOCKER-ISOLATION (0 references)
target     prot opt source               destination

相关内容