Activa JavaScript para disfrutar de los vídeos de la Mediateca.
VPN con OpenVPN en Ubuntu1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
VPN con OpenVPN en Ubuntu1
Buenos días. Vamos a instalar o crear una VPN y lo vamos a hacer con OpenVPN.
00:00:00
Bien, lo primero que vamos a hacer, yo ya lo he hecho, pero los pasos que vamos a seguir, paso a paso, lo que vamos a hacer es crear una VPN con OpenVPN entre un servidor y un cliente usando dos máquinas virtuales, Ubuntu en VirtualBox y lo vamos a hacer desde cero.
00:00:20
La creación de las máquinas, la instalación de redes, etcétera, eso ya lo he hecho, nada más que tengo aquí las dos máquinas, esta sería la VPN server y luego tengo la otra que sería la VPN cliente.
00:00:43
Los he conectado mediante red interna. En la VPN server la he creado con una RAM de 2048 megas, con un disco de 20 gigas. La cliente también. Y he creado dos adaptadores, un adaptador NAT y otro de red interna.
00:00:58
He hecho, el servidor va a tener la IP, en cuanto a su configuración de IPs internas, va a tener la 10.0.0.1 y la del cliente tiene la 10.0.0.2.
00:01:18
Las he configurado, he hecho ping a las dos y, bueno, se están conectadas.
00:01:33
Bien, una vez que están conectadas, vamos a instalar OpenVPN más EasyRSA.
00:01:41
previo a eso lo que quiero es explicaros
00:01:45
voy a explicaros una foto que tengo aquí
00:01:51
una imagen que tengo aquí que sería esta
00:02:02
esta imagen si veis aquí tenemos tanto las claves asimétricas del servidor
00:02:05
las del cliente y lo que se llama el certificador
00:02:17
o la autoridad de certificación.
00:02:20
En el centro, esta autoridad de certificación, ¿qué es lo que va a hacer?
00:02:24
Esta es la entidad que crea y firma todos los certificados.
00:02:29
Estará formada por dos archivos principales, que sería el CA-Key,
00:02:33
CA.Key, que es la clave privada de la autoridad de certificación,
00:02:38
y la CA.CRT, que es el certificado público de la CA.
00:02:45
De la autoridad de certificación. La autoridad certificadora es la responsable de qué, qué es lo que va a decir, lo que se va a encargar es de decir, este certificado pertenece realmente al servidor o este certificado pertenece realmente al cliente. Sin esta autoridad certificadora, servidor y cliente no podrán confiar uno en el otro. Por eso lo necesitamos.
00:02:50
Por otro lado, en el servidor, ¿qué tenemos? Tenemos sus claves y certificados. ¿El servidor qué va a necesitar? Va a necesitar la server.key, que será la clave privada del servidor, solo la tiene él, y luego la server.crt, que será el certificado del servidor firmado por la autoridad certificadora.
00:03:14
¿El proceso cuál es? El servidor genera una clave privada, que sería la server.key, envía la clave pública a la CA, la CA firma esa clave pública y genera el server.crt, el certificado.
00:03:36
El servidor usa el server.key que es la privada, el server.crt que es la pública firmada por la autoridad certificadora y el ca.crt que sería para validar los clientes.
00:03:52
Luego en el cliente tiene sus claves y certificados que serían cada cliente va a generar una client.key que sea la clave privada del cliente que sería esta
00:04:08
Y luego tenemos el client.crt. El client.crt es el certificado del cliente firmado por la autoridad certificadora. Digamos que su clave pública está firmada por la autoridad certificadora para decir que el cliente es quien dice ser.
00:04:17
El proceso igual en el que el servidor, el cliente, genera su clave privada, la client.key, envía la clave pública a la autoridad certificadora y la autoridad certificadora firma esa clave y produce el client.crt, que es el que aparece aquí.
00:04:38
Entonces, el cliente luego usa la client.key, la clave privada, la client.crt, certificado firmado por la autoridad certificadora, y la ca.crt para validar al servidor.
00:04:55
Luego, además, para añadir una capa más de seguridad, tenemos la llave TLS-crypt. Es opcional, pero se recomienda.
00:05:10
Aquí en la parte superior aparece la TLS-Crypt
00:05:19
Esta es una clave extra para proteger contra ataques externos
00:05:25
Evita que atacantes inicien sesiones VPN falsas
00:05:30
Filta paquetes de handshake no deseados
00:05:34
Ya lo visteis en la unidad anterior
00:05:37
Lo que era el handshake
00:05:40
Y protege contra ataques de denegación de servicio
00:05:41
Ambas máquinas la comparten
00:05:44
El servidor la usa y el cliente también la usa
00:05:46
Pero es secreta, nadie más debe tenerla
00:05:50
Por lo tanto, en resumen, ¿qué tenemos?
00:05:53
En resumen tenemos que la autoridad certificadora crea y firma certificados
00:05:55
Eso es lo que se llama la raíz de confianza
00:06:00
El servidor tiene su par de claves y certificado firmado por la autoridad certificadora
00:06:03
Y el cliente tiene su par de claves y certificado firmado por la autoridad certificadora
00:06:08
La autoridad certificadora no participa en la conexión diaria, solo firma los certificados.
00:06:14
Y luego, servidor y cliente se validan mutuamente usando esos certificados firmados.
00:06:20
Bien, tras esta introducción, vamos a proceder a instalar o crear una VPN con OpenVPN.
00:06:26
Bien, ya he dicho que los dos clientes y servidor ya estaban en red y lo único que vamos a hacer ahora es instalar OpenVPN e EasyRSA.
00:06:42
Vamos a instalar en ambas máquinas. Empezamos con la del servidor y lo primero que vamos a hacer es poner un sudo y haremos un update.
00:06:57
Una vez que hagamos el update, vamos a instalar OpenVPN e EasyRSA.
00:07:20
Voy a hacerlo también en la máquina del cliente.
00:07:48
Bien, limpiamos y vamos a proceder a la instalación.
00:08:14
pt install
00:08:19
open
00:08:23
vpn
00:08:26
bien, le damos
00:08:32
y lo vamos a hacer también en la máquina de clientes
00:08:38
si ha terminado
00:08:41
le decimos que
00:08:42
actualizado, se utilizarán
00:08:57
le decimos que sí
00:09:00
vamos con la otra máquina
00:09:01
que va un poco más lenta
00:09:06
bien
00:09:08
limpiamos
00:09:13
y le decimos
00:09:15
sudo
00:09:17
bien, el servidor está instalándolo
00:09:17
vamos a ver cómo va
00:09:39
decimos que sí
00:10:26
y aquí ya está instalado, le damos a limpiar
00:10:28
y ya lo tendríamos
00:10:40
esperamos
00:10:41
bueno, ya hemos instalado OpenVPN
00:11:28
y si RSA tanto en el cliente como en el servidor
00:11:39
bien, ahora vamos a crear la carpeta OpenVPN CA
00:11:43
vamos a crearla
00:11:47
Y la vamos a crear. Primero vamos a ver dónde estamos. Vale, ya estamos en el Home barra Paco. Vamos a ver si estamos ahí. Bien, estamos en Home Paco y aquí vamos a crear la carpeta.
00:11:49
La creamos, la vamos a llamar openvpnca y una vez creada vamos a entrar en ella.
00:12:29
Bien, ya estamos dentro de la carpeta, entonces a continuación vamos a inicializar el PKI.
00:12:52
Vamos a iniciar el PKI.
00:13:06
bien
00:13:08
hemos creado primero la
00:13:29
openvpn-ca
00:13:33
como una carpeta donde vamos a trabajar
00:13:36
con EasyRSA
00:13:40
aquí vamos a tener las claves privadas, los certificadores del servidor
00:13:42
los certificadores del cliente, el DC Hellman
00:13:47
la clave TLS, ya vimos lo que era
00:13:49
y la autoridad certificadora
00:13:52
Todo lo que es relacionado con los certificados. Entonces, ya lo hemos creado, nos hemos introducido en ella y ahora lo que vamos a hacer es inicializar la infraestructura del PKI.
00:13:54
¿Qué es el PKI? Es la Public Key Infrastructure o la infraestructura de claves públicas. Al ejecutar este comando, vamos a inicializarlo, aquí lo tenemos, algo he puesto mal, sí, aquí.
00:14:09
Bien, ya lo hemos inicializado. Al ejecutar, si ejecutamos PKI barra, vamos a CD, aquí tendríamos lo que es la carpeta, que sea PKI, donde van a estar las claves privadas, los certificados, el título de firma, el parámetro de DIGI Hellman y la configuración interna.
00:14:29
PKI es el corazón de todos los certificados. Entonces, ahora vamos a crear la autoridad
00:15:03
certificadora. Salimos de aquí, vamos a borrar y vamos a por la autoridad certificadora.
00:15:09
RSA
00:15:20
y
00:15:25
Vuel
00:15:26
CA
00:15:28
lo tenemos bien, que no hay ningún problema
00:15:29
y le damos
00:15:33
nos pide la clave
00:15:35
una nueva
00:15:37
clave que vamos a poner para la
00:15:42
para la autoridad de certificación
00:15:44
este comando que hemos
00:15:47
puesto
00:15:48
va a generar una CA.KEY
00:15:49
esa clave es privada
00:15:53
de la autoridad certificadora
00:15:54
no va a salir nunca en el servidor
00:15:56
no se copia al cliente
00:15:58
y no se comparte
00:16:00
luego también va a generar una clave
00:16:01
CA.CRT
00:16:04
que es el certificado público
00:16:06
de la autoridad certificadora
00:16:07
este es el que se va a compartir con los clientes
00:16:09
y que sirve para verificar
00:16:12
que el servidor es auténtico
00:16:14
nos va a pedir
00:16:15
entrar
00:16:19
una nueva clave
00:16:22
le hemos puesto la clave
00:16:23
y le damos, la ponemos de nuevo
00:16:25
y ya estaría, ahora que nos va a pedir
00:16:30
una vez que ya le hemos puesto
00:16:37
la clave, nos va a pedir
00:16:40
un nombre común, vamos a llamar a escribir
00:16:45
openvpnca o vamos a poner
00:16:48
openvpn-ca
00:16:52
y una vez que ya escribimos el nombre
00:16:57
quedaría completado
00:17:02
veis que aquí aparece ya el cea.crt
00:17:05
¿por qué se necesita la autoridad certificadora?
00:17:08
lo hemos dicho antes, porque es la que firma todos los certificados
00:17:11
firma el del servidor, firma el del cliente
00:17:14
sin ella no se puede verificar quién es quién
00:17:16
entonces, ahora vamos a crear
00:17:19
la clave privada del servidor
00:17:23
para ello ponemos el
00:17:25
RSA
00:17:27
de requerimiento
00:17:33
server
00:17:39
no pass
00:17:41
vale, esto que va a hacer
00:17:44
esto nos va a generar la server key
00:17:47
que sea la clave privada del servidor
00:17:49
la secreta y luego la server
00:17:51
request o server
00:17:53
.req que es la solicitud
00:17:55
de firma de certificado, vimos que tenía
00:17:57
que ser firmado por la certificación
00:17:59
la autoridad certificadora
00:18:01
lo que nos va a decir es por favor
00:18:03
que la autoridad certificadora
00:18:07
me firme este certificador para que pueda ser
00:18:09
un servidor VPN válido
00:18:11
no se pone contraseña
00:18:13
porque el servidor necesita arrancar solo sin pedir
00:18:17
password, entonces le damos
00:18:19
y nos lo crearía
00:18:21
nos dice nombre común del
00:18:23
nombre del servidor
00:18:27
le vamos a poner VPN
00:18:28
server que es el nombre y le damos y veis ya tenemos la server punto rec y la server punto
00:18:31
key bien pasamos ahora a continuación ya hemos pasado por por este paso que hemos visto y ahora
00:18:43
lo que nos quedaría es firmar el certificado del servidor.
00:18:59
Para ello ponemos RSA y sería firmarlo.
00:19:02
Hemos creado las claves del servidor y ya tienen que ser firmadas por la autoridad certificadora.
00:19:14
Esto es con el REC de petición de que sea firmada, server, server.
00:19:21
le decimos que sí
00:19:28
y habrá que entrar
00:19:38
esto lo que hace es que
00:19:43
la autoridad certificadora
00:19:47
revisa la solicitud del certificado, la firma
00:19:49
y crea el archivo server.crt
00:19:51
ahora tendríamos el server.key
00:19:54
que es la clave privada
00:19:57
y el server.crt que sería el certificado
00:19:59
público firmado
00:20:01
el servidor ahora será oficialmente
00:20:02
un servidor VPN válido
00:20:05
le damos a
00:20:07
a la clave
00:20:08
y ya estaría.
00:20:10
Bien, veis cómo nos genera aquí
00:20:15
la clave del servidor,
00:20:16
pues ha sido ya también,
00:20:19
además de tener nuestra propia clave del servidor,
00:20:20
la tenemos certificada.
00:20:23
Tenemos la clave privada, que es la server.key
00:20:24
y tenemos la clave, el certificado
00:20:26
público, que sería el
00:20:29
server.crt.
00:20:30
Vamos a generar ahora los parámetros
00:20:32
Diffie-Hellman. Este método
00:20:34
matemático es para negociar claves seguras
00:20:36
entre cliente y servidor.
00:20:38
Sin Diffie-Hellman, pues entonces tu tráfico no se cifraría correctamente. Entonces, lo que hay que entrar, lo que ahora nos va a generar es el DH.Pen. Entonces, bien, estábamos aquí y estábamos generando el Diffie-Hellman. Para generar el Diffie-Hellman, para que nos genere el DH.Pen.
00:20:40
Bien, ¿cómo lo tenemos que generar? Estamos en la carpeta OpenVPN CA y le generamos DH. Vale, está correcto. Al ejecutar esto va a calcular los parámetros de Diffie-Hellman de forma segura y nos generará el DH.pen.
00:21:07
Bien, si le damos al lsopenvpn-apki, aquí tendríamos que tener el divihelman.open, que sería este que aparece aquí.
00:21:46
Bien, ya lo hemos creado y ahora pasaríamos a, aquí tendríamos que tener el DRIGELMAN y tendríamos que tener también PRIVATE, tendríamos que tener ISUT, muy bien, y REX.
00:22:14
vale, lo tenemos todo
00:22:34
aquí tenemos
00:22:36
bien, lo tenemos todo
00:22:38
entonces
00:22:41
vamos a pasar a
00:22:42
una vez que tenemos todo
00:22:45
vamos a pasar a copiarlo
00:22:47
al servidor
00:22:49
OpenVPN
00:22:51
entonces vamos a poner
00:22:52
sudo
00:23:01
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado básico
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado medio
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Ciclo formativo de grado básico
- Autor/es:
- Francisco J. González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 1
- Fecha:
- 8 de diciembre de 2025 - 21:14
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 23′ 04″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 728.61 MBytes