Me gustaría asegurarme de que la transmisión solo envíe / reciba tráfico cuando el servidor en el que se ejecuta esté conectado a una VPN.
Me encontré con esta pregunta que es similar pero no quiero forzar todo el tráfico a través de la VPN y no he sido capaz de encontrar una buena guía sobre cómo utilizar Firestarter desde la línea de comandos.
En cambio, estaba pensando en usar ufw, pero tengo poca o ninguna experiencia con firewalls, y espero que la comunidad pueda ayudarme.
Una idea que tenía sería forzar la transmisión para usar un puerto específico, digamos 33442, y luego solo permitir el tráfico hacia y desde ese puerto desde la dirección IP del servidor VPN. Revisé la guía del servidor Ubuntu y creo que podría hacer algo como esto:
sudo ufw enable
sudo ufw deny port tcp from localhost to any port 33442
sudo ufa allow port tcp from localhost to VPNIP port 33442
sudo ufw deny port udp from localhost to any port 33442
sudo ufa allow port udp from localhost to VPNIP port 33442
¿Esta lógica tiene su sal? ¿Como lo harias? ¿Qué usaría para VPNIP, la IP pública del servidor VPN, o debería especificar el rango de subred local al que me conecta la VPN?
¡Gracias por tu ayuda!
--bind-address-ipv4 $IP_ADDR
le indicará a Transmisión a qué dirección se debe vincular. Esto requiere las reglas de enrutamiento correctas para garantizar que el tráfico llegue al lugar correcto. Eche un vistazo a esta pregunta sobre cómo lo logré.Esto funciona para una transmisión sin cabeza, estoy restringiendo el tráfico en función del usuario que ejecuta el servicio de transmisión,
10.0.0.0/8
es su red interna debe cambiarla para que coincida con su red,tun0
es su interfaz OpenVPN,eth0
es su conexión LAN.Agregue
sudo
a los comandos, si no es root:iptables -F
(Utilizamos el modificador -F para eliminar todas las reglas existentes, por lo que comenzamos con un estado limpio desde el cual agregar nuevas reglas).iptables -L
(lista de configuración actual)hacer persistentes las iptables después de reiniciar
fuente
Aquí hay un 'CÓMO' completo para NOOBS (usando debian) para asegurarse de que el grupo de usuarios de transmisión debian (es decir, transmisión) solo enruta datos a través de vpn
¡NO use el 'Cómo hacer' más largo para vpn basado en scripts de sistema complejos ...! ¡iptables es EL MEJOR (e infalible) MÉTODO! - UTILIZAR UNAS POCAS REGLAS DE IPTABLE basadas en el usuario y el grupo de transmisión para controlar el vpn (no como muchos métodos más complejos de 'pirateo' que usan scripts systemd, scripts de subida y bajada, etc.) ¡ y es muuuy simple!
Paso 1 - Configuración: (¡Asume que la transmisión está instalada y que el usuario de transmisión de Debian existe!
Paso 2 - Crear el archivo de transmisión-reglas-ip
y agregue el texto en el bloque de código a continuación a partir de
#!/bin/bash
IMPORTANTE
Guarde el archivo y luego ejecute
luego asegúrese de que estas reglas persistan entre reinicios con:
y toca sí a ambas indicaciones. ¡HECHO!
¡Lo mejor de este script es que rastreará todos los datos a través del dispositivo! Cuando emites
mostrará cuántos datos van a qué interfaz y de qué lado de ENTRADA o SALIDA, de modo que puede estar seguro de que el script vpn funciona correctamente. P.ej;
Este script ha sido probado exhaustivamente en conexiones, desconexiones, reinicios desde vpn. Funciona muy bien La transmisión SOLO puede usar la VPN. La gran ventaja de este script sobre los demás es que me he asegurado como puedes ver (a través de
iptables -L -v
) que sus datos coinciden con lo que se extrae de la transmisión (al agregar las reglas INPUT (todas) y Reenviar (todas) para cada interfaz eth0, vpn (tun0)). ¡Entonces sabes exactamente lo que está pasando! Los totales de datos no coincidirán exactamente con la transmisión. Desafortunadamente, no puedo discriminar en el lado de ENTRADA hacia el usuario de la transmisión debian, y habrá una sobrecarga adicional y quizás otros procesos que usen la misma VPN, pero verá que los datos son aproximadamente recuentos en el lado de ENTRADA y es aproximadamente la mitad en la SALIDA para el VPN que confirma su funcionamiento. Otra cosa a tener en cuenta: se tarda un tiempo en una desconexión de VPN (todo el tráfico se detiene con la transmisión) y se vuelve a conectar para que la transmisión se ponga en marcha en la nueva VPN, así que no se preocupe si tarda unos 5 minutos en comenzar a torrenting nuevamente. .SUGERENCIA: busque en Google 'MAN iptables' y vea este artículo sobre la supervisión del ancho de banda si desea conocer línea por línea cómo funciona este script ...
fuente
Idealmente, debe usar un cliente de torrent que tenga una función para vincularse a una interfaz específica (la interfaz VPN).
Entre los clientes de torrent, Deluge hace esto. ¡Entonces puede instalar Deluge y configurar la interfaz en las Preferencias y ya está!
fuente
listen_interface
en deluge-console o Interface en las opciones de red.