我在服务器上有一个lancachenet/monolithic
容器,负责缓存 Windows 更新。
我还想缓存 Steam 和暴雪游戏,但是暴雪特别要求您在 DNS 记录中拥有 1 个以上的服务器,以加快下载速度,因为目前的下载速度不会超过 8MB/s。
我想要做的是在固定 IP 地址上创建几个容器,它们会将所有 80 和 443 请求简单地传递给主lancachenet/monolithic
容器,基本上它们将充当哑直通路由器。
问题是,我无法在互联网上找到有关如何执行此操作的任何相关信息,除了这serverfault 答案。
这是我的设置:
- DNS 服务器- 192.168.2.200
- 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
逻辑很简单:
- Steam Client@192.168.2.x 开始下载游戏
- 它查询服务器@192.169.2.200
- 服务器告诉客户端有 5 个地址可以解析为所查询的 FQDN
- Steam 使用全部 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 特定的技巧来实现预期目标。
答案1
你看过 traefik 吗?-https://docs.traefik.io/
非常强大,并且易于在 docker 中设置,并且能够完成您所寻找的内容。
但是 - 默认情况下,docker 会监听服务器上的所有 IP - 所以如果我理解你想要做什么的话,只需向服务器添加多个 IP 就可以了。