配置 IPTables 以从 VPN 隧道中排除 Web 主机

配置 IPTables 以从 VPN 隧道中排除 Web 主机

我有一台 Raspberry Pi 作为我的网络主机的服务器。Raspberry Pi 全天候连接到 VPN 服务。

因此,我无法使用我的 ISP 颁发的公共 IP 地址连接到我的网络主机。

如果我关闭 Raspberry Pi 上的 VPN,我就可以毫无问题地连接到我的网络服务器。

我的 apache 正在使用端口 8080。

我如何重新路由我的流量,以便能够使用我的 ISP 提供的 IP 访问端口 8080?我的 Raspberry Pi 本地使用静态 IP 192.168.1.11。

例如,如果我的公共 ISP 是 123.456.789.001,我如何能够访问位于 123.456.789.001:8080 的 Raspberry Pi?

如何启动我的VPN:

sudo /etc/init.d/openvpn start   

VPN 配置

client
dev tun2
proto udp
remote 176.126.237.214 25000
remote euro214.vpnbook.com 25000
resolv-retry infinite
nobind
persist-key
persist-tun
auth-user-pass auth.txt
comp-lzo
verb 3
cipher AES-128-CBC
fast-io
pull
route-delay 2
redirect-gateway

是否配置

tun2      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.10.0.56  P-t-P:10.10.0.78  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:19415 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4242 errors:0 dropped:94 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:26759154 (25.5 MiB)  TX bytes:289187 (282.4 KiB)

谢谢

答案1

你所追求的是转发端口- 您需要登录路由器(或分配了您的公共 IP 地址的设备,如果这是不同的设备)并创建一条规则,将端口 8080 上的流量转发到您的 Raspberry Pi 的 IP 地址。由于您没有提供任何其他详细信息,我无法给您任何确切的说明。

您的 VPN 配置也使用该redirect-gateway选项,它将更改 Raspberry Pi 的默认网关(请参阅文档)。启用此选项后,数据包将到达您的 Pi,但无法传回路由器。您需要删除此选项,以使 Raspberry Pi 可用于本地 LAN。

答案2

您已redirect-gateway启用,这表示 VPN 客户端将所有流量通过 OpenVPN 路由。如果您只希望一组特定的流量通过 OpenVPN,请单独设置这些路由。例如,您可以添加以下内容以将所有发往 10.12.34.0/24 的流量通过 VPN。

(with no redirect-gateway)
route 10.12.34.0 255.255.255.0

反过来,您可以指示 OpenVPN 排除一部分流量。如果您不希望到 123.45.67.0/24 的流量通过 VPN,则可以添加以下行:

(with redirect-gateway)
route 123.45.67.0 255.255.255.0 net_gateway

答案3

您好,通过添加一些 IPTables 似乎解决了我的问题,如下所示。

ip rule add from 192.168.1.11 table 128 
ip route add table 128 to 192.168.1.0/24 dev eth0 
ip route add table 128 default via 192.168.1.1

我相信此设置会导致所有传入流量(所有端口)被排除在 VPN 隧道之外,同时仍确保我的传出流量通过 VPN。我现在可以使用我的公共 IP 连接到我的服务器,并且仍然能够使用 VPN 连接浏览网络。

不过我有一个问题,如果我使用 torrent,是否意味着我的 ISP 可以看到进入我 IP 的 torrent 流量,因为传入流量不再加密?

这是为了澄清目的,并不涉及违法。

相关内容