我不会使用 Vuze(一个 bittorrent 客户端)下载任何非法内容,也不需要使用我的 VPN(它在我的私人 VPS 上设置,在服务器和客户端上都使用 OpenVPN)。如何强制 vuze 不使用我的 VPN?我的主机每月只有 500GB 带宽。
答案1
我假设你正在使用 Linux,在那里可以完成此操作。你需要:
- 创建一个新的以太网虚拟接口(vif);
- 建立基于策略的路由;
- 下载一个小应用程序军队vuze 绑定到特定的 IP 地址。
为了简单起见,我们假设您位于 LAN 子网 192.168.1.0/24 上,您的路由器是 192.168.1.1,并且您需要一个新地址 192.168.1.247。
您可以这样做:
# ip link add link eth0 name eth0.1 type vlan id 1
# ip addr add 192.168.1.247/24 dev eth0.1
# ip link set dev eth0.1 up
这将创建一个名为eth0.1,其 IP 地址(192.168.1.247)必须在您的 LAN 允许的范围内选择,并且要有合适的掩码。
现在我们设置策略路由:让我们创建另一个路由表,
# echo 200 NAME >> /etc/iproute2/rt_tables
你需要选择一个有意义的名字你,而不是NAME。然后我们配置它的路由,
# ip route add 192.168.1.0/24 dev eth0.1 src 192.168.1.247 table NAME
然后我们添加默认网关,
# ip route add default via 192.168.1.1 table <NAME>
注意,这里的 192.168.1.1 是你的路由器的地址,当你不是连接到VPN。最后我们引入一条规则:
# ip rule add from 192.168.1.247 table NAME
它指定何时应用新的路由表。我们已经完成了路由。
现在下载程序绑定从本网站,您可以按如下方式编译并安装它:
# gcc -nostartfiles -fpic -shared bind.c -o bind.so -ldl -D_GNU_SOURCE
# strip bind.so
# cp -i bind.so /usr/lib/
现在我们已经准备好了:这个命令
# BIND_ADDR="192.168.1.247" LD_PRELOAD=/usr/lib/bind.so vuze
将允许您将 vuze 绑定到给定的 IP 地址,该地址通过新安装的路由表进行路由,而无需任何参考(因此在外部)VPN。
答案2
有一款适用于 Windows 的旧工具,名为 ForceBindIP,也许可以满足您的需求。
它仍存在于以下 URL 上:http://old.r1ch.net/stuff/forcebindip/
它是一个控制台应用程序包装器,通过一些网络技巧来确保进程只允许使用来自单个接口的流量。
通常情况下,你会希望使用它来强制你的 torrent 客户端(或其他客户端)严格使用 VPN,并在 VPN 断开时停止所有流量。我不明白为什么你不能做相反的事情 - 将你的应用程序绑定到主网络适配器(而不是 VPN 适配器)。然后所有流量都应该通过你的非 VPN 连接。
运行如下命令:
forcebindip.exe 1.2.3.4 "C:\Program Files\Vuze\Azureus.exe"
其中 1.2.3.4 是您网络上的 IPv4 地址。您可以在命令提示符中输入 ipconfig /all 来找到它。或者,如果您暂时断开 VPN,只需在 Google 上搜索“我的 IP”,它就会在顶部告诉您。