Compare commits
6 Commits
4f4178d0f4
...
e809cabf7a
Author | SHA1 | Date | |
---|---|---|---|
|
e809cabf7a | ||
|
a9decc3698 | ||
|
56cb0f24b6 | ||
|
ca72161a6f | ||
|
34d14f46d6 | ||
|
7a177f0915 |
26
assets/files/openvpn-server/client.conf
Normal file
26
assets/files/openvpn-server/client.conf
Normal 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
|
@ -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.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user