例如,我可以在连接到路由器的计算机上运行 Web 服务器,这表明它没有公共 IP 地址。我如何从其他客户端或服务器向它发送数据?
Web 套接字看起来很有前途,但我想要的是一个在命令行中支持良好的解决方案,并且不需要更改路由器上的设置,例如端口转发。
答案1
转发端口
端口转发是迄今为止最简单的解决方案。
反向 SSH 隧道
另一种方法是使用第三方可公开访问的服务器作为中继。您必须从 Web 服务器发起到此第三方服务器的连接(因为您的路由器会阻止入站连接),然后使用该连接通过第三方服务器中继 HTTP 流量。
这几乎肯定可以使用 SSH 隧道
我经常需要访问防火墙后面的机器进行一些 Web 开发,但我没有可用的 VPN。没问题——只需使用反向 SSH 隧道即可。在本教程结束时,我们将能够通过 SSH 连接到远程服务器,以及查看服务器有权访问的任何网页。
(我强调)
答案2
作为 ssh 隧道的替代方案,您可能需要考虑使用 ipv6 隧道。我使用gogo6/freenet6 作为 ipv6 提供商(尽管还有其他提供商)。在 Windows 上,客户端通常可以正常工作。在 Linux 上,您需要编译客户端。完成此操作后,您可以通过任何支持 ipv6 的系统访问系统。
建立 IPv6 隧道的优点是,您可以像处理常规的公共 IP 地址一样处理它。