在家里,我有一台 Raspberry PI,我想让它通过互联网访问,但我的 ISP 阻止了端口转发。因此,我签署了一个允许端口转发的 VPN 服务。我将 Raspberry PI 配置为自动连接到 VPN,在 VPN 服务仪表板上添加了一个端口,一切工作正常。但是,我只想将 VPN 用于传入连接,让 Raspberry PI 流量继续通过我的 ISP 网关。我尝试了概述的解决方案这里。通过这样做,VPN 可以正常连接,流量继续通过默认网关(而不是 VPN),但传入连接停止工作。有什么办法可以实现我想要的效果吗?
答案1
Krzysztof Sawicki 的评论帮助我想出了一个解决方案。在 OVPN 文件中,我添加了以下行:
route-nopull
route 170.171.172.3 255.255.255.255 net_gateway
route 10.1.1.0 255.255.255.0 vpn_gateway
route 190.189.188.1 255.255.255.255 vpn_gateway # my work
route 190.189.188.2 255.255.255.255 vpn_gateway # another place
route 190.189.188.3 255.255.255.255 vpn_gateway # another website
- 第一行导致 OpenVPN 客户端不添加默认路由。
- 170.171.172.3 是 VPN 的 IP,我希望其始终通过默认网关进行通信。
- 10.1.1.0 是 VPN 子网,我希望其流量始终通过 VPN 网关。
- 190.189.188.1和190.189.188.2是可以远程访问Raspberry PI的位置。
- 190.189.188.3 是我想要通过 VPN 网关传输的任何网站
结论:确实不可能将端口暴露给整个互联网。但是,可以将此端口暴露给特定位置。而且这个解决方案对我来说很有效。