Creando un túnel IPSEC ESP con Vyatta
En un artículo anterior vimos como crear un túnel GRE entre dos dispositivos, bastante útil para unir dos redes que se encuentran separadas por una distancia importante y necesitamos un túnel para comunicarlas ambas. Resultaba bastante interesante dicho artículo, pero GRE tiene un problema, los datos que viajan por el túnel no van encriptados, por lo que la seguridad es bastante baja.
En este artículo mostramos como crear un túnel IPSEC entre dos dispositivos, también podemos aplicarlo a nuestro túnel GRE existente para armarlo de seguridad. Con nuestro túnel IPSEC mejoraremos la confiabilidad de los datos y su integridad viajando por Internet.
Para realizar el artículo disponemos de dos máquinas virtuales ejecutadas con VMware Player 3, las cuales disponen de dos tarjetas de red cada una, teniendo en común una misma red para realizar la comunicación WAN. Si no disponemos aún de dicho entorno podemos seguir el artículo Instalando Vyatta Open Networking.
Los pasos que seguiremos durante el artículo son los siguientes:
- Configurando direccionamiento router sede central.
- Configurando IPSEC ESP en el router sede central.
- Configurando direccionamiento router sucursal.
- Configurando IPSEC ESP en el router sucursal.
- Configurando enrutamiento estático.
- Probando la solución.
Configurando direccionamiento router sede central
A continuación empezamos a configurar nuestro router, para ello introducimos las credenciales y entramos en el modo configuración con el comando configure.
El siguiente paso es configurar la interfaz interna de nuestro router así como la interfaz externa. Para ello introducimos los comandos:
- set interfaces ethernet <interfaz interna> address 192.168.1.254/24
- set interfaces ethernet <interfaz externa> address 10.10.10.1/24
Ahora vamos a configurar la descripción de las dos interfaces anteriormente configuradas así como el nombre host de nuestro router y activar el servicio SSH y HTTPS. Para realizar esta configuración introducimos los siguientes comandos:
- set interfaces ethernet <interfaz interna> description <descripción interfaz>
- set interfaces ethernet <interfaz externa> description <descripción interfaz>
- set system host-name <nombre>
- set service ssh
- set service https
A continuación vamos a salvar los cambios antes de continuar con nuestra configuración, para evitar cualquier pérdida. Es aconsejable salvar los cambios cada cierta cantidad de datos configurados, ya que una falla en el dispositivo nos hará tener que configurar de nuevo los parámetros perdidos. Para ello ejecutamos los commandos commit para aplicar la configuración y el comando save para salvar los cambios.
Configurando IPSEC ESP en el router sede central
Una vez disponemos de una configuración básica, vamos a configurar el apartado VPN. Para ello comenzamos introduciendo el comando set vpn ipsec ipsec-interfaces interface <interfaz externa>, donde decimos en que interfaz queremos activar IPSEC, en nuestro caso la interfaz externa (WAN).
El siguiente paso es configurar los parámetros del grupo IKE, para ello vamos a dar de alta un grupo IKE con el comando set vpn ipsec ike-group <nombre grupo> proposal 1.
Ahora vamos a configurar el nivel de encriptación, en nuestro caso vamos a elegir aes256 introduciendo el comando set vpn ipsec ike-group <nombre grupo> proposal 1 encryption aes256.
A continuación vamos a configurar el algoritmo hash a usar, nosotros usaremos sha1 introduciendo el comando set vpn ipsec ike-group <nombre grupo> proposal 1 hash sha1.
El siguiente paso es configurar el intercambio de llaves DH, nosotros vamos a usar dh5, para ello introducimos el comando set vpn ipsec ike-group <nombre grupo> proposal 1 dh-group 5.
Por último en la configuración de los parámetros en nuestro grupo IKE falta el tiempo de vida, para ello introducimos el comando set vpn ipsec ike-group <nombre grupo> lifetime 28800.
Ahora vamos a configurar los parámetros del grupo ESP, para ello damos de alta un grupo con el comando set vpn ipsec esp-group <nombre grupo> proposal 1.
Ahora vamos a configurar el nivel de encriptación, introduciendo el comando set vpn ipsec esp-group <nombre grupo> proposal 1 encryption aes256.
A continuación vamos a configurar el algoritmo hash a usar, nosotros usaremos sha1 introduciendo el comando set vpn ipsec esp-group <nombre grupo> proposal 1 hash sha1.
El siguiente paso es activar PFS en nuestro grupo ESP, para ello ejecutamos el comando set vpn ipsec esp-group <nombre grupo> pfs enable.
Por último nos falta configurar en nuestro grupo ESP el tiempo de vida, para ello ejecutamos el comando set vpn ipsec esp-group <nombre grupo> lifetime 3600.
Una vez tenemos configurados los grupos IKE y ESP, vamos a configurar el par al que vamos conectar, para ello introducimos el comando set vpn ipsec site-to-site peer <IP/Host remoto>.
A continuación vamos a configurar el modo de autenticación, vamos a elegir la clave secreta precompartida, para ello ejecutamos el comando set vpn ipsec site-to-site peer <IP/Host remoto> authentication mode pre-shared-secret.
Ahora vamos a introducir la clave, lo hacemos ejecutando el comando set vpn ipsec site-to-site peer <IP/Host remoto> authentication pre-shared-secret '<contraseña>'. Se aconseja usar una contraseña compleja alfanumérica de al menos 8 caractéres, entre mayúsculas, minúsculas y caracteres especiales; además escribiremos la contraseña entre comillas simples.
A continuación asociamos a este par el grupo IKE que creamos, para ello ejecutamos el comando set vpn ipsec site-to-site peer <IP/Host remoto> ike-group <nombre grupo IKE>.
El siguiente paso es elegir la IP por la que comunicarán con nosotros, en nuestro caso la IP de la interfaz externa (WAN). Ejecutamos el comando set vpn ipsec site-to-site peer <IP/Host remoto> local-ip <IP EXT_IF>.
Una vez configurado los parámetros básicos de nuestro par, es hora de configurar el túnel, donde diremos cual es la red local y la red remota que comunicarán así como el grupo ESP asociado.
Para realizar estos pasos necesitamos crear el túnel, para ello ejecutamos set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel>.
Ahora introducimos la red local que comunicará por el túnel escribiendo el comando set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel> local-subnet <red local>.
A continuación introducimos la red local remota a la que conectaremos introduciendo el comando set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel> remote-subnet <red local remota>.
Por último asociamos el grupo ESP que creamos anteriormente a nuestro túnel ejecutando el comando set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel> esp-group <nombre grupo ESP>.
Ya tenemos configurado nuestra primera parte del túnel, antes de continuar aplicamos los cambios y guardamos la configuración ejecutando los comandos commit y save.
Configurando direccionamiento router sucursal
Para configurar el router de la sucursal realizaremos los mismos pasos que con el router de la sede central, para ello vamos a mostrar todos los comandos que aplicaremos a este router.
- configure
- set interfaces ethernet <interfaz interna> address 192.168.2.254/24
- set interfaces ethernet <interfaz externa> address 10.10.10.2/24
- set interfaces ethernet <interfaz interna> description <descripción interfaz>
- set interfaces ethernet <interfaz externa> description <descripción interfaz>
- set system host-name <nombre>
- set service ssh
- set service https
- commit
- save
Con los comandos anteriores ya tenemos la configuración básica de nuestras interfaces, a continuación configuramos nuestro túnel IPSEC ESP.
Configurando IPSEC ESP en el router sucursal
Ejecutamos los siguientes comandos como hicimos anteriormente en el túnel IPSEC:
- set vpn ipsec ipsec-interfaces interface <interfaz externa>
- set vpn ipsec ike-group <nombre grupo> proposal 1
- set vpn ipsec ike-group <nombre grupo> proposal 1 encryption aes256
- set vpn ipsec ike-group <nombre grupo> proposal 1 hash sha1
- set vpn ipsec ike-group <nombre grupo> proposal 1 dh-group 5
- set vpn ipsec ike-group <nombre grupo> lifetime 28800
- set vpn ipsec esp-group <nombre grupo> proposal 1
- set vpn ipsec esp-group <nombre grupo> proposal 1 encryption aes256
- set vpn ipsec esp-group <nombre grupo> proposal 1 hash sha1
- set vpn ipsec esp-group <nombre grupo> pfs enable
- set vpn ipsec esp-group <nombre grupo> lifetime 3600
- set vpn ipsec site-to-site peer <IP/Host remoto>
- set vpn ipsec site-to-site peer <IP/Host remoto> authentication mode pre-shared-secret
- set vpn ipsec site-to-site peer <IP/Host remoto> authentication pre-shared-secret '<contraseña>'
- set vpn ipsec site-to-site peer <IP/Host remoto> ike-group <nombre grupo IKE>
- set vpn ipsec site-to-site peer<IP/Host remoto> local-ip <IP EXT_IF>
- set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel>
- set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel> local-subnet <red local>
- set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel> remote-subnet <red local remota>
- set vpn ipsec site-to-site peer <IP/Host remoto> tunnel <nº túnel> esp-group <nombre grupo ESP>
- commit
- save
Configurando enrutamiento estático
Para poder llegar a las redes LAN existentes, necesitamos crear rutas estáticas. Para ello en el router CENTRAL ejecutamos el siguiente comando en modo configuración, donde introducimos la red de destino y la IP remota de nuestro túnel IPSEC.
- set protocols static route 192.168.2.0/24 next-hop 10.10.10.2
- commit
- save
Realizamos el mismo procedimiento en el router de la SUCURSAL.
- set protocols static route 192.168.1.0/24 next-hop 10.10.10.1
- commit
- save
Probando la solución
Además de poder realizar un ping entre equipos de las redes locales, un modo de probar el funcionamiento del túnel es consultando el estado del mismo. Para ello podemos ejecutar varios comandos en el modo usuario los cuales mostramos:
- show vpn ike sa
- show vpn ipsec sa
- show vpn debug
Con este último comando tendremos una visión detallada del proceso completo que existe para establecerse el túnel, resulta útil cuando existe algún problema y no sabemos a que es debido.
¿Te gustó este artículo?
Aún no hay trackbacks.




































