我正在努力尝试了解如何使用 socat(或类似的 TCP 端口重定向器)在 PC 上公开防火墙服务。
这是场景:我有一台服务器 PC,它将充当两台客户端计算机之间的侦听“代理”/重定向器。服务器可以根据需要打开任意数量的防火墙端口,并有一个公共 IP。在第一个“客户端”(如建立到代理服务器的出站连接)客户端 A 上,我在端口 4200 上托管服务。这台 PC 位于防火墙后面,该防火墙仅允许基于先前出站连接的入站 TCP 连接。Client B 后面的防火墙也是如此。
我需要做的是让客户端 B 能够通过面向 Internet 的 TCP 代理服务器访问客户端 A 上的端口 42000。问题是我只能从客户端 A 启动出站 TCP 连接。当中继的两个客户端都位于只允许出站连接的防火墙之后时,我如何通过服务器重定向 TCP 连接?请查看下图并让我知道是否需要澄清。
------------
| Server |
|w/ public IP|
------------
/ \
{|<Firewall>|} {|<Firewall>|}
| |
---------- ----------
| Client A | | Client B |
---------- ----------
(hosting a service (wanting to access
on port 4200) Client A port 4200)
Run Code Online (Sandbox Code Playgroud)
我将不胜感激任何建议,谢谢。