Estou tentando configurar um túnel VPN entre um Cisco ASA 5520 e um servidor Openswan executado no Ubuntu 14.04 em uma instância do Amazon VPC. Eu não tenho acesso ao ASA, e recebi os seguintes requisitos de conexão a partir desse fim -
AES-SHA, No PFS e nossa sub-rede interna (que é 10.0.0.0/24) devem ser apresentadas ao lado da Cisco como um intervalo diferente, 192.168.200.0/24.
Estas são as configurações gerais que tenho em vigor -
Público ASA - 1.2.3.4
Rede interna ASA - 192.168.50.0/24
Openswan EIP - 5.6.7.8
IP interno de Openswan - 10.0.0.10
Rede interna Openswan - 10.0.0.0/24
Conteúdo do /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
Conteúdo do /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
Conteúdo de /etc/ipsec.secrets
10.0.0.10 1.2.3.4 : PSK "mysharedkey"
O túnel chega até onde eu sei -
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
Estou tentando encapsular de um servidor específico no lado do Openswan para o lado do ASA, endereço IP 10.0.0.11.
No servidor 10.0.0.11, adicionei a seguinte rota -
ip route add 192.168.50.0/24 via 10.0.0.10
O problema que estou tendo é obter o tráfego de 10.0.0.0/24 para aparecer no lado ASA do túnel como 192.168.200.0/24.
Pelo que posso dizer, devo usar o seguinte -
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
No entanto, não há tráfego no túnel. Como o tráfego que passa pelo túnel é apenas para um servidor, eu estaria bem com um IP NAT específico em vez de um NETMAP, mas essas regras também não funcionavam.
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
Eu tentei usar o KLIPS também, para usar o adaptador ipsec0 separado, mas não consegui compilar isso corretamente.
A partir de agora, meus iptables estão vazios quando eu executo o seguinte comando -
iptables -t nat -nvL
Alguém pode me dizer o que está perdendo?