僅將 Deluge 限制為 tun0,但允許透過 eth0 使用 Deluge Web UI

僅將 Deluge 限制為 tun0,但允許透過 eth0 使用 Deluge Web UI

經過多次搜索,我已經能夠使用以下命令將大量網路流量限制為僅 VPN 介面 tun0:

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

但現在我無法透過 eth0 連接埠 8112(即 192.168.0.23:8112)存取 WebUI

我可以使用另一個 iptables 規則來提供對本地網路上的 WebUI 的存取嗎?

答案1

這將強制 deluge 僅使用 VPN 隧道,本地子網路除外。

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

其邏輯是,它會阻止除本地子網路之外的所有非 VPN 隧道的輸出。

確保您驗證 deluge 使用的用戶。並調整子網路以符合您的子網路。也要在 ifconfig 中驗證您的隧道名稱,在我的範例中為 tun0

答案2

另一種方法是只允許 VPN 連接和 Web 介面通過 eth0,並阻止其他所有內容:

-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

答案3

使用容器(LXC/LXD/Docker):

如果您在主機上啟動wireguard接口,然後將該接口添加到運行deluge的容器中作為唯一接口,則訪問僅限於wireguard接口。

您可以新增一個代理設備,該設備綁定到容器內 localhost 上的 webui 端口,並偵聽主機上的任何位址。

不需要 iptables。

相關內容