我有一个双跳 VPN 设置,几个月前它一直正常工作。最近我抽出时间仔细研究了一下,看看哪里出了问题,但我还是一头雾水,所以如果有人知道该怎么做,我希望能得到帮助。
本质上,我有一种用 OpenVPN 制作的 VPN 网关(指南:https://github.com/mr-canoehead/vpn_client_gateway/wiki/Installation-Guide) 它将我的 Raspberry Pi 永久连接到 Mullvad,我只需选择一个位置。
我设置了一个 WireGuard 连接,它将创建双跳并在路由器上打开端口转发。然后我连接到 WireGuard,这意味着我也通过 OpenVPN 连接。
我做了一些测试,结果如下:
- 如果我从 LAN 内部连接,即当我的手机或笔记本电脑使用 WiFi 时,双跳连接就可以工作。
- 当我从 WAN 连接时,即当我的手机处于 4G 连接时(握手失败),我无法连接到 WireGuard。
- 我能连接到我的 WireGuard,如果我指示 OpenVPN Gateway 断开其 VPN 连接,它就能正常工作。
这让我相信这是一个路由问题。我研究过这个问题,但找不到正确的解决方案。我已将以下内容添加到我的 OpenVPN conf 文件中:
#Exception for the LAN
route 10.0.1.0 255.255.255.0 10.0.1.1
route 170.178.190.196 255.255.255.255 net_gateway
route 10.0.1.1 255.255.255.255 net_gateway
我不记得第一行是干什么的了,我相信它和我现在想做的事情差不多。第二行是 DDNS 工具,所以它可以检查我的 IP 在 VPN 连接之外是什么,并将其报告给 Cloudflare。第三行应该是让 LAN 设备在从外部连接时可用,但我不确定。
我可能是错的,但我很确定我只需要在这里修复一些东西,因为我有它工作的情况,如上所述。在我看来,当 OpenVPN 连接处于活动状态时,WireGuard 无法看到我的 Raspberry,因为它现在由于 VPN 连接而处于不同的 IP 上。不过,我可能是错的。
如果我需要从我的配置中发布任何其他信息,请告诉我!