Compare commits

...

6 Commits

Author SHA1 Message Date
José Antonio Yáñez Jiménez
e809cabf7a docs: update vpn/openvpn/servidor 2022-05-25 23:02:45 +00:00
José Antonio Yáñez Jiménez
a9decc3698 docs: delete assets/files/server.conf 2022-05-25 23:01:05 +00:00
José Antonio Yáñez Jiménez
56cb0f24b6 docs: delete assets/files/easyrsa-vars 2022-05-25 23:01:01 +00:00
José Antonio Yáñez Jiménez
ca72161a6f docs: upload assets/files/openvpn-server/server.conf 2022-05-25 23:00:48 +00:00
José Antonio Yáñez Jiménez
34d14f46d6 docs: upload assets/files/openvpn-server/easyrsa-vars 2022-05-25 23:00:48 +00:00
José Antonio Yáñez Jiménez
7a177f0915 docs: upload assets/files/openvpn-server/client.conf 2022-05-25 23:00:30 +00:00
4 changed files with 74 additions and 15 deletions

View File

@ -0,0 +1,26 @@
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 title: OpenVPN - Servidor
description: Tutorial de instalación del Servidor OpenVPN description: Tutorial de instalación del Servidor OpenVPN
published: true published: true
date: 2022-05-25T22:44:50.427Z date: 2022-05-25T23:02:41.280Z
tags: vpn, servidor, debian tags: vpn, servidor, debian
editor: markdown editor: markdown
dateCreated: 2022-05-18T16:48:57.246Z 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 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/easyrsa-vars) * [Referencia de variables de EasyRSA](/assets/files/openvpn-server/easyrsa-vars)
### Creación de CA ### Creación de CA
@ -467,7 +467,7 @@ verb 3
explicit-exit-notify 1 explicit-exit-notify 1
``` ```
* [Referencia de configuración de OpenVPN](/assets/files/server.conf) * [Referencia de configuración de OpenVPN servidor](/assets/files/openvpn-server/server.conf)
### Directivas adicionales ### Directivas adicionales
@ -486,7 +486,7 @@ sudo sysctl -w net.ipv4.ip_forward=1
* Arrancar y comprobar el estado del servicio OpenVPN * Arrancar y comprobar el estado del servicio OpenVPN
```bash ```bash
sudo systemctl start openvpn@server && sudo systemctl status openvpn@server sudo systemctl restart openvpn@server && sudo systemctl status openvpn@server
``` ```
* Comprobar la existencia de la intefaz virtual de OpenVPN * Comprobar la existencia de la intefaz virtual de OpenVPN
@ -516,38 +516,63 @@ mkdir -p ~/client-configs/files
* Copiamos la plantilla de configuración de cliente por defecto y procedemos a editarla * Copiamos la plantilla de configuración de cliente por defecto y procedemos a editarla
```bash ```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 nano ~/client-configs/base.conf # vim ~/client-configs/base.conf
``` ```
* Localizamos la directiva `remote` y establecemos la IP y puerto de nuestro servidor VPN * Especificamos que estamos ante un fichero cliente
```bash ```bash
remote ovpn.bastionado.es 1194 client
``` ```
* Nos aseguramos de establecer el protocolo en `UDP` * Configuramos el modo de interfaz igual que en el servidor.
```bash
dev tun
```
* Hacemos lo mismo con el protocolo.
```bash ```bash
proto udp proto udp
``` ```
* Realizamos un descenso de privilegios después de inicializar en sistemas que no son Windows descomentando las siguientes líneas * 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.
```bash ```bash
user nobody user nobody
group nogroup group nogroup
``` ```
* Comentamos los ficheros de certificados y `tls-auth` ya que esta es la plantilla y se establecerán individualmente * Intentamos persistir los siguientes valores entre reinicios.
```bash ```bash
#ca ca.crt persist-key
#cert client.crt persist-tun
#key client.key ```
#tls-auth ta.key 1 * Realizamos verificación del certificado del servidor y sus usos extendidos.
```bash
remote-cert-tls server
``` ```
* Establecemos las mismas directivas `cipher` y `auth` que establecimos en el servidor * Establecemos las mismas directivas `cipher` y `auth` que establecimos en el servidor
@ -557,6 +582,12 @@ cipher AES-256-CBC
auth SHA512 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. > 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.
@ -566,6 +597,8 @@ auth SHA512
key-direction 1 key-direction 1
``` ```
* [Referencia de configuración de OpenVPN cliente](/assets/files/openvpn-server/client.conf)
### Script de configuración de clientes ### 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. 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.