Networking 通过防火墙的客户端到客户端

Networking 通过防火墙的客户端到客户端,networking,translation,ip-address,Networking,Translation,Ip Address,一个广泛的问题 我们有一个客户端应用程序,它当前与一个web服务对话,以在两个客户端之间交换数据。第一个客户机将数据存储在服务上,其他客户机稍后轮询服务以收集数据 我们希望稍微改变一下这个基础设施,因为客户端将连接到提供IP和端口的服务,他们将“发言”。当客户端A希望向客户端B发送数据时,它将在服务上查找客户端B的IP和端口,然后将数据直接发送到该IP和端口 在公共防火墙和NAT后面存在多个客户端的情况下,我的直觉是需要为每个客户端配置端口转发,以便防火墙公共IP ie公共端的入站消息可以路由到

一个广泛的问题

我们有一个客户端应用程序,它当前与一个web服务对话,以在两个客户端之间交换数据。第一个客户机将数据存储在服务上,其他客户机稍后轮询服务以收集数据

我们希望稍微改变一下这个基础设施,因为客户端将连接到提供IP和端口的服务,他们将“发言”。当客户端A希望向客户端B发送数据时,它将在服务上查找客户端B的IP和端口,然后将数据直接发送到该IP和端口

在公共防火墙和NAT后面存在多个客户端的情况下,我的直觉是需要为每个客户端配置端口转发,以便防火墙公共IP ie公共端的入站消息可以路由到相应的客户端。由于我们的应用程序旨在屏蔽“技术”细节,我们希望尽可能避免这种情况。一个警告是,我们很高兴客户端必须在防火墙上打开一个端口,但要避免设置端口转发的额外步骤

希望这是有意义的,请随时要求澄清

-编辑- 我们知道UPnP,但由于它在某些路由器上不可用,以及某些公司环境不允许UPnP,因此UPnP对我们来说不是一个入门产品

谢谢


Simon

大多数家庭路由器提供UPnP接口,允许应用程序设置端口转发,而无需用户执行任何操作。根据路由器型号的不同,他们可能需要在路由器上启用它,通常是在某些配置屏幕中的复选框。

谢谢。。是的,UPnP是一种可能性,但由于它在许多公司网络上不受支持,并且在某些路由器上被禁用或根本不可用,因此它对我们来说不是一个可行的解决方案。谢谢你的回复。企业网络?您将无法覆盖公司网络安全策略并以编程方式打开其路由器和防火墙上的端口。充其量,您可以宣传内部网络IP,即主机的真实IP和NAT IP—当它们连接到Internet上的服务器时所看到的IP,然后尝试在两者上进行连接。如果两个客户端都位于同一防火墙后面,那么它们可能能够在主机IP上进行连接。另一种选择是让每个人都连接到云服务器,并通过云服务器进行中继。