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

5

Necesito averiguar si hay servidores de almacenamiento en caché OSX / iOS en varias redes diferentes, y colocar un servidor de almacenamiento en caché donde sea necesario. Pero como el servicio de almacenamiento en caché en un servidor Mac es bastante negro, 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 pueden verificarse, o algo en los registros de firewall para buscar. Hay tan poca información que no puedo decir exactamente por dónde empezar.

Tengo acceso remoto a al menos un Mac Mini sin cabeza en cada red.

    
pregunta JWBH 20.10.2015 - 01:07

2 respuestas

5

Abra un terminal y pruebe AssetCacheLocatorUtil, creo que se acaba de introducir 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.
    
respondido por el joat 06.01.2017 - 16:49
4

No directamente antes de Sierra en macOS: incluso no he encontrado una forma de saber si una actualización vino de la caché o de Apple en el lado del cliente mirando los registros en lugar de rastrear las conexiones de red y el tráfico.

En Sierra y versiones posteriores, puede consultar la infraestructura de actualización de Apple y comprobar si existen puntos de almacenamiento en caché locales para las 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 hay algunas observaciones de antes de que esta herramienta estuviera disponible para ayudar.

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

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

Puede solicitar un servidor para informarle el puerto que se está ejecutando:

sudo serveradmin fullstatus caching | grep Port

Los clientes se comunican directamente con Apple, Apple se da cuenta de la dirección IP pública de la que provienen las solicitudes. Luego hace dos comprobaciones:

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

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

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

sudo serveradmin settings info | grep enableRemoteAdministration
    
respondido por el bmike 29.11.2015 - 18:05

Lea otras preguntas en las etiquetas