VPSs y mas.

martes, 28 de abril de 2009

Ejemplo VPN entre Juniper y Cisco

El siguiente ejemplo muestra la creación de una VPN entre un Firewall Juniper con ScreenOS 5.4 y un Cisco router con el set de Crypto.

La topología es la siguiente:

LAN_lado_Juniper <----> Juniper <---- INTERNET <---> Cisco <--- LAN_lado_Cisco --->

Del lado del Cisco la configuración es la siguiente:

*** BEGIN ***
crypto isakmp policy 1
encr 3des
authentication pre-share
group 2
crypto isakmp key MISECRETO address IP_JUNIPER


crypto map MIVPN 1 ipsec-isakmp
set peer IP_REMOTO
set transform-set MIVPN
match address 140

access-list 140 permit ip LAN_LADO_CISCO 0.0.0.255 LAN_LADO_JUNIPER
crypto ipsec transform-set VPN_to_SW7B esp-3des esp-sha-hmac

interface f0/0
description VPN-SUICHE7B
ip address IP_CISCO 255.255.255.255
crypto map MIVPN
end

*** FIN ***

Aqui podemos ver que el isakmp map utiliza shared secret (clave compartida) para levantar la VPN, MISECRETO es la clave y donde indica IP_JUNIPER hay que colocar el IP del Firewall de la interfaz externa del Juniper.

Luego el Crytp map llamada MIVPN indica el Peer Remoto (nuevamente el IP de la interfaz externa del Juniper, el transform set a utilizar (donde se indica lo que es la fase 2 de la negociación de la VPN) y finalmente el Access-list (ACL con el cual va a hacer match al momento de cifrar y no cifrar los paquetes).

El ACL en realidad define los SA (security association) que se van a intercambiar en la VPN. Es muy importante que utilices un ACL extendido para que puedas definir IPs origen y destino. Es decir, aqui se definen (desde la perspectiva del cisco) cuales son las redes remotas y cuales son las redes locales.

Luego el comando crypto ipsec es en realiad quien define que tipo de cifrado y hash para los datos se va a utilizar. En este caso 3DES y SHA1, sin embargo se puede utilizar DES, MD5, combinaciones y otros.

Finalmente, lo que hay que hacer es aplicar el cryto map a la interfaz por donde va a "transitar" el tráfico en el Cisco, en nuestro caso F0/0

Con lo anterior, ya terminamos con el lado del Cisco...., ahora vamos a Juniper.

Pasos:

1) Crear una interfaz tunnel (tunnel -- interfaces --- new interface) con los siguientes parametros:
* Unnumbered
* Interfaz WAN del Juniper
2) VPN --> Autokey advance --- Gateway
3) New

Debemos dejar la configuración como aparece en la siguiente pantalla:



4) Click en Advance
5) Dejar la configuración como aparece en la siguiente pantalla:



6) VPN --> Autokey advance --- Gateway

7) Click en new

8) Dejar la configuración similar a como aparece en la imagen:



9) Click en advance

10) Dejar la configuración como a aparece en la imagen:



11) Comenzar a pasar tráfico por el tunel (MUY IMPORTANTE)

Luego de esto.., ya debe comenzar a funcionar el tunel sin inconvenientes. La típica prueba en este caso es dejar un ping extendido entre ambos sitios.

Suerte y saludos,

BGP en IPv6 y Cisco

Configurar BGP sobre IPv6 en Cisco es parecido a IPv4.
En realidad los principios son los mismos de IPv4 tales como:
* Debe existir una ruta en la tabla de enrutamieto para que sea publicada vía BGP
* Hay que crear el peering con el equipo remoto
* Colocar filtros correspondiente tales como filtros entrantes y salientes

Antes de crear la sesión BGP hay que conocer:
* Dirección IPv6 local
* Subred IPv6 a publicar
* Dirección IPv6 remota
* Password (opcional)

Un ejemplo de configuración de BGP sobre IPv6 sería:

router bgp 65501
bgp log-neighbor-changes
neighbor 2820:22:1:1::1 remote-as 1111
neighbor 2820:22:1:1::1 update-source POS3/0
!
address-family ipv6
neighbor 2820:22:3:1::1 activate
network 2820:26::/32

En caso de querer levantar sobre el mismo enlace una sesión BGP en IPv4 es necesario también el siguiente comando:

address-family ipv4
neighbor 2820:22:3:1::1 activate

Comandos utiles para troubleshooting:

1) sh bgp ipv6 unicast (vemos los prefijos ipv6 aprendidos por BGP)
2) sh bgp ipv6 unicast neighbors 2820:22:3:1::1 advertised-routes (prefijos IPv6 que nosotros publicamos al peer)
3) show ipv6 route

Suerte!