¿Hay alguna manera de detectar servidores de almacenamiento en caché?

Necesito averiguar si hay servidores de almacenamiento en caché OSX/iOS en varias redes diferentes, e instalar un servidor de almacenamiento en caché donde sea necesario. Pero dado que el servicio de almacenamiento en caché en un servidor Mac es una caja negra, no hay mucha información disponible sobre cómo funciona.

Sé que si tengo acceso a un servidor, es trivial verificar si el almacenamiento en caché está activado en el software del servidor. Estoy buscando, digamos, un puerto para escanear, o una marca que se establece en las tiendas de aplicaciones de los dispositivos cliente que se puede verificar, o algo en los registros de firewall para buscar. Hay tan poca información por ahí que no puedo decir exactamente por dónde empezar.

Tengo acceso remoto a al menos un Mac Mini sin periféricos en cada red.

Respuestas (2)

Abra una terminal y pruebe AssetCacheLocatorUtil. Creo que acaba de introducirse en Sierra.

 NAME
         AssetCacheLocatorUtil -- Utility for reporting Caching Service information

    SYNOPSIS
         AssetCacheLocatorUtil

    DESCRIPTION
         AssetCacheLocatorUtil reports information related to OS X Server Caching Servers running on the machine or on the local network.

         The information that AssetCacheLocatorUtil reports depends on the user running it.  It might produce different results for differ-
         ent users, including the superuser.  It also depends on the current network configuration and on whether it is run in a GUI ses-
         sion or not.

         AssetCacheLocatorUtil reports the following information:

         Availability hint
                       The system can save a hint about whether or not there might be caching server(s) on the local network.
                       AssetCacheLocatorUtil prints that saved hint if it is available.

         Saved servers
                       The system can save information about caching server(s) it has previously found on the local network.
                       AssetCacheLocatorUtil prints that saved information if it is available.

         Refreshed servers
                       AssetCacheLocatorUtil forces the system to look up caching server(s) on the local network and refresh the saved
                       information above.  It then prints the results.

No directamente antes de Sierra en macOS. En Sierra y versiones posteriores, ejecute AssetCacheLocatorUtildesde cualquier shell de Unix (en la terminal u otra aplicación)

Incluso hemos encontrado una manera de saber después del hecho si una actualización provino del caché o de Apple en el lado del cliente mirando los registros en lugar de rastrear las conexiones de red y el tráfico.


Aquí están la Sierra y detalles posteriores.

Consulte la infraestructura de actualización de Apple y verifique si hay puntos de almacenamiento en caché locales para actualizaciones, descargas de aplicaciones y/o datos de iCloud y también verifica la conectividad y el servicio.

AssetCacheLocatorUtil

La página del manual está bastante bien escrita y cubre muchos de los detalles. A continuación se presentan algunas observaciones de antes de que existiera esta herramienta para ayudar.

Los servidores escuchan en puertos algo aleatorios: mis dos servidores de almacenamiento en caché actualmente escuchan en los puertos 49558 y 51858

Supongo que podría escanear los puertos de todos los servidores e intentar deducir cuáles están usando el servidor OS X en general y luego probar exhaustivamente todos los puertos superiores con la suposición de que un solo puerto superior abierto podría ser un servidor de almacenamiento en caché.

Puede solicitar a un servidor que le diga el puerto que está ejecutando:

sudo serveradmin fullstatus caching | grep Port

Los clientes se registran directamente con Apple, Apple se da cuenta de la dirección IP pública de la que provienen los pagos. A continuación, realiza dos comprobaciones:

  • qué servidores se han registrado y se están ejecutando desde esa misma dirección IP pública
  • ¿Existen registros PRS en el DNS público para la dirección IP pública que ha utilizado el cliente y si otro servidor de almacenamiento en caché podría atender esa dirección IP?

Luego responde al cliente para solicitar el activo de los servidores que son locales para la IP. Si ese servidor de almacenamiento en caché no tiene el activo, lo solicita y se lo pasa al cliente. Si el cliente no obtiene sus activos, hay un mecanismo de reintento para obtener el activo directamente desde la CDN de Apple, por lo que, según mi experiencia, no siempre obtiene cosas de los servidores de almacenamiento en caché.

También puede hacer una lista de servidores que tienen habilitado el acceso remoto, escuchando en el puerto 311/asip-webadmin o recopilando el estado de cada servidor periódicamente:

sudo serveradmin settings info | grep enableRemoteAdministration