假设有 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。