无需端口转发即可访问网络服务器

无需端口转发即可访问网络服务器

我有一个具有以下结构的网络。

在此处输入图片描述

PC2 中的服务器是 8080 端口的简单套接字服务器 TCP。

我需要通过套接字客户端从其他外部网络访问 PC2。此套接字客户端知道公网 IP(85.xxx.xxx.x)、私网 IP(192.168.0.21)和端口。

如何在没有路由器端口转发的情况下访问 PC2?

如果可能的话,我希望有任何编程语言可以对此案例进行参考。

附加信息

答案1

如何在没有路由器端口转发的情况下访问 PC2?

假设有一个 NAT 路由器(在 192.168.0.0/24 内部网络的情况下几乎可以肯定),如果没有路由器上的端口转发功能,您就无法执行此操作。或者类似的东西。

例如,如果您可以通过 SSH 连接到路由器,然后连接到服务器,则可以使用 SSH 隧道(这是一种端口转发形式)。

您还可以让 PC2 通过 SSH 连接到公共服务器并在那里提供隧道端点。(您可能需要 netcat 或 socat 之类的工具来协助完成此操作)

一般来说,在路由器上进行端口转发是可行的方法。


NAT 穿越协议

有方法可以实现这种通信而无需手动配置端口转发,但它们通常依赖于路由器支持和/或外部连接代理。

一般的

具体的


我希望有这种情况下的任何编程语言的参考

如果您在两端编写软件,那么可能有很多示例可以遵循。

例如,参见

相关内容