![获取 repo 服务器的 IP 白名单(Ubuntu 16.04)](https://linux22.com/image/1163067/%E8%8E%B7%E5%8F%96%20repo%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%20IP%20%E7%99%BD%E5%90%8D%E5%8D%95%EF%BC%88Ubuntu%2016.04%EF%BC%89.png)
我们在美国各地部署了各种 Ubuntu 设备。我们最近遇到了一些情况,我们收到了需要运行更新的存储库的 IP 白名单(而不是 FQDN 白名单)请求(我们试图避免托管自己的白名单,因为这有其自身的挑战)。
看一下服务器现在能达到的范围,我看到了以下情况:
root@VamLab-Server:/etc# dig +short $(grep -Pho '^\s*[^#].*?https?://\K[^/]+' /etc/apt/sources.list /etc/apt/sources.list.d/*.list | sort -u) | sort -u
91.189.88.149
91.189.88.152
91.189.88.161
91.189.88.162
91.189.91.23 <--both security and archive
91.189.91.26 <--both security and archive
root@VamLab-Server:/etc# cat /etc/apt/sources.list | grep -v "#"
deb http://us.archive.ubuntu.com/ubuntu/ xenial main restricted
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
有没有办法从 Ubuntu 获取正式的静态列表?我知道建议使用 FQDN 白名单,但我们的一些客户要么缺乏硬件,要么缺乏添加所需 FQDN 规则的能力。有时我们的客户可能需要数周时间才能添加防火墙规则,因为这需要他们通过他们的 IP 部门,所以我们试图看看能否在这些步骤之前解决客户挫败感和技术支持时间问题。
提前致谢!
答案1
管理这个问题的最简单的方法可能是为您的网站配置一个私人镜像,甚至是一个私人代理服务器。
公共镜像可能会在未经通知的情况下更改 IP,不允许您访问更新。运行您自己的镜像或代理,允许您在该代理的 URL 级别列入白名单,并允许该代理的 IP 通过防火墙。
你可能想看看apt-缓存运行缓存存储库,或者你可以运行经典代理,例如 Squid,以及仅有的例如允许 *.ubuntu.com 作为目的地。
与尝试维护可靠的 IP 列表相比,您在这种方法上花费的时间可能更少。
虽然您可能能够拼凑出当前的 IP 列表,但 Canonical 或运行镜像的其他方可能不会向您保证他们不会随意更改 IP。毕竟,这就是拥有 DNS 的原因:灵活性。
这可能会持续数周没有更新。在我看来,这显然是不可接受的。要么运行自己的、白名单的、代理的,要么运行私人镜像。