我有一台 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
答案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 流量,因为传入流量不再加密?
这是为了澄清目的,并不涉及违法。