Ich möchte sicherstellen, dass die Übertragung nur dann Datenverkehr sendet / empfängt, wenn der Server, auf dem sie ausgeführt wird, mit einem VPN verbunden ist.
Ich habe diese Frage ähnlich gefunden , möchte aber nicht den gesamten Datenverkehr über das VPN erzwingen und konnte keine gute Anleitung zur Verwendung von Firestarter über die Befehlszeile finden.
Stattdessen habe ich überlegt, ufw zu verwenden, aber ich habe wenig bis keine Erfahrung mit Firewalls, und ich hoffe, dass die Community mir helfen kann.
Eine Idee, die ich hatte, war, die Übertragung zu erzwingen, einen bestimmten Port zu verwenden, z. B. 33442, und dann nur Verkehr von und zu diesem Port von der IP-Adresse des VPN-Servers zuzulassen. Ich habe den Ubuntu-Server-Leitfaden durchgesehen und denke, ich könnte so etwas tun:
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
Hält diese Logik ihr Salz? Wie würdest du es machen? Was würde ich für VPNIP verwenden, die öffentliche IP des VPN-Servers, oder sollte ich den lokalen Subnetzbereich angeben, mit dem mich das VPN verbindet?
Danke für Ihre Hilfe!
--bind-address-ipv4 $IP_ADDR
wird Transmission mitgeteilt, an welche Adresse gebunden werden soll. Dies erfordert dann die richtigen Routing-Regeln, um sicherzustellen, dass der Verkehr an den richtigen Ort gelangt. Schauen Sie sich diese Frage an, um zu erfahren, wie ich es geschafft habe.Dies funktioniert für eine kopflose Übertragung. Ich beschränke den Datenverkehr basierend auf dem Benutzer, der den Übertragungsdienst ausführt.
10.0.0.0/8
Ist Ihr internes Netzwerk, sollten Sie es an Ihr Netzwerktun0
anpassen. Ist Ihre OpenVPN-Schnittstelle,eth0
ist Ihre LAN-Verbindung.In
sudo
Befehlen, wenn Sie nicht als root angemeldet sind:iptables -F
(Wir haben die Option -F verwendet, um alle vorhandenen Regeln zu löschen, sodass wir mit einem bereinigten Status beginnen, von dem aus neue Regeln hinzugefügt werden können.)iptables -L
(aktuelles Setup auflisten)Stellen Sie sicher, dass die Iptables nach dem Neustart dauerhaft sind
quelle
Hier ist ein vollständiges 'HOW TO' für NOOBS (unter Verwendung von debian), um sicherzustellen, dass die Benutzergruppe von debian-transmission (dh die Übertragung) nur Daten über den VPN weiterleitet
Verwenden Sie NICHT das ausführlichere "How to" für vpn, das auf komplexen Systemskripten basiert ...! Iptables ist die beste (und narrensichere) Methode !!! - VERWENDUNG EINIGER IPTABLE-REGELN basierend auf dem Übertragungsbenutzer und der Übertragungsgruppe zur Steuerung des VPN (nicht wie bei vielen komplexeren Hack-Methoden, bei denen Systemd-Skripte, Up- und Down-Skripte usw. verwendet werden) und es ist soooo einfach!
Schritt 1 - Setup: (Angenommen, die Übertragung ist installiert und der Benutzer debian-transmission existiert daher!)
Schritt 2 - Erstellen Sie die Datei mit den Übertragungs-IP-Regeln
und fügen Sie den Text in den folgenden Codeblock ein, beginnend mit
#!/bin/bash
WICHTIG
Speichern Sie die Datei und führen Sie sie aus
Stellen Sie dann sicher, dass diese Regeln zwischen den Neustarts bestehen bleiben:
und tippen Sie auf Ja, um beide Eingabeaufforderungen zu bestätigen. GETAN!
Das Tolle an diesem Skript ist, dass es alle Daten über das Gerät verfolgt! Wenn Sie ausstellen
Es wird angezeigt, wie viele Daten auf welcher Schnittstelle und auf welcher Seite EINGABE oder AUSGABE gespeichert sind, sodass Sie sicher sein können, dass das VPN-Skript ordnungsgemäß funktioniert. Z.B;
Dieses Skript wurde eingehend auf Verbindungen, Verbindungsabbrüche und Neustarts über den VPN getestet. Es funktioniert super Die Übertragung kann NUR über das VPN erfolgen. Der große Vorteil dieses Skripts gegenüber den anderen ist, dass ich dafür gesorgt habe, wie Sie sehen können (via
iptables -L -v
) dass Ihre Daten mit dem übereinstimmen, was über die Übertragung abgerufen wird (durch Hinzufügen von INPUT (all) - und Forward (all) -Regeln für jede Schnittstelle eth0, vpn (tun0)). Sie wissen also genau, was passiert !!! Die Gesamtsummen der Daten stimmen nicht genau mit der Übertragung überein - Leider kann ich auf der INPUT-Seite nicht nach dem Debian-Übertragungsbenutzer unterscheiden, und es wird sowohl zusätzlichen Overhead als auch möglicherweise andere Prozesse geben, die dasselbe VPN verwenden, aber die Daten sind ungefähr gleich hoch Auf der INPUT-Seite und ungefähr zur Hälfte auf dem OUTPUT, damit der vpn seine Funktion bestätigt. Noch etwas zu beachten - es dauert eine Weile, bis die VPN-Verbindung getrennt wird (der gesamte Datenverkehr wird mit der Übertragung unterbrochen) und die Verbindung wiederhergestellt wird, damit die Übertragung auf dem neuen VPN "in Gang kommt". Machen Sie sich also keine Sorgen, wenn es ungefähr 5 Minuten dauert, bis das Torrenting erneut beginnt. .TIPP - googeln Sie 'MAN iptables' und lesen Sie diesen Artikel über die Bandbreitenüberwachung, wenn Sie zeilenweise wissen möchten, wie dieses Skript funktioniert ...
quelle
Idealerweise sollten Sie einen Torrent-Client verwenden, der über eine Funktion zum Binden an eine bestimmte Schnittstelle (die VPN-Schnittstelle) verfügt.
Bei Torrent-Kunden tut Deluge dies. So können Sie Deluge installieren und die Schnittstelle in den Einstellungen konfigurieren und Sie sind eingestellt!
quelle
listen_interface
Optionen in Deluge -Console oder Interface in Network gebunden werden soll.