Taller 0: Configuración del cliente VPN
¿Qué vas a aprender en este taller?
- A generar un certificado x509 y solicitar que sea firmado por la Autoridad Certificadora del IES Gonzalo Nazareno.
- A configurar el cliente OpenVPN en tu equipo de trabajo para conectar a la red del instituto y poder acceder a proxmox y openstack desde casa.
¿Qué tienes que hacer?
Configuración del cliente VPN
Para poder acceder a la red local desde el exterior, existe una red privada configurada con OpenVPN que utiliza certificados x509 para autenticar los usuarios y el servidor.
Desde el cliente OpenVPN (en casa) nos conectaremos (puerto 1194/tcp) a satelite.gonzalonazareno.org
(servidor contratado en OVH), que a su vez está conectado a nuestra red del instituto usando la fibra óptica del instituto (puerto 10001/tcp).
Necesitamos dos cosas: disponer de un certificado x509 para nuestro equipo firmado por la CA Gonzalo Nazareno y configurar el cliente OpenVPN para que se conecte a satelite.
Seguimos los siguientes pasos:
- Creación de una solicitud de firma de certificado (Certificate Signing Request o CSR).
- Creamos una clave privada RSA de 4096 bits (como
root
):openssl genrsa 4096 > /etc/ssl/private/[nombredemimaquina].key
-
Creamos un fichero csr para que sea firmado por la CA Gonzalo Nazareno, para lo que tendremos que poner los mismos campos que tiene la entidad:
openssl req -new -key /etc/ssl/private/[nombredemimaquina].key -out /root/[nombredemimaquina].csr
-
Nos pedirá una serie de valores para identificar al certificado, que tendremos que rellenar correctamente y son:
C=ES ST=Sevilla L=Dos Hermanas O=IES Gonzalo Nazareno OU=Informatica CN=[Nombre del equipo] (debe ser único)
- Creamos una clave privada RSA de 4096 bits (como
-
Hacer llegar el csr a la entidad certificadora
Se sube el correspondiente fichero csr mediante la aplicación Gestiona, dentro del menú Utilidades -> Certificados. Se tiene que subir como Certificado de equipo. Una vez firmado el fichero csr aparecerá un fichero con extensión crt que se corresponde con el certificado firmado por la autoridad certificadora del Gonzalo Nazareno. Ese fichero lo puedes guardar en /etc/openvpn/certs`
-
Descargar el certificado de la CA Gonzalo Nazareno. Este fichero se llama
gonzalonazareno.crt
. Una vez descargado y para evitar que estés usando otro de cursos pasos asegúrate que la fecha de caducidad del certificado es 2034, para ello si lo hemos guardado/etc/ssl/certs/gonzalonazareno.crt
ejecuta la siguiente instrucción:# openssl x509 -text -noout -in /etc/ssl/certs/gonzalonazareno.crt ... Validity Not Before: Sep 4 11:05:13 2024 GMT Not After : Sep 2 11:05:13 2034 GMT
-
Configuración de OpenVPN
-
Instalamos el cliente OpenVPN:
apt install openvpn
- Creamos el siguiente fichero con extensión
.conf
(exigencia de OpenVPN) en el directorio/etc/openvpn/client
:dev tun remote satelite.gonzalonazareno.org pull proto tcp-client tls-client ca /etc/ssl/certs/gonzalonazareno.crt cert /etc/openvpn/certs/[nombredemimaquina].crt key /etc/ssl/private/[nombredemimaquina].key comp-lzo keepalive 10 60 log /var/log/openvpn-satelite.log verb 1
-
Inicia OpenVPN:
# systemctl start openvpn-client@[nombre del fichero de configuración]
172.22.0.0/16
:``` $ ip r ... 172.22.0.0/16 via 172.29.0.x dev tun0 ... ``` Si no funciona el túnel comprueba los mensajes de error en el fichero `/var/log/openvpn-satelite.log`.
-
Nota importante: El servicio vpn no está habilitado, por lo tanto debemos indicarlo cada vez que arranquemos el ordenador (también podemos configurarlo a través de network-manager).
-
Es también conveniente actualizar el fichero
/etc/hosts
para realizar resolución estática de las máquinas más usadas del centro:172.22.123.100 openstack.gonzalonazareno.org 172.22.123.1 proxmox.gonzalonazareno.org
-
¿Qué tienes que entregar?
- Desde casa, una vez configurado e iniciado el cliente OpenVPN: la IP del interfaz
tun0
, la ruta que nos permite acceder a la red172.22.0.0/16
y un ping a la puerta de enlace, a la dirección172.22.0.1
. - El contenido del fichero para hacer la resolución estática y un pantallazo del acceso desde un navegador web a
openstack.gonzalonazareno.org
desde casa (No te debe pedir autentificación).