Non directement avant Sierra sur macOS. Sur Sierra et ultérieur, exécutez le AssetCacheLocatorUtil
à partir de n'importe quel shell unix (dans le terminal ou une autre application)
Nous avons même trouvé un moyen de savoir après coup si une mise à jour provenait du cache ou d'Apple du côté client en examinant les journaux au lieu de renifler les connexions et le trafic réseau.
Voici les détails pour Sierra et ultérieur.
Interrogez l'infrastructure de mise à jour d'Apple et vérifiez si des points de mise en cache locaux pour les mises à jour, les téléchargements d'applications et/ou les données iCloud sont présents, et vérifiez également la connectivité et le service
AssetCacheLocatorUtil
La page manuelle est plutôt bien écrite et couvre beaucoup de détails. Voici quelques observations d'avant l'existence de cet outil pour aider.
Les serveurs écoutent sur des ports quelque peu aléatoires – mes deux serveurs de mise en cache écoutent actuellement sur les ports 49558 et 51858
Je suppose que vous pourriez scanner tous les serveurs et essayer de déduire lesquels utilisent OS X server en général, puis sonder exhaustivement tous les ports plus élevés en supposant qu'un seul port plus élevé ouvert pourrait être un serveur de mise en cache.
Vous pouvez demander à un serveur de vous indiquer le port sur lequel il fonctionne :
sudo serveradmin fullstatus caching | grep Port
Les clients se connectent directement à Apple, Apple remarque l'adresse IP publique à partir de laquelle les requêtes sont émises. Il effectue ensuite deux vérifications :
- quels serveurs se sont connectés et fonctionnent à partir de cette même adresse IP publique
- y a-t-il des enregistrements PRS dans le DNS public pour l'adresse IP publique utilisée par le client et si un autre serveur de mise en cache pourrait servir cette adresse IP.
Il répond ensuite au client pour demander le contenu au(x) serveur(s) qui sont locaux à l'adresse IP. Si ce serveur de mise en cache n'a pas le contenu, il le demande et le transmet au client. Si le client ne reçoit pas le contenu, il y a un mécanisme de réessai pour obtenir le contenu directement depuis le CDN d'Apple, donc vous n'obtenez pas toujours les choses à partir des serveurs de mise en cache en fonction de mon expérience.
Vous pourriez également être en mesure de dresser une liste des serveurs ayant l'accès à distance activé - écoutant sur le port 311/asip-webadmin ou en collectant périodiquement le statut de chaque serveur :
sudo serveradmin settings info | grep enableRemoteAdministration