我已关注本指南设置 VPN 服务以将数据发送到transmission-daemon
运行 Debian 的设备或从我的设备发送数据。
#!/bin/sh
# Print environment variables for transmission's benefit
printenv > /etc/openvpn/myprovider/vpn.env
# Set up VPN routes
ip route add default via $route_vpn_gateway dev $dev table 10
ip rule add from $ifconfig_local/32 table 10
ip rule add to $route_vpn_gateway/32 table 10
ip route flush cache
# Add firewall rules
iptables -A INPUT -i $dev -p udp --dport 24328 -j ACCEPT
iptables -A INPUT -i $dev -p tcp --dport 24328 -j ACCEPT
iptables -A OUTPUT -o $dev -p udp --sport 24328 -j ACCEPT
iptables -A OUTPUT -o $dev -p tcp --sport 24328 -j ACCEPT
我用过这个TorGuard IP 测试洪流查看我从哪个 IP 地址进行连接。 TorGuard 种子显示正确的 VPN IP 地址。
然而,当使用网络浏览器并通过在线 IP 查找服务检查我的 IP 地址时,会显示我的实际“家庭”IP 地址。
我理解这些设置的方式iptables
是,它们被设置为仅允许 VPN 流量定向到传输端口 (24328),并丢弃所有其他流量。如果是这样,该流量似乎是通过正常的互联网连接运行的。这个解释正确吗?
有没有办法修改这些规则,以便普通浏览器流量 (HTTP) 流量也绑定到 VPN 连接,同时保留其他服务/端口不变?
我正在使用PhantomJS
浏览器,我认为可以将其首选端口设置为默认端口以外的其他端口。
答案1
这些防火墙规则通常表明流量会被阻止,并且它们仅用于允许流量进出给定端口。由于显然所有流量都是策略允许的,因此这些规则不会对其添加任何内容。
接下来,第二条路由规则似乎也没有多大用处,因为设备$dev
已经拥有$route_vpn_gateway
IP 地址,因此其流量已经被路由到它。
第一个路由规则应该“完成”从$ifconfig_local
through路由所有流量(不以其他方式路由)的规则$dev
。这需要$ifconfig_local
是127.0.0.1
,因为那是本地流量的发源地。由于并非所有流量都经过 VPN,因此似乎$ifconfig_local
不是127.0.0.1
.
您可以使用该命令iptables-save
查看 iptables 设置,并使用该命令ip route list
查看路由。