Estou configurando uma VPN usando o strongSwan entre uma instância do Linux em uma instância do Amazon EC2 e uma rede remota por meio do concentrador da Cisco. Eu preciso rotear pacotes da própria instância do Linux uma máquina na sub-rede remota.
A conexão está estabelecida OK, mas nenhum pacote é roteado.
Acho que preciso configurar algumas regras de roteamento específicas, como devo fazer isso?
Programas
- Kernel do Linux 3.5.0-41,
- Ubuntu 12.10,
- strongSwan 5.1.1 (construído a partir da fonte),
- iptables - sem regras.
Rede
Local
- Amazon Elastic IP: 56.xxx
- IP da LAN voltado para o público: 172.xxx
- Sub-rede virtual local: 10.254.0.0/16
- IP virtual local: 10.254.5.174
Controlo remoto
- IP público do concentrador Cisco: 62.xxx
- Sub-rede remota: 10.192.0.0/12
Configuração
ipsec.conf
config setup
conn %default
keyexchange = ikev1
type = tunnel
ikelifetime = 86400
keylife = 28800
keyingtries = %forever
esp = 3des-sha
ike = 3des-md5-modp1024
forceencaps = yes
leftauth = psk
rightauth = psk
conn myconnection
left = 172.x.x.x
leftsubnet = 10.254.0.0/16
leftsourceip = 10.254.5.174
leftfirewall = yes
right = 62.x.x.x
rightsubnet = 10.192.0.0/12
auto = route
include /var/lib/strongswan/ipsec.conf.inc
strongswan.conf
charon {
cisco_unity = yes
install_routes = yes
install_virtual_ip = yes
threads = 16
plugins {
sql {
loglevel = -1
}
}
filelog {
/var/log/charon.log {
time_format = %b %e %T
default = 3
flush_line = yes
}
}
}
pluto {
}
libstrongswan {
}
ipsec statusall
# ipsec statusall
Status of IKE charon daemon (strongSwan 5.1.1, Linux 3.5.0-41-generic, x86_64):
uptime: 4 days, since Jan 22 14:24:08 2014
malloc: sbrk 270336, mmap 0, used 222672, free 47664
worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 3445
loaded plugins: charon aes des rc2 sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem fips-prf gmp xcbc cmac hmac attr kernel-netlink resolve socket-default stroke updown xauth-generic
Listening IP addresses:
172.x.x.x
54.x.x.x
Connections:
smsbrick: 172.x.x.x...62.x.x.x IKEv1
smsbrick: local: [172.x.x.x] uses pre-shared key authentication
smsbrick: remote: [62.x.x.x] uses pre-shared key authentication
smsbrick: child: 10.254.0.0/16 === 10.192.0.0/12 TUNNEL
Routed Connections:
smsbrick{1}: ROUTED, TUNNEL
smsbrick{1}: 10.254.0.0/16 === 10.192.0.0/12
Security Associations (1 up, 0 connecting):
smsbrick[8150]: ESTABLISHED 1 second ago, 172.x.x.x[172.x.x.x]...62.x.x.x[62.x.x.x]
smsbrick[8150]: IKEv1 SPIs: xxxxxxxxxxxxxx_i* xxxxxxxxxxxxx_r, pre-shared key reauthentication in 23 hours
smsbrick[8150]: IKE proposal: 3DES_CBC/HMAC_MD5_96/PRF_HMAC_MD5/MODP_1024
smsbrick[8150]: Tasks queued: QUICK_MODE
smsbrick[8150]: Tasks active: MODE_CONFIG
ip xfrm
# ip xfrm policy
src 10.192.0.0/12 dst 10.254.0.0/16
dir fwd priority 3987
tmpl src 62.x.x.x dst 172.x.x.x
proto esp reqid 1 mode tunnel
src 10.192.0.0/12 dst 10.254.0.0/16
dir in priority 3987
tmpl src 62.x.x.x dst 172.x.x.x
proto esp reqid 1 mode tunnel
src 10.254.0.0/16 dst 10.192.0.0/12
dir out priority 3987
tmpl src 172.x.x.x dst 62.x.x.x
proto esp reqid 1 mode tunnel
src 0.0.0.0/0 dst 0.0.0.0/0
socket in priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
socket out priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
socket in priority 0
src 0.0.0.0/0 dst 0.0.0.0/0
socket out priority 0
src ::/0 dst ::/0
socket in priority 0
src ::/0 dst ::/0
socket out priority 0
src ::/0 dst ::/0
socket in priority 0
src ::/0 dst ::/0
socket out priority 0
routing
cisco-asa
strongswan
titusd
fonte
fonte
Respostas:
Desculpe por necropost sobre o tópico, simplesmente não há muitas informações disponíveis em um só lugar nessa configuração específica em termos de solução de problemas.
Minha configuração:
Sintomas:
No tempo limite / reinicialização do túnel, não era possível iniciar ou executar ping da AWS no Cisco ASA, a menos que / até que o tráfego fosse gerado do lado do Cisco ASA.
IPSEC STATUSALL
reveladoEu descobri que com
modeconfig=push
eleftsourceip=
ambos configurados, ele ficou preso em:A remoção da
modeconfig=push
esquerda ficou presa em:A remoção
leftsourceip=
fez o truque e tudo estava estável e estável nos dois sentidos.Eu acho que esses dois são necessários pelo PIX e talvez uma versão mais antiga do ASA, mas não esta.
fonte