我正在设置一些am和容器,并相应地划分一些专用网络范围。
假设我将客人分为“前端”(192.168.100.0/24)和“后端”(192.168.200.0/24)网络(有些可能同时访问这两个网络)。“前端”网络使用NAT,因此客人可以通过NAT访问互联网。然而,有些VM应该是一样分离的,因此“后端”网络只允许在该网络上的来宾和主机之间进行访问。DNS查询也将受到严格限制,以及来自这些客人的传出流量。
现在假设我在192.168.200.1 (后端)上运行了一个apt-cacher-ng实例,它恰好是主机。名称apt-cacher.backend.local解析为该IP地址,并且没有其他访问限制。
如果我要在VM的sources.list中调整所有的/etc/apt片段,请从:
deb http://us.archive.ubuntu.com/ubuntu/ focal main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ focal main restricted..。(用讨厌的方式):
deb http://apt-cacher.backend.local:3142/us.archive.ubuntu.com/ubuntu/ focal main restricted
deb-src http://apt-cacher.backend.local:3142/us.archive.ubuntu.com/ubuntu/ focal main restricted..。或者为APT选择稍微干净的配置节:
Acquire::http { Proxy "http://apt-cacher.backend.local:3142"; };因此,总结事实:
apt-cacher.backend.local (= 192.168.200.1)和“后端”VM可能需要的任何名称都会很好地解决问题,其他任何名称都不会。apt-cacher-ng将在192.168.200.1:3142上运行收听apt-cacher-ng实例。我的系统能以这种方式更新所有的软件包吗?(不,不会使用其他软件,否则我会自己打包。)
奖金问题:
https://的包回购?例如,“简单地”将各自的包镜像到不使用https://的本地回购协议中是否可行?发布于 2020-04-19 09:22:11
我知道你想要完全限制后端对外界的访问。主机在192.168.200.1是后端的一部分。
Your idea可以工作,但是ACNG主机还需要访问上游存储库来代理后端包的请求(至少我理解您是这样做的)。因此,主机也需要成为前端的一部分,或者有其他连接互联网的方式。或者,您可以预加载所有必要的包到acng主机回购。不过,这看起来是一个麻烦的解决方案,但收益微乎其微。
我建议您查看/etc//后端*文件,以硬连接将使用哪些上游服务器。
我还建议您在VM上安装鱿鱼-deb-代理-客户端包。这将允许您对VM进行完全透明的配置,而无需修改/etc/apt/Sourcees.list。魔法通过avahi和/etc/apt/apt.conf.d/30自动代理实现。从一个VM运行/usr/share/squid-deb-proxy-client/apt-avahi-discover,以确保您获得ACNG主机的IP。
如果您将后端机器/VM上的sources.list文件更改为apt-cacher.backend.local,则无需进一步更改。如果您将us.archive.ubuntu.com放在那里,那么您需要通过DNS解决这个问题(它基本上可以解析到您喜欢的任何IP,因为请求将被代理到ACNG主机)。
通过https为上游repos提供服务将需要附加配置。
Some在一天后添加了其他注意事项
"Acquire::http::Proxy::$host "DIRECT";。这将绕过acng代理。就我个人而言,我已经将这个文件包含在我安装在所有机器上的配置deb文件中,它是我从$host提供的文件之一。该配置deb-文件在/etc/apt/Sourcees.list.d/Private.list中有另一个配置片段,其中包含指向reprepro存储库的deb http://$host/repo/debs/ generic private。也许这对你也有好处。avahi-browse或/usr/share/squid-deb-proxy-client/apt-avahi-discover列出了一个apt_proxy服务的多个实例,您可能会遇到一个问题,这取决于您VM的版本。https://askubuntu.com/questions/1226857
复制相似问题