将任何请求转发到特定端口上的另一台服务器

将任何请求转发到特定端口上的另一台服务器

假设有 3 台服务器。

服务器 A 在端口 88 上传输实时视频。服务器 B 从服务器 A 获取 10 个实时视频流。服务器 A -> 服务器 B 之间的连接速度为 20mbps。

服务器 C 可以通过内部路由以 100mbps 的速度连接到服务器 A。服务器 C 和 B 之间的连接速度也约为 20mbps。它不会干扰服务器 A<>服务器 B 的连接。

问题:在使用服务器 C 的连接时,是否可以从服务器 A 向服务器 B 获取另外 10 个流(需要 20mbps)。服务器 C 上需要做什么?隧道?

在服务器 B 上:当前配置

摄取 {服务器 A IP}:88/stream{stream01-10}

如果我想做的事情是可行的,那么服务器 B 上的最终配置将是这样的

fetch {Server A IP}:88/stream{stream01-10}
fetch {Server C IP}:88/stream{stream11-20}

图表在这里

答案1

谢谢欧姆我想到了。

这是我在服务器 C 上所做的。

iptables -t nat -A PREROUTING -p tcp --dport 88 -j DNAT --to-destination SERVERA-IP:88
iptables -t nat -A POSTROUTING -p tcp -d SERVERAIP --dport 88 -j SNAT --to-source SERVERC-IP

答案2

如果单个客户端在已知端口上发起 TCP 连接就足够了,您可以使用 iptables 通过 dnat+snat 将连接从服务器 C 转发到服务器 B。

相关内容