通过Debian服务器路由流量

网络工程 路由
2022-02-03 04:19:44

我正在开发软件,我有一个监听器和多个连接到这个监听器的客户端。在开发过程中,我硬编码了所有客户端连接到的侦听器 IP 地址,但是这对于最终版本是不可能的。监听器需要是可移植的,这意味着它将在不同的时间从不同的网络监听,不会被端口转发。所有通信都是 TCP,双向。

为了解决这个问题,我打算使用一个静态服务器作为监听器和客户端的中间人,这意味着客户端将连接到这个端口转发服务器,它将流量路由到监听器。侦听器随后还将连接到中间人,客户端和侦听器可以进行常规 TCP 通信。有没有一种不是非常耗时的方法来解决这个问题?

2个回答

我不确定您所说的“非常耗时”是什么意思,但您需要一些“中间人”设备来充当会面点。该设备可以在客户端之间转发流量,或者让设备知道彼此的地址。

如果这都在同一个局域网上,听起来你应该使用多播。您可以让服务器订阅特定的多播组(您可以向 IANA 注册一个 Ad Hoc 组,或者您可以使用 Organization-Local 范围内的组)。客户端可以通过向多播组发送消息以与服务器交换 IP 地址来找到服务器,然后可以使用该地址创建 TCP 连接。这样,您似乎不需要中间人设备。