我想要一个位于私人/公司网络防火墙后面的 RASPBERRY“服务器”,并且只打开 VPN PPTP
“在互联网上可见”
使用另一个网络(自己的网络/家庭 Fritzbox 网络),如果需要,可以在家庭网络上使用 RASPBERRY 中继(作为可配置的“中继”)。
我的想法:
通过端口 80 向 Fritzbox1(路由器 1)发出的查询 1 应转发到 Fritzbox1(家庭网络)后面的 RASPBERRY RELAY。
此 RASPBERRY RELAY 应通过互联网与另一个私有网络上的 RASPBERRY SERVER 相连(可以作为 VPN 客户端,也可以作为客户端连接到 RELAY(VPN 服务器)的 RASPBERRY SERVER)。
私人网络上的 RASPBERRY 服务器必须实际上处理原始Query1/Request。
问题:
A. 我是否必须将 RASPBERRY RELAY 配置为 VPN 服务器?这样就可以创建从 RASPBERRY SERVER 到 RASPBERRY RELAY 的反向连接(我认为这是一个干净的解决方案)。
B. SOCKS 代理(或任何其他 VPN 机制)有帮助吗?
欢迎提供粗略的想法和经验!
注意事项:
I. 私人网络仅支持 PPTP VPN,因此无法从 Fritzbox 直接建立 VPN 连接(它只能使用 IKEv1)。私人网络没有任何端口转发选项,仅支持通过 PPTP 作为客户端进行连接(这是已知的)。II. 我最终需要多个“端口”进行“中继”。比如 80、443、22 等。
注意:我对网络术语有点熟悉,但对 VPN 内部机制不太熟悉,也不清楚 RASPBERRY 如何通过 VPN 将流量转发到另一个网络上的计算机。我想用自己的方式配置一切,不使用公共 VPN 服务或任何第三方。所以如果有其他不同表述的问题,请指教!谢谢大家。
有关的:
ssh 反向代理?https://medium.com/dev-tricks/reverse-port-forwarding-220030f3c84a#.1quisbour
答案1
Raspi Relay 上不需要 VPN 服务器。通过 VPN 从客户端 Raspi 服务连接到 Fritzbox。在 Fritzbox 后面的 Relay Raspi 上将路由添加到 Raspi 服务,后者现在在 Fritzbox 网络中具有本地 IP。
iptables -t nat -A PREROUTING -p tcp --match multiport --dports 22,80,443,3389 -j DNAT --to-destination <IP_RASPI_SERVICES_IN_FRITZBOX_LAN>:22,80,443,3389
iptables -t nat -A POSTROUTING -p tcp -d <IP_RASPI_SERVICES_IN_FRITZBOX_LAN> --match multiport --dports 22,80,443,3389 -j SNAT --to-source <IP_RELAY>
就是这样。无需 VPN 服务器或 Nginx 代理。