7 agosto, 2010 - 15:44
Muy buena información!!! te felicito, solo tengo una duda y es la siguiente:
Como puedo configurar la VPN si la ip remota (sucursal) es una ip dinamica?
Saludos.
7 agosto, 2010 - 15:45
Espero tu comentarios, Gracias
9 agosto, 2010 - 10:51
Hola Alberto,
Gracias, por tu comentario. Para realizar la configuración que deseas debes seguir el siguiente artículo publicado en el foro de Vyatta.
http://www.vyatta.org/forum/viewtopic.php?t=2891&sid=4f4c95e4053c2a9a01c64fbaeef33085
En el te explican que en la sede donde tienes IP fija has de decirle que el cliente se va a conectar con un ID llamado TEST (tu puedes llamarlo oficina)..
En la sede remota con IP dinámica has de activar NAT transversal y decirle que la ip que opciones es 0.0.0.0 ya que no sabes cual te va a dar y decir que tu ID es TEST. Esos ID son los que te van a permitir conectar al no disponer de IP fija en la sede remota.
Un saludo.
17 septiembre, 2010 - 03:23
Muy buen articulo sobre configuracion de tunner y vpn
17 septiembre, 2010 - 13:02
Hola Roberto,
Muchas gracias
Un saludo.
21 octubre, 2010 - 07:09
Felicidades tu explicacion es clara directa y efectiva, Saludos
22 octubre, 2010 - 03:49
Hola mario,
Muchas gracias, un saludo.
22 enero, 2012 - 05:07
Saludos
Primeramente le felicito por su articulo, he estado verificando la misma y estoy implementando una solución donde tengo una oficina (Central) con un servidor de dominio el cual tiene una virutalización con Vyatta, el mismo está conectado a un router que provee internet, la otra oficina (sucursal) posee un servidor con internet y otra virtualización con Vyatta, lo que deseo es conectar ambas oficinas a través de Internet con tunel IPSEC, he aplicado las configuraciones del articulo presente de túnel IPSEC paso a paso cada una de las opciones por cada sucursal y cuando ejecuto el show vpn ike sa, siempre me muestra ambas oficinas el estado del tunnel: INIT, en la interfaz WAN puse el ip público del router y aun asi no me funciona, tendrá algun articulo que me pueda facilitar? le agradeceria cualquier ayuda
23 enero, 2012 - 12:53
Hola Rafael,
Por favor las consultas a través de los foros en http://blog.e2h.net/foros
Un saludo.