Compare commits

..

No commits in common. "e809cabf7a76328b2b545c19a7e0ae815e16a941" and "4f4178d0f40e478fc31f5c35d29174646d0a1475" have entirely different histories.

4 changed files with 15 additions and 74 deletions

View File

@ -1,26 +0,0 @@
client
dev tun
proto udp
remote ovpn.bastionado.es 6174
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-CBC
auth SHA512
verb 3
key-direction 1

View File

@ -2,7 +2,7 @@
title: OpenVPN - Servidor
description: Tutorial de instalación del Servidor OpenVPN
published: true
date: 2022-05-25T23:02:41.280Z
date: 2022-05-25T22:44:50.427Z
tags: vpn, servidor, debian
editor: markdown
dateCreated: 2022-05-18T16:48:57.246Z
@ -82,7 +82,7 @@ set_var EASYRSA_CRL_DAYS 90 # La lista de revocaciones se actua
set_var EASYRSA_CERT_RENEW 20 # Los certificados se pueden renovar con 20 días de antelación
```
* [Referencia de variables de EasyRSA](/assets/files/openvpn-server/easyrsa-vars)
* [Referencia de variables de EasyRSA](/assets/files/easyrsa-vars)
### Creación de CA
@ -467,7 +467,7 @@ verb 3
explicit-exit-notify 1
```
* [Referencia de configuración de OpenVPN servidor](/assets/files/openvpn-server/server.conf)
* [Referencia de configuración de OpenVPN](/assets/files/server.conf)
### Directivas adicionales
@ -486,7 +486,7 @@ sudo sysctl -w net.ipv4.ip_forward=1
* Arrancar y comprobar el estado del servicio OpenVPN
```bash
sudo systemctl restart openvpn@server && sudo systemctl status openvpn@server
sudo systemctl start openvpn@server && sudo systemctl status openvpn@server
```
* Comprobar la existencia de la intefaz virtual de OpenVPN
@ -516,63 +516,38 @@ mkdir -p ~/client-configs/files
* Copiamos la plantilla de configuración de cliente por defecto y procedemos a editarla
```bash
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
nano ~/client-configs/base.conf # vim ~/client-configs/base.conf
```
* Especificamos que estamos ante un fichero cliente
* Localizamos la directiva `remote` y establecemos la IP y puerto de nuestro servidor VPN
```bash
client
remote ovpn.bastionado.es 1194
```
* Configuramos el modo de interfaz igual que en el servidor.
```bash
dev tun
```
* Hacemos lo mismo con el protocolo.
* Nos aseguramos de establecer el protocolo en `UDP`
```bash
proto udp
```
* Establecemos la IP y puerto de nuestro servidor VPN.
```bash
remote ovpn.bastionado.es 6174
```
* Intentamos que el intento de resolución de nombre del servidor VPN sea infinita, útil para equipos que no están permanentemente conectados a internet.
```bash
resolv-retry infinite
```
* Con la siguiente directa hacemos que el puerto local de salida sea dinámico.
```bash
nobind
```
* Realizamos un descenso de privilegios después de inicializar en sistemas que no son Windows.
* Realizamos un descenso de privilegios después de inicializar en sistemas que no son Windows descomentando las siguientes líneas
```bash
user nobody
group nogroup
```
* Intentamos persistir los siguientes valores entre reinicios.
* Comentamos los ficheros de certificados y `tls-auth` ya que esta es la plantilla y se establecerán individualmente
```bash
persist-key
persist-tun
```
#ca ca.crt
#cert client.crt
#key client.key
* Realizamos verificación del certificado del servidor y sus usos extendidos.
```bash
remote-cert-tls server
#tls-auth ta.key 1
```
* Establecemos las mismas directivas `cipher` y `auth` que establecimos en el servidor
@ -582,12 +557,6 @@ cipher AES-256-CBC
auth SHA512
```
* Establecemos el nivel de detalle que va desde 0 (nada) a 9 (ultra detallado)
```bash
verb 3
```
> La directiva `key-direction` establece una forma alternativa de especificar el parámetro opcional de dirección para las opciones `tls-auth` y `secret`, Es útil cuando se utilizan ficheros incrustados.
@ -597,8 +566,6 @@ verb 3
key-direction 1
```
* [Referencia de configuración de OpenVPN cliente](/assets/files/openvpn-server/client.conf)
### Script de configuración de clientes
Generaremos un script que se encargará de crear un fichero incrustado con la configuración de conexión plantilla y los certificados apropiados para cada cliente.