Openswan到Cisco ASA IPSec隧道 – 所需的特定IP地址范围。 NETMAP?

我试图在Amazon VPC实例上的Cisco ASA 5520和运行在Ubuntu 14.04上的Openswan服务器之间build立VPN隧道。 我没有ASA的访问权限,并且从这方面被给予以下连接要求 –

AES-SHA,No PFS和我们的内部子网(10.0.0.0/24)必须作为不同的范围192.168.200.0/24呈现给思科方面。

这些是我已经configuration的一般configuration –

ASA公众 – 1.2.3.4
ASA内部networking – 192.168.50.0/24

Openswan EIP – 5.6.7.8
Openswan内部IP – 10.0.0.10
Openswan内部networking – 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获取stream量在隧道的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 

但是,没有stream量通过隧道。 由于通过隧道的stream量只有一台服务器,所以我可以使用特定的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 

谁能告诉我我错过了什么?