Inicio automático del cliente OpenVPN con systemd
2022-12-05
Índice
- Requisitos
- Instalación cliente OpenVPN
- Configuración
- Iniciando como un servicio durante el arranque
- Referencia
Voy a explicar como configurar un cliente de Openvpn para que se valide, con usuario y contraseña y de forma automática, en un servidor Openvpn.
En mi caso, he configurado una Raspberry Pi con Debian 11 para que se valide contra un servidor OpenVPN que tnego corriendo en un router Synology.
Requisitos
Evidentemente has de disponer de acceso a un servidor OpenVPN y del fichero de configuración OpenVPN
Instalación cliente OpenVPN
Lo primero que vamos a realizar es actualizar el sistema e instalar el paquete OpenVPN
sudo apt update
sudo apt install openvpn -y
Configuración
Editamos el siguiente fichero
sudo nano /etc/default/openvpn
Buscamos y descomentamos (borrando la primera #) la linea aque contenga:
AUTOSTART="all"
Presiona Ctrl x
para salvar los cambios.
Copiamos el fichero de configuración .ovpn
de tu usuario a la siguiente ubicación, cambiando también su nombre a client.ovpn
sudo cp fichero.ovpn /etc/openvpn/client.ovpn
Editamos el fichero .ovpn
que hemos copiado en el anterior paso y cambiamos la linea auth-user-pass
por auth-user-pass pass
En el directorio donde hemos copiado el fichero .ovpn
(/etc/openvpn/
) creamos un fichero llamado pass
sudo nano /etc/openvpn/pass
E introducimos el usuario y contraseña de OpenVPN, cada uno en una linea
cat /etc/openvpn/pass
usuario
password
Después de salvar los cambios protegemos el fichero
sudo chmod 400 /etc/openvpn/pass
La estructura debería ser parecida a la siguiente:
ls -lha /etc/openvpn/
total 32K
drwxr-xr-x 4 root root 4.0K Nov 24 16:11 .
drwxr-xr-x 88 root root 4.0K Nov 12 13:39 ..
drwxr-xr-x 2 root root 4.0K Nov 15 08:39 client
-rw------- 1 root root 5.5K Nov 24 16:11 client.conf
-r-------- 1 root root 28 Nov 24 16:11 pass
drwxr-xr-x 2 root root 4.0K May 14 2021 server
Iniciando como un servicio durante el arranque
Para habilitar el servicio OpenVPN en el arranque:
sudo systemctl enable [email protected]
Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /lib/systemd/system/[email protected].
Reiniciamos los demonios:
sudo systemctl daemon-reload
Iniciamos el servicio OpenVPN:
sudo service openvpn@client start
Reiniciamos y comprobamos si el servicio se ha levantado correctamente
sudo systemctl status [email protected]
● [email protected] - OpenVPN connection to client
Loaded: loaded (/lib/systemd/system/[email protected]; enabled; vendor preset: enabled)
Active: active (running) since Thu 2022-11-24 19:04:00 CET; 8min ago
Docs: man:openvpn(8)
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
https://community.openvpn.net/openvpn/wiki/HOWTO
Main PID: 704417 (openvpn)
Status: "Initialization Sequence Completed"
Tasks: 1 (limit: 779)
CPU: 228ms
CGroup: /system.slice/system-openvpn.slice/[email protected]
└─704417 /usr/sbin/openvpn --daemon ovpn-client --status /run/openvpn/client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --writ>
Espero que te haya gustado, pasa un gran día 🐧
Referencia
. https://www.ivpn.net/knowledgebase/linux/linux-autostart-openvpn-in-systemd-ubuntu/