![使用 iptables 根据用户绕过 VPN](https://linux22.com/image/1474757/%E4%BD%BF%E7%94%A8%20iptables%20%E6%A0%B9%E6%8D%AE%E7%94%A8%E6%88%B7%E7%BB%95%E8%BF%87%20VPN.png)
运行最新的 LTS Xubuntu,并尝试通过 VPN 路由由一个用户(假设为“jsmith”)启动的进程的流量。我想 iptables 是我唯一的希望?
相关适配器是 eth0 和 tun0,这是我的路由表:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 10.189.1.5 128.0.0.0 UG 0 0 0 tun0
default 192-168-1-1.tpg 0.0.0.0 UG 0 0 0 eth0
10.189.1.1 10.189.1.5 255.255.255.255 UGH 0 0 0 tun0
10.189.1.5 * 255.255.255.255 UH 0 0 0 tun0
128.0.0.0 10.189.1.5 128.0.0.0 UG 0 0 0 tun0
f.06.01a8.ip4.s 192-168-1-1.tpg 255.255.255.255 UGH 0 0 0 eth0
192-168-1-1.tpg * 255.255.255.255 UH 0 0 0 eth0
这是可能的吗,还是我选错了方向?至关重要的是,我想要发送裸流量的 IP 每天都在变化 - 但它们总是由同一个用户发起。我认为从该用户路由到外部世界是可能的,但我非常担心走另一条路。
答案1
为了在iptables
用户连接到 OpenVPN 服务器时对用户进行特定的更改,最明显的解决方案是使用 OpenVPN 的--client-connect
脚本...只要您的服务器以适当的权限运行,任何bash
兼容的脚本都应该能够进行操作..IE:root。iptables
--user/--group