仅通过 VPN 路由特定用户/应用程序

仅通过 VPN 路由特定用户/应用程序

我对前段时间提出的问题有类似的设置。这里

我的 ClearOS 服务器上运行着一个 VPN (OpenVPN)(充当 LAN 互联网/安全的网关,有两个网络接口,eno1 = WAN,eno2 = LAN),我用它来隧道 HTTP/HTTPS/SMTP/SMTPS/ POP3/POP3S/IMAP等常见协议,通过此VPN。

ip route add default dev vpn table 200
ip route add default dev eno1 table 300
ip rule add fwmark 11 table 200
ip rule add fwmark 12 table 300
ip route flush cache

sysctl -w net.ipv4.conf.vpn.rp_filter=2

iptables -t mangle -A PREROUTING -p tcp -m multiport --dports 25,2525,80,110,143,443,465,587,993,995,6667,6668 -j MARK --set-mark 11
iptables -I POSTROUTING -t nat -o vpn -j MASQUERADE

其他一切(游戏)不会通过 VPN 建立隧道,而是通过正常的互联网线路。有些设备(例如电视)完全脱离 VPN 隧道才能使用 Netflix/Hulu/等。

iptables -t mangle -A PREROUTING -p tcp -m mac --mac-source xx:xx:xx:xx:xx:xx -j MARK --set-mark 12

这是一个非常基本的设置,可能可以做得更好,但它已经工作了一段时间了。

现在,我已经以守护进程模式将 Deluge 安装到我的服务器/网关上,并希望通过 VPN 建立隧道。

问题是,我在个人计算机上以瘦客户端模式使用 Deluge,连接到服务器并管理一切。

我尝试添加 iptable 规则来强制运行 Deluge 服务 (deluge) 的特定用户走出 VPN 隧道,但随后我失去了从 Windows Deluge 客户端到 Deluge 守护程序的完全连接。

iptables -t mangle -A OUTPUT -m owner --uid-owner deluge -j MARK --set-mark 11

我的设置是否错误,或者我是否需要添加一些内容以允许从本地局域网进行通信?是否可以让 Deluge Daemon 使用 VPN 隧道,并且仍然可以从本地 LAN 上的计算机访问管理它?

相关内容