Beschränken Sie Deluge nur auf tun0, aber erlauben Sie die Deluge-Web-Benutzeroberfläche über eth0

Beschränken Sie Deluge nur auf tun0, aber erlauben Sie die Deluge-Web-Benutzeroberfläche über eth0

Nach vielen Suchen ist es mir gelungen, den enormen Netzwerkverkehr mit dem folgenden Befehl auf die VPN-Schnittstelle tun0 zu beschränken:

sudo iptables -A OUTPUT -m owner --uid-owner deluge \! -o tun0 -j REJECT

Aber jetzt kann ich nicht mehr über eth0 auf Port 8112 (also 192.168.0.23:8112) auf die WebUI zugreifen.

Kann ich eine andere iptables-Regel verwenden, um Zugriff auf die WebUI im lokalen Netzwerk zu gewähren?

Antwort1

Dadurch wird Deluge gezwungen, den VPN-Tunnel nur mit Ausnahme Ihres lokalen Subnetzes zu verwenden.

iptables -A OUTPUT -m owner --uid-owner deluge ! -d 192.168.1.0/24 \! -o tun0 -j REJECT

Die Logik besteht darin, dass alle Ausgaben, die nicht der VPN-Tunnel sind, mit Ausnahme des lokalen Subnetzes blockiert werden.

Stellen Sie sicher, dass Sie überprüfen, welchen Benutzer Ihr Deluge verwendet, und passen Sie das Subnetz entsprechend Ihrem an. Überprüfen Sie außerdem in ifconfig, dass Ihr Tunnelname, in meinem Beispiel tun0,

Antwort2

Eine andere Möglichkeit besteht darin, nur die VPN-Verbindung und die Weboberfläche über eth0 zuzulassen und alles andere zu blockieren:

-A INPUT -s my.vpn.net -i eth0 -p udp -m udp --sport 1194 -j ACCEPT
-A INPUT -s my.local.ip -i eth0 -p udp -m udp --sport 8112 -j ACCEPT
-A INPUT ! -i tun0 -j DROP
-A OUTPUT -d my.vpn.net -o eth0 -p udp -m udp --dport 1194 -j ACCEPT
-A OUTPUT -d my.local.ip -i eth0 -p udp -m udp --sport 8112 -j ACCEPT
-A OUTPUT ! -o tun0 -j DROP

Antwort3

Verwenden von Containern (LXC/LXD/Docker):

Wenn Sie beispielsweise eine Wireguard-Schnittstelle auf dem Host starten und diese Schnittstelle dann zu einem Container hinzufügen, auf dem Deluge als einzige Schnittstelle ausgeführt wird, ist der Zugriff ausschließlich auf die Wireguard-Schnittstelle beschränkt.

Sie können ein Proxy-Gerät hinzufügen, das an den WebUI-Port auf dem lokalen Host innerhalb des Containers gebunden ist und auf jede Adresse auf dem Host lauscht.

Keine iptables erforderlich.

verwandte Informationen