我正在尝试在 Cisco ASA 5520 和 Amazon VPC 实例上运行 Ubuntu 14.04 的 Openswan 服务器之间建立 VPN 隧道。我无法访问 ASA,并且已从该端获得以下连接要求 -
AES-SHA,无 PFS,并且我们的内部子网(即 10.0.0.0/24)必须作为不同的范围 192.168.200.0/24 呈现给 Cisco 端。
这些是我已实施的一般配置 -
ASA 公共 - 1.2.3.4
ASA 内部网络 - 192.168.50.0/24
Openswan EIP - 5.6.7.8
Openswan 内部 IP - 10.0.0.10
Openswan 内部网络 - 10.0.0.0/24
/etc/ipsec.conf 的内容 -
version 2.0
# basic configuration
config setup
dumpdir=/var/run/pluto/
nat_traversal=yes
virtual_private=%v4:192.168.50.0/24
oe=off
protostack=netkey
include /etc/ipsec.d/vpntunnel.conf
/etc/ipsec.d/vpntunnel.conf 的内容
conn vpntunnel
type= tunnel
authby= secret
left= 10.0.0.10
leftsubnet= 10.0.0.0/24
right= 1.2.3.4
rightsubnet= 192.168.50.0/24
ike= aes-sha
pfs= no
auto= start
salifetime= 24h
ikelifetime= 480m
/etc/ipsec.secrets 的内容
10.0.0.10 1.2.3.4 : PSK "mysharedkey"
据我所知,隧道进展顺利 -
000 #137: "vpntunnel":4500 STATE_QUICK_I2 (sent QI2, IPsec SA established); EVENT_SA_REPLACE in 83824s; newest IPSEC; eroute owner; isakmp#136; idle; import:not set
000 #137: "vpntunnel" [email protected] [email protected] [email protected] [email protected] ref=0 refhim=4294901761
000 #136: "vpntunnel":4500 STATE_MAIN_I4 (ISAKMP SA established); EVENT_SA_REPLACE in 26216s; newest ISAKMP; lastdpd=3s(seq in:0 out:0); idle; import:not set
我正在尝试从 Openswan 端的一台特定服务器建立隧道到 ASA 端,IP 地址为 10.0.0.11。
在服务器 10.0.0.11 上我添加了以下路由 -
ip route add 192.168.50.0/24 via 10.0.0.10
我遇到的问题是让来自 10.0.0.0/24 的流量在隧道的 ASA 端显示为 192.168.200.0/24。
据我所知,我应该能够使用以下内容 -
iptables -t nat -A PREROUTING -d 192.168.200.0/24 -s 192.168.50.0/24 -j NETMAP --to 10.0.0.0/24
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -d 192.168.50.0/24 -j NETMAP --to 192.168.200.0/24
但是,没有流量通过隧道。由于通过隧道的流量仅用于 1 个服务器,因此我可以使用特定 IP NAT 而不是 NETMAP,但这些规则似乎也不起作用。
iptables -t nat -A PREROUTING -d 192.168.50.0/24 -i eth0 -j DNAT --to-destination 10.0.0.11
iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j SNAT --to-source 192.168.50.11
我也尝试过使用 KLIPS,使用单独的 ipsec0 适配器,但无法正确编译。
到目前为止,当我运行以下命令时,我的 iptables 是空的 -
iptables -t nat -nvL
谁能告诉我我错过了什么?