OpenVPN es una aplicación de software libre que nos permite crear VPNs (Virtual Private Networks) para poder conectarnos remotamente a otra red local de una manera segura utilizando túneles SSL/TLS. Para usar el cliente en Debian deberemos seguir los siguientes pasos:
- Conectar a nuestro servidor OpenVPN y generar el certificado para el cliente VPN
cd /etc/openvpn/easy-rsa
donde mi_cliente_IP es el hostname del cliente que generaré y su IP. Esto lo hago para que luego me sea fácil recordar a quien asigné los certificados.
. ./vars
./build-key mi_cliente_IP - El script nos mostrará un asistente donde nos hará una serie de preguntas. Debemos responder a todas con Enter (opción que propone por defecto) excepto en la pregunta "Common Name", que responderemos con el nombre del cliente (valor de
hostname
). Cuando pregunte si queremos emitir el certificado, responder con y (yes). Con esto ya habremos generado el certificado de usuario para nuestro cliente Debian.Una vez generados, nos tendremos que llevar los ficheros /etc/openvpn/keys/mi_cliente_IP.crt y /etc/openvpn/keys/mi_cliente_IP.key al directorio /etc/openvpn/keys/ de nuestro cliente Debian como cliente.crt y cliente.key respectivamente, el fichero /etc/openvpn/keys/ca.crt que hay en nuestro servidor OpenVPN. - Ahora tendremos que generar el fichero con la dirección IP (10.8.XX.YY/30) del túnel que se le dará al cliente cuando conecte (usaremos tun0). Estas Ips deben ser únicas, y se calculan por subneting de 4 Ips: Una de red, otra de broadcast, otra para el cliente y la otra para el extremo del túnel (el servidor OpenVPN). Para ello deberíamos ver cuál ha sido la última subred dada (ordenar por fechas) en el directorio /etc/openvpn/ccd/. Luego crear el fichero /etc/openvpn/ccd/mi_cliente (cambiando el nombre del fichero, por el hostname del equipo, lo mismo que pusimos en
Common Name
, al emitir el certificado) y escribir el contenido similar al siguiente, donde cambiaremos las direcciones IP, en función de la última que se configuró:# Redes VPN:
# 10.8.0.36 -> IP RED
# 10.8.0.37 -> IP Equipo Cliente
# 10.8.0.38 -> IP Tunel
# 10.8.0.39 -> IP BROADCAST
# http://openvpn.net/index.php/documentation/howto.html#policy
ifconfig-push 10.8.0.37 10.8.0.38 - Ahora conectarnos a nuestro cliente Debian y ejecutar:
apt-get -y install openvpn liblzo2-2 lzop openssl
- Configurar en el cliente el tunel:
modprobe tun
echo tun >> /etc/modules - Crear el fichero /etc/openvpn/client.conf con el siguiente contenido:
dev tun
proto tcp-client
remote IP_SERVIDOR_OPENVPN PUERTO
resolv-retry infinite
nobind
pull
persist-key
persist-tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/cliente.crt
key /etc/openvpn/keys/cliente.key
comp-lzo
verb 3 - Crear el directorio /etc/openvpn/keys/
mkdir -m 755 /etc/openvpn/keys
- Copiar en el directorio /etc/openvpn/keys/ los ficheros de claves que generamos del servidor OpenVPN.
- Reiniciar el servicio OpenVPN
/etc/init.d/openvpn restart
La foto la he sacado del album de la nave de los locos en flickr.
No hay comentarios:
Publicar un comentario