如何修改这些 iptables 规则,以便将 HTTP 流量绑定到我的 VPN 连接?

如何修改这些 iptables 规则,以便将 HTTP 流量绑定到我的 VPN 连接?

我已关注本指南设置 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_gatewayIP 地址,因此其流量已经被路由到它。

第一个路由规则应该“完成”从$ifconfig_localthrough路由所有流量(不以其他方式路由)的规则$dev。这需要$ifconfig_local127.0.0.1,因为那是本地流量的发源地。由于并非所有流量都经过 VPN,因此似乎$ifconfig_local不是127.0.0.1.

您可以使用该命令iptables-save查看 iptables 设置,并使用该命令ip route list查看路由。

相关内容