将流量转发到其他容器

将流量转发到其他容器

我在服务器上有一个lancachenet/monolithic容器,负责缓存 Windows 更新。
我还想缓存 Steam 和暴雪游戏,但是暴雪特别要求您在 DNS 记录中拥有 1 个以上的服务器,以加快下载速度,因为目前的下载速度不会超过 8MB/s。

我想要做的是在固定 IP 地址上创建几个容器,它们会将所有 80 和 443 请求简单地传递给主lancachenet/monolithic容器,基本上它们将充当哑直通路由器。

问题是,我无法在互联网上找到有关如何执行此操作的任何相关信息,除了serverfault 答案。

这是我的设置:

  1. DNS 服务器- 192.168.2.200
  2. LanCache 单片机- 192.168.2.201

以下是我想做的事情:
3.传递容器 #1- 192.168.2.202
4.传递容器 #2- 192.168.2.203
5.传递容器 #3- 192.168.2.204
6.传递容器 #4- 192.168.2.205

逻辑很简单:

  1. Steam Client@192.168.2.x 开始下载游戏
  2. 它查询服务器@192.169.2.200
  3. 服务器告诉客户端有 5 个地址可以解析为所查询的 FQDN
  4. Steam 使用全部 5
  5. 192.168.2.202/203/204/205 只是将数据传递到 192.168.2.201,然后获取响应并将其发送到 Steam 进行处理

之后,我将能够使用以下 IP 地址更新 DNS 服务器:直通容器,这将欺骗 Steam/Blizzard 认为有多个连接点可用,然而,所有的流量基本上都会通过一个容器进行路由,192.168.2.201因为直通容器只是将流量传递给它。

有人能帮我提供一下这种容器的最小工作示例吗?简单Dockerfile(最好基于 alpine:latest)或者甚至是现有 docker hub 页面的链接。

附言我正在 Unraid 服务器 6.8.3 上运行整个设置,所以也许有人可以分享一些 Unraid 特定的技巧来实现预期目标。

lancachenet/monolithic容器设置 在此处输入图片描述

lancachenet/lancache-dns容器设置 在此处输入图片描述

答案1

你看过 traefik 吗?-https://docs.traefik.io/

非常强大,并且易于在 docker 中设置,并且能够完成您所寻找的内容。

但是 - 默认情况下,docker 会监听服务器上的所有 IP - 所以如果我理解你想要做什么的话,只需向服务器添加多个 IP 就可以了。

相关内容