Pages

Wednesday, August 13, 2008

VPN Site-to-Site IPSec entre Cisco ASA e Linux

Este howto explica como configurar uma conexão VPN site-to-site entre um equipamento Cisco ASA 5510 e uma máquina Linux. Ambos os sites tem que ter IP fixo neste exemplo.

Softwares utilizados:
ASA: asa803-k8.bin


Linux: OpenSuse 11 e pacote openswan (da prória distribuição)


A topologia do ambiente está definido abaixo.



A configuração do openswan é realizada no arquivo /etc/ipsec.conf o conteúdo do arquivo está abaixo, nada mais é necessário para o funcionamento deste exemplo. A criptografia utilizada é 3des-sha.


version 2.0
config setup
interfaces="ipsec0=eth0"
nat_traversal=yes

conn cisco
authby=secret
pfs=yes
auto=start
keyingtries=3
disablearrivalcheck=no
#IPsec Params
type=tunnel
auth=esp
compress=no
keylife=60m
#IKE params
keyexchange=ike
ikelifetime=240m
ike=3des-sha1
# Left security gateway (lado do linux)
left=192.168.2.245
leftsubnet=192.168.10.0/24
leftnexthop=192.168.2.244
# Right security gateway, (lado do ASA)
right=192.168.2.244
rightsubnet=192.168.1.0/24
rightnexthop=192.168.2.245
rightsourceip=192.168.2.244



Arquivo /etc/ipsec.secret

# PSK
192.168.2.245 192.168.2.244: PSK "cisco"


Feito isso, é preciso iniciar o serviço.
rcipsec start



Na sequência a configurar do ASA

Configuração relevante do Cisco ASA


interface Ethernet0/0
nameif outside
security-level 0
ip address 192.168.2.244 255.255.255.0
!
interface Management0/0
nameif management
security-level 100
ip address 192.168.1.1 255.255.255.0
!
....
....
same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
access-list management_nat0_outbound extended permit ip 192.168.1.0 255.255.255.0 192.168.10.0 255.255.255.0
access-list outside_1_cryptomap extended permit ip 192.168.1.0 255.255.255.0 192.168.10.0 255.255.255.0
nat (management) 0 access-list management_nat0_outbound
crypto ipsec transform-set ESP-3DES-SHA esp-3des esp-sha-hmac
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 192.168.2.245
crypto map outside_map 1 set transform-set ESP-3DES-SHA
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 10
authentication pre-share
encryption 3des
hash sha
group 2
lifetime 86400
no crypto isakmp nat-traversal
tunnel-group 192.168.2.245 type ipsec-l2l
tunnel-group 192.168.2.245 ipsec-attributes
pre-shared-key cisco
!



A partir dai, é só tentar pingar o site remoto a partir dos hosts internos.

PC na rede ASA
ping 192.168.10.2


PC na rede Linux
ping 192.168.1.2



Para verificar se o túnel está UP no ASA

ASA# show isakmp stats
Global IKE Statistics
Active Tunnels: 1
.....


Se correu tudo certo... deve estar funcionando... aqui está :D

Qualquer dúvida entre em contato.

Abraços
Fabio

3 comments:

  1. Fala Fabio,

    Vc sabe como ficaria o ipsec.conf se não usarmos o openswan? Usando o setkey e criando os tuneis na mão?

    Hoje eu tenho umas vpns entre servidores linux dessa forma e agora preciso fechar com um ASA (igual ao do seu exemplo).

    Segue um exemplo do arquivo ipsec.conf do meu linux, pra vc entender do que estou falando:

    add 200.20.20.20 189.20.20.20 esp 0x205 -m tunnel -E 3des-cbc 0xedad66d666f6666666ea6a6ce6666bc66d6d0f66bc66a66a -A hmac-md5 0x82293837ee66782aae4abdd4d15ae0c5;
    add 189.20.20.20 200.20.20.20 esp 0x305 -m tunnel -E 3des-cbc 0xc054ba0a025ddc6cef7aaf736b5f30a2717779f25184a9fd -A hmac-md5 0x92bfcc19abc1234567c3a41814c0c76c;

    spdadd 10.0.0.0/24 10.0.4.0/24 any -P in ipsec esp/tunnel/200.20.20.20.-189.20.20.20./require;
    spdadd 10.0.4.0/24 10.0.0.0/24 any -P out ipsec esp/tunnel/189.20.20.20-200.20.20.20/require;

    Valeu!

    Abs,
    Lezan

    ReplyDelete
  2. Carinha... boa pergunta... não seu como ficaria a configuração para o seu ambiente não...
    Nunca fiz desta forma como você está comentando...
    :(

    Abraços!
    Fabio

    ReplyDelete
  3. The Cisco WAAS platform is weak sauce. Took me hours to configure the beast.

    ReplyDelete