是否可以使用具有静态 IP 地址的服务器来代理两个分别位于 NAT 后面的客户端之间的直接连接?
我已使用 autossh 和端口转发来建立连接通过服务器,但是我思考这意味着客户端之间的任何交互都会消耗服务器资源(转发数据包和带宽的计算开销)。我无法亲自测试,因为我目前无法访问其中一个客户端。
我想象发生的事情(我拥有 A、B 和服务器,因此无论哪个客户端先连接,都可以等待另一个客户端连接):
client A -----> server <----- client B
我认为反向隧道方法是这样的:
A sends packet -----> server,
server receives packet,
server sends packet -----> B,
B receives packet
反之亦然。我想要的是:
A connects -----> server (connection stays open until B connects)
B connects -----> server (server tells B about A)
A and B can communicate bidirectionally while the connection stays open
(若断开连接A和B可以重复连接步骤)
我认为这一定是可能的(这难道不是 P2P 协议的工作方式吗?)但我不知道如何设置。