OpenVPN es una solución de software para implementar redes privadas virtuales (VPN). Su principal objetivo es proporcionar conexiones seguras y encriptadas entre redes o dispositivos a través de Internet. Es ampliamente utilizado para proteger la privacidad en línea, garantizar la seguridad de los datos y acceder a redes restringidas geográficamente.

En esta guía, aprenderás a instalar y configurar OpenVPN en un contenedor LXC utilizando Proxmox.


Pasos para la instalación

1. Modificar la configuración del contenedor LXC

Después de crear el contenedor LXC, necesitas modificar su configuración para habilitar el soporte de TUN/TAP. Edita el archivo de configuración correspondiente:

nano /etc/pve/lxc/[ID].conf

Sustituye [ID] por el ID de tu contenedor. Agrega las siguientes líneas al archivo:

lxc.cgroup.devices.allow: c 10:200 rwm
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

Guarda los cambios y cierra el editor.


2. Configurar permisos en Proxmox

Ejecuta los siguientes comandos en el host Proxmox para ajustar los permisos del dispositivo TUN:

chown 100000:100000 /dev/net/tun

Verifica que los permisos se hayan aplicado correctamente:

ls -l /dev/net/tun

El resultado debería mostrar algo similar a:

crw-rw-rw- 1 100000 100000 10, 200 fecha hora /dev/net/tun

3. Encender el contenedor y actualizar el sistema

Inicia el contenedor y accede a él:

pct start [ID]
pct enter [ID]

Sustituye [ID] por el ID del contenedor. Una vez dentro, actualiza los paquetes del sistema:

apt update && apt upgrade -y

4. Instalar OpenVPN y el script de configuración

Instala los paquetes necesarios:

apt install openvpn git -y

Clona el repositorio del script de instalación:

git clone https://github.com/Nyr/openvpn-install
cd openvpn-install

Ejecuta el script:

bash openvpn-install.sh

Sigue las instrucciones del instalador para configurar OpenVPN según tus necesidades. Durante el proceso, el script creará un archivo de configuración .ovpn para el cliente.


5. Abrir los puertos en el router

Asegúrate de abrir los puertos necesarios en tu router para que OpenVPN pueda funcionar. Por defecto, OpenVPN utiliza el puerto UDP 1194, aunque esto puede variar dependiendo de tu configuración.


6. Generar nuevos archivos de acceso VPN

Si necesitas crear nuevos archivos .ovpn para otros usuarios, simplemente vuelve a ejecutar el script de instalación:

cd openvpn-install
bash openvpn-install.sh

Sigue las instrucciones para generar los nuevos archivos de configuración.


Conclusión

Siguiendo estos pasos, habrás instalado y configurado OpenVPN en un contenedor LXC. Este entorno seguro y flexible te permitirá administrar conexiones VPN para proteger tu privacidad y garantizar la seguridad de tus datos.