我有一个有点独特的狮子服务器设置,但它遇到了一些问题。
主要目标是为网络上的计算机提供透明的更新服务器,但允许它们在不在办公室时默认回到苹果的服务器(即零客户端更改)
在我的办公网络中,我有一个 DNS 条目将 swscan.apple.com 指向我的 mac 服务器,因此所有本地 mac 都在查看该服务器以获取更新。
在 Mac 服务器本身上,我有如下的 /etc/hosts:
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
17.250.248.95 swscan.apple.com
17.250.248.93 swquery.apple.com
74.203.241.19 swcdn.apple.com
74.203.241.25 swcdn.apple.com
当本地 mac 对 swscan 执行 ping 操作时,它们会按预期解析为本地服务器。当 mac 服务器对 swscan 执行 ping 操作时,它会按预期解析为苹果。
如果我在 Mac 服务器上选择苹果菜单/软件更新,它会按预期检查苹果服务器是否有更新。
然而,软件更新服务却给我一个“无法连接到苹果”的错误。
有人有什么见解吗?我知道这种设置不是“苹果方式”,但对我的网络来说效果最好。
答案1
嗯,看看这篇知识库文章,我认为您可以编写一些客户端脚本来调整他们查找更新的位置?如果您查看底部的非托管客户端部分,它会提供两个命令,您可以运行这些命令让客户端查找您的服务器以获取更新以及如何将它们更改回 Apple 的服务器。也许您可以编写一个运行的脚本,cron
尝试检测它们是在网络内部还是外部。根据发现,您可以将它使用的服务器更新为适当的服务器。
有了这样的东西,您可以设置软件更新服务按预期运行,并放弃您尝试执行的所有 DNS / 主机文件巫术。
答案2
糟糕,糟糕的想法。
未经检查,我的猜测(并希望)是与 Apple 更新服务器的连接使用某种身份验证来确保系统确实在与 Apple 的服务器通信。原因是 Apple 确实需要阻止这种尝试,因为这可能是攻击者试图耍花招。由于您的情况swscan.apple.com
肯定不是 Apple,因此这确实需要失败。
答案3
啊哈!一切都弄清楚了,而且它运行完美、透明。
教程和所需软件包就在这里
谢谢你们的帮助!