尝试在 Amazon VPC 集群中设置基于 openswan 的服务器。目标是让我们能够通过 VPN 进入 VPC,让我们的工作站就像在网络上一样,更像是移动战士配置。
我们选择的 VPN 客户端是 Equinux VPN Tracker (http://equinux.com/us/products/vpntracker/) 适用于 Mac OS X。我们已经使用它通过基于硬件的 VPN 连接到我们现有的网络,并希望继续使用它连接到我们的 VPC 网络。
到目前为止,我已经将其设置为可以成功连接到在 VPC 中运行的 openswan 服务器,但我只能 ping openswan 服务器的内部 IP。我无法与网络上的任何其他设备通信。我可以运行 tcpdump 并看到 ping 请求出现,但它们从未到达另一台主机。
我的第一个想法是,这与 EC2 实例仅具有单个网络接口有关,但是我之前已经设置了 OpenVPN 连接而没有任何问题,尽管它们通常使用隧道设备,但我还没有真正找到带有隧道或单个接口的 openswan 的示例。
任何帮助将不胜感激。
一些配置:
VPC Subnet: 10.10.1.0/24
VPC Gateweay: 10.10.1.1
Openswan Private IP: 10.10.1.11
Openswan Public IP: xxx.xxx.xxx.xxx
Openswan 配置:
version 2.0
config setup
interfaces=%defaultroute
klipsdebug=none
plutodebug=none
dumpdir=/var/log
nat_traversal=yes
virtual_private=%v4:10.10.1.0/24
conn vpntracker-psk
left=%any
leftsubnet=vhost:%no,%priv
right=10.10.1.11
rightid=xxx.xxx.xxx.xxx
rightsubnet=10.10.1.0/24
rightnexthop=10.10.1.1
auto=add
authby=secret
dpddelay=40
dpdtimeout=130
dpdaction=clear
pfs=yes
forceencaps=yes
iptables/sysctl:
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
tcpdump 输出:
09:13:25.346645 IP ROADWARRIOR_IP.4500 > ip-10-10-1-11.4500: UDP-encap: ESP(spi=0x38543e78,seq=0x6), length 116
09:13:25.346645 IP 10.200.0.30 > 10.10.1.251: ICMP echo request, id 21250, seq 0, length 64
09:13:25.346789 IP ip-10-10-1-11.4500 > ROADWARRIOR_IP.4500: UDP-encap: ESP(spi=0x07046a51,seq=0x6), length 148
09:13:26.506120 IP ROADWARRIOR_IP.4500 > ip-10-10-1-11.4500: UDP-encap: ESP(spi=0x38543e78,seq=0x7), length 116
09:13:26.506120 IP 10.200.0.30 > 10.10.1.251: ICMP echo request, id 21250, seq 1, length 64
09:13:26.506245 IP ip-10-10-1-11.4500 > ROADWARRIOR_IP.4500: UDP-encap: ESP(spi=0x07046a51,seq=0x7), length 148
09:13:27.332308 IP ROADWARRIOR_IP.4500 > ip-10-10-1-11.4500: UDP-encap: ESP(spi=0x38543e78,seq=0x8), length 116
09:13:27.332308 IP 10.200.0.30 > 10.10.1.251: ICMP echo request, id 21250, seq 2, length 64
09:13:27.332397 IP ip-10-10-1-11.4500 > ROADWARRIOR_IP.4500: UDP-encap: ESP(spi=0x07046a51,seq=0x8), length 148
从 OS X ping 输出:
:~> ping 10.10.1.251
PING 10.10.1.251 (10.10.1.251): 56 data bytes
92 bytes from 10.10.1.11: Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 6c64 0 0000 3f 01 f85a 10.200.0.30 10.10.1.251
Request timeout for icmp_seq 0
92 bytes from 10.10.1.11: Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 1818 0 0000 3f 01 4ca7 10.200.0.30 10.10.1.251
Request timeout for icmp_seq 1
92 bytes from 10.10.1.11: Destination Host Unreachable
Vr HL TOS Len ID Flg off TTL Pro cks Src Dst
4 5 00 5400 1a09 0 0000 3f 01 4ab6 10.200.0.30 10.10.1.251
Request timeout for icmp_seq 2
答案1
不确定这是否有帮助,但我发现这个网站确实很有用。
http://fortycloud.com/setting-up-ipsecopenswan-in-amazon-ec2/
向下滚动到配置伪装部分。
这有助于“远程”端看到我本地网络上的所有主机,然后
http://www.howtogeek.com/howto/windows/adding-a-tcpip-route-to-the-windows-routing-table/
帮助了逆转。
答案2
务必确保禁用 Openswan 实例上的源/目标检查。我没有看到任何提及这样做的内容。