Contenedor LXC en Proxmox con Qbittorrent + Wireguard (Mullvad)

September 28, 20243 minutes

En este post, se montará un contenedor LXC (Ubuntu) en Proxmox y lo configuraremos para que funcione a través de un tunel VPN de Mullvad, utilizando el protocolo WireGuard.




1º Crear un contendedor

Se usará un template de ubuntu 23.04, ubuntu-23.04-standard_23.04-1_amd64.tar.zst. Para descargar el template se debe realizar desde la pestaña “CT Templates” de tu unidad, en mi caso nas-amdr0meda-ns. Seleccionando el botón Templates y proceder a descargar.

1º Crear un contendedor



Posteriormente creamos un contenedor LXC usando el template anterior, en mi caso con 2 nucleos, 4Gb de ram y 512Mb swap. Desmarcando que sea un contenedor sin privilegios para tener acceso completo de escritura, (si posteriormente queremos compartir via SAMBA los ficheros).

2º Crear un contendedor

Nota: En el ejemplo se asgina una IP fija (192.168.1.212). Es recomendable asignar una IP fija al contenedor.



2º Configuración inicial del contenedor

Procedemos a iniciar el contenedor y conectarnos por consola. Nos autenticamos con el usuario –root– y la clave que hemos asignado anteriormente.

Antes de seguir con los proximos pasos debemos de actualizar todos los paquetes con el siguiente comando:

apt update && apt upgrade -y

Posteriormente necesitamos instalar wireguard, las herramientas de Wireguard, curl, qbittorrent-nox, cifs-utils y iftop.

apt install wireguard wireguard-tools curl qbittorrent-nox cifs-utils iftop

Ahora que ya tenemos instalado cifs-utils podemos o bien montar un recurso compartido donde se guardarán las descargas, como puede ser un NAS u omitir este paso y usar el almacenamiento de la maquina.

Si queremos configurar el almacenamiento compartido se hace como cualquier otro en el siguiente archivo (Necesario reiniciar el contenedor al finalizar):

nano /etc/fstab



3º Configuración del tunel VPN (Mullvad)

En este punto yo uso el proveedor de servicio VPN Mullvad, la configuración es independiente del proveedor, lo unico diferente es la forma de conseguir los datos necesarios, en el caso de Mullvad.

En su web nos ubicamos en “Configuración de WireGuard” y ahcemos clic en “Generar clave”:

3º Configuración del tunel VPN (Mullvad)

Y desplazandose hacia abajo seleccionamos el pais, ciudad y servidor. Para finalizar descargamos el fichero y lo guardamos.

4º Configuración del tunel VPN (Mullvad)

Ahora mueve el fichero de configuración a la maquina y dejalo en la ruta /etc/wireguard/ con el siguiente comando:

mv FICHERO_DESCARGADO.conf /etc/wireguard/wireguard-vpn.conf

5º Configuración del tunel VPN (Mullvad)

(En mi caso el fichero se llama it-mil-wg-002)

4º Validación del tunel e inicio automatico

Iniciamos el tunel con:

wg-quick up wireguard-vpn

Para validar que la interfaz esta levantada y funcionando escribimos ìp addr show. 6º Configuración del tunel VPN (Mullvad)

Con el siguiente comando nos aseguramos de que se vuelva a conectar automaticamente cada vez que se incie el contenedor:

systemctl enable wg-quick@wireguard-vpn



5º Configuración de Qbittorrent (Nox)

Se ha instalado la versión sin interfaz grafica, la gestión se realizará desde el entorno web pero antes tambien tenemos que crear una tarea en el gestor de servicios para que inicie qBittorent con cada encendido para eso creamos el siguiente archivo:

nano /etc/systemd/system/qbittorrent-nox.service

Y dentro escribimos el siguiente codigo (Estamos escribiendo las configuraciones necesarias para indicar que se ejecute el servicio “abittorrent-nox”):

[Unit]
Description=servicio_qbittorrent
Documentation=man:qbittorrent-nox(1)
Wants=network-online.target
After=network-online.target nss-lookup.target

[Service]
Type=exec
ExecStart=/usr/bin/qbittorrent-nox

[Install]
WantedBy=multi-user.target

Ahora habilitamos el servicio para luego reiniciar el host y verificar su adecuado funcionamiento.

systemctl enable qbittorrent-nox && reboot
  • (Nota: Con && concatenas comandos como en el ejemplo anterior)

6º Vinculación de la interfaz VPN (Wireguard) con Qbittorrent

Si todo ha ido bien debemos de poder acceder a la interfaz web de qBittorrent desde la IP de la maquina por el puerto :8080 http://192.168.1.212:8080

7º Configuración del tunel VPN con Qbittorrent

El usuario por defecto es admin y la clave adminadmin. Es altamente recomendable cambiar estas credenciales después del primer uso.

Abriendo la configuración y desplazandonos hasta “Advanced” seleccionamos la interfaz de red del tunel VPN y en dirección IP la que nos facilita dicho tunel.

De esta manera finalizamos la configuración basica. A partir de ahora todos los torrents/magnets que descarguemos será a traves del tunel VPN.

8º Configuración del tunel VPN con Qbittorrent

Y eso es todo, ¡ahora puedes descargar tus torrents desde un pequeño contenedor, solo necesitas acceder via web a la interfaz y escribir tus magnets o adjuntar los .torrents y qBittorrent se encargará de descargarlos por la vpn!



Saludos, amdr0meda