VPN SSL de Juniper Networks en Debian sin entorno gráfico
Posted: September 6th, 2010 | Author: montes | Filed under: debian, Internet | Tags: debian, juniper, linux | No Comments »Esta semana he tenido que cambiar el acceso a VPN desde nuestro servidor Debian, que hasta ahora era transparente (mediante Cisco) a una VPN SSL de Juniper Networks, ha llevado bastante tiempo y pruebas sobre todo debido a que no hay soporte de Debian por parte de Juniper, sólo para Red Hat y al final se trata de prueba/error.
Nuestro servidor es un Debian Lenny sin entorno gráfico, ese fue uno de los primeros problemas ya que las soluciones que existen por internet y el propio cliente de Juniper para Linux, están siempre pensados para clientes con entorno gráfico.
1. Pasos previos
Antes de comenzar con la configuración en el servidor, a través de un pc con Linux con entorno gráfico (y java instalado) obtendremos los ficheros necesarios.
Sólo tenemos que conectar a la web de la VPN (yo utilicé Ubuntu+Firefox), con esto nos descargará a /home/user/.juniper_networks/ todos los archivos necesarios para la conexión, no importa si establece la conexión a la VPN o no.
Desde /home/usuario/ realizamos:
tar -czvf juniper.tgz .juniper_networks/*
Y ya hemos terminado con el pc y podemos pasar al servidor.
2. Preparación de archivos para la conexión
Descomprimimos juniper.tgz en el servidor en /home/usuario/.juniper_networks/ y descomprimimos el archivo /home/usuario/.juniper_networks/ncLinuxApp.jar
jar -xf ncLinuxApp.jar
Con esto obtenemos varios archivos importantes:
- getx509certificate.sh Necesario para obtener el certificado del servidor
- ncsvc El servicio que crea la conexión VPN
3. Obtener el certificado
Desde el mismo directorio:
chmod +x getx509certificate.sh ./getx509certificate.sh vpn.empresa.com vpn.crt
Con esto ya tenemos uno de los archivos necesarios para establecer la VPN, el vpn.crt
4. Instalar el servicio
Ejecutar como root:
install -m 6711 -o root /home/usuario/.juniper_networks/ncsvc /home/usuario/.juniper_networks/network_connect/ncsvc
5. Establecer la conexión
Ya sólo queda establecer la conexión, para esto necesitaremos consultar al administrador el parámetro “realm”, por internet comentan que suele estar entre el HTML de la página de acceso, pero en mi caso no era así.
Conociendo este parámetro sólo nos falta realizar la conexión propiamente dicha:
./ncsvc -h vpn.empresa.com -u user01 -p password -r realm -f vpn.crt
Si en nuestro caso la VPN utiliza URIs personalizadas es necesario añadir también el parámetro -U
./ncsvc -h vpn.empresa.com -u user01 -p password -r realm -f vpn.crt -U https://vpn.empresa.com/aux/usuario01/
Entonces el terminal quedará con el mensaje:
Connecting to vpn.empresa.com : 443
Y la VPN conectada hasta que caduque la sesión o cancelemos. La conexión creará un nuevo interface de red tun0 (lo podréis ver con ifconfig) y añadirá también unas rutas (ver con route) y unas líneas a /etc/resolv.conf
Si de esta forma no funciona y los parámetros son correctos, antes de realizar más pruebas debemos contactar con el administrador, puesto que en algunos casos, como por ejemplo que esté configurado para múltiples sesiones, no funcionará.
Más documentación:
Leave a Reply