martes, 28 de noviembre de 2017

Servidor VPN en contenedor PROXMOX

Voy a instalar un servidor VPN en un contenedor basado en Debian 9 sobre PROXMOX 5.1.

1º Añadir permisos a Dev/Tun al contenedor

Primero autorizo el contenedor a utilizar los dispositivos necesarios, para ello (con el contenedor parado), edito el fichero de configuración del contenedor /etc/pve/lxc/xxx.conf y añado las siguientes líneas al final del fichero:

lxc.cgroup.devices.allow = c 10:200 rwm
lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun c 10 200; chmod 0666 net/tun"

2º Añadimos los dispositivos al contenedor

Arranco el contenedor, me conecto por ssh y ejecuto los siguientes comandos para añadir los dispositivos al contenedor:
cd /dev
mkdir net
mknod net/tun c 10 200
chmod 0666 net/tun
Es posible que os avise que ya existen los dispositivos, por si acaso ejecutas todos los comandos y sigues adelante.

3º Instalamos OpenVPN

Instalo OpenVPN con el siguiente comando (OJO: ejecutar como usuario root):
wget git.io/vpn --no-check-certificate -O ~/openvpn-install.sh; bash openvpn-install.sh
El script hará las siguientes preguntas, a las que voy contestando como se indica:
IP address: 192.168.1.xxx (será la IP del contenedor)
Protocol [1-2]: 1 (se recomienda usar UDP)
Port: 1194 (puerto de conexión a la VPN, por defecto 1194)
DNS [1-6]: 2 (DNS en mi caso pongo los de Google)
Client name: client (nombre que le voy a dar al cliente)
Después de esto se tira un rato generando las claves públicas y privadas, pero aún me queda una pregunta por responder:
External IP: www.midominio.org (podemos poner nuestra IP pública si es fija o nuestro dominio)
Una vez terminado el proceso, dirá que ha generado la configuración del cliente en la ruta /root/client.ovpn, copio ese fichero al móvil o al dispositivo desde el que me quiero conectar a la VPN y lo cargo en la aplicación que voy a usar, en mi caso, para Android, yo utilizo OpenVPN Connect.

Por supuesto para que todo funcione tengo que redirigir en mi router el puerto que he seleccionado a la IP del servidor VPN (la IP del contenedor en mi caso).


Visto en Hungred Dot Com

1 comentario:

  1. Hola amigo dime que reglas de firewall usaste, yo instalé proxmox desde mi proveedor OVH ellos me ofrecen una ip publica de donde me conecto al hypervisor.

    Saludos, gracias de antemano.

    ResponderEliminar