Назад | Перейти на главную страницу

Openswan к туннелю IPSec Cisco ASA - требуется определенный диапазон IP-адресов. Netmap?

Я пытаюсь настроить VPN-туннель между Cisco ASA 5520 и сервером Openswan, работающим на Ubuntu 14.04 на экземпляре Amazon VPC. У меня нет доступа к ASA, и с этой стороны мне были даны следующие требования к подключению:

AES-SHA, без PFS и наша внутренняя подсеть (это 10.0.0.0/24) должны быть представлены стороне Cisco как другой диапазон, 192.168.200.0/24.

Это общие конфигурации, которые у меня есть -

Публичный ASA - 1.2.3.4
Внутренняя сеть ASA - 192.168.50.0/24

Openswan EIP - 5.6.7.8
Внутренний IP-адрес Openswan - 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" esp.80e09ea@1.2.3.4 esp.cb17c5db@10.0.0.10 tun.0@1.2.3.4 tun.0@10.0.0.10 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  

Кто-нибудь может сказать мне, что мне не хватает?