Usar registros TXT de DNS con cachés de contenido para dispositivos Apple
Añadir registros TXT al archivo de zona DNS
Añade uno o más registros TXT al archivo de zona para el dominio local de tu servidor DNS. Añade el registro TXT de DNS a la zona que:
es autoritativa para el dominio,
coincide con el dominio de búsqueda por omisión de los clientes de la red.
Por ejemplo, si tu organización proporciona un servicio DNS para tu propio dominio y es la fuente de autoridad de los nombres de host de betterbag.com, coloca el registro TXT de almacenamiento en caché en el archivo de zona “betterbag.com”.
Importante: Si no alojas el servicio DNS autoritativo para tu dominio, no podrás añadir el registro TXT tú mismo. Ponte en contacto con tu proveedor de DNS para que añada el registro TXT proporcionado.
Si utilizas un servidor DNS BIND9 copia el registro TXT que se genera y pégalo en el archivo de zona DNS.
En el caso del servidor DNS BIND9 en Linux, este archivo se encuentra en el directorio /private/etc/bind/ y el nombre del archivo está definido en /private/etc/bind/named.conf (muy probablemente, “db.betterbag.com”).
Si utilizas Windows DNS, realiza una de estas operaciones:
Si has generado el registro de texto con el servicio de almacenamiento en caché de contenido: Sustituye la variable ZoneName del comando generado por el nombre de zona DNS de tu red y después ejecuta el comando en el ordenador Windows DNS.
Si has generado el registro de texto manualmente: Introduce manualmente la información del registro TXT mediante las herramientas de administración de Windows Server.
Usar registros TXT DNS para publicar contenido en caché en varias direcciones IP públicas
Si tu red utiliza varias direcciones IP públicas para conectarse a internet, de modo que una caché de contenido pueda registrarse con una dirección diferente a la que utiliza un cliente para la detección, debes proporcionar una lista de estas direcciones tanto a la caché de contenido como a los clientes. Apple utiliza estas listas para cruzar las solicitudes de registro y detección que impliquen varias direcciones IP públicas.
Para evitar la configuración manual de los clientes, el almacenamiento en caché de contenido utiliza registros TXT DNS a fin de publicar la información de direcciones IP públicas para los clientes de la red. El registro TXT debe publicarse en el dominio de búsqueda DNS por omisión que utilicen tus clientes.
Con macOS 10.15 o posterior, también puedes especificar direcciones IP locales preferidas para reducir el impacto de las cachés que contengan otro contenido en la red. Si no se declaran direcciones IP locales favoritas en un registro TXT, todos los clientes usan cualquier caché de contenido disponible.
Los datos correctos para el registro TXT para los intervalos de direcciones IP públicas se pueden generar de forma automática o manual. En cualquier caso, tienes que editar el registro de DNS o proporcionar los ajustes a tu proveedor de DNS para que cree o edite el registro TXT en el archivo de zona. Ten en cuenta que no es posible generar informes TXT automáticamente para las direcciones IP locales favoritas; estos se deben crear manualmente.
Nota: Estos registros son necesarios solo para la red interna. El DNS externo no requiere el registro adicional.
Formato del registro TXT de DNS
Es posible que la sintaxis para especificar los registros TXT y los caracteres que no son ASCII en dichos registros sea diferente para tu servidor DNS. Los ejemplos que se representan aquí se utilizan solo a modo ilustrativo.
Los registros de texto de DNS para el almacenamiento en caché de contenido tienen el mismo formato que los registros TXT DNS-SD (pares clave-valor):
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
Usa las claves prs
y prn
para intervalos de direcciones IP públicas; usa las claves fss
y fsn
para intervalos de direcciones IP locales de cachés con contenido preferido.
Cada uno de los siguientes ejemplos define el mismo conjunto de dos intervalos de direcciones IP: un intervalo que empieza en 17.53.22.2 y termina en 17.53.22.254, y un intervalo que consta de una sola dirección IP, 17.53.23.1. La diferencia entre ellos es que el primer ejemplo usa la clave prs
y el segundo ejemplo, la clave prn
.
_aaplcache._tcp 10800 IN TXT "prs=17.53.22.2-17.53.22.254,17.53.23.1"
_aaplcache._tcp 10800 IN TXT
_aaplcache._tcp 10800 IN TXT "prn=\x24\x11\x35\x16\x02\x11\x35\x16\xfe\x14\x11\x35\x17\x01"
Las claves usan formatos diferentes para los intervalos de direcciones IP especificados en el valor:
prs o fss: El valor de la clave
prs
ofss
es una secuencia de intervalos separados por coma de direcciones IP en formato de presentación (notación ASCII con puntos). Esta sintaxis es para una configuración sencilla. Un intervalo consiste en una dirección IP única o en dos direcciones IP separadas por un guion.prn o fsn: El valor de la clave
prn
ofsn
es una secuencia de intervalos concatenados de direcciones IP en formato binario en el orden de bytes de red. Esta sintaxis es para secuencias de intervalos que son demasiado largas para un registro DNS cuando se especifica en formato de presentación. Cada intervalo de la secuencia está precedido por un byte que especifica el tipo de intervalo que se detalla a continuación:0x14 indica una dirección IPv4 única.
0x24 indica un intervalo de direcciones IPv4 de inicio y final.
Puedes encadenar varios registros entre sí. Si lo haces, asigna el nombre _aaplcache._tcp
al primer registro y los nombres del _aaplcache1._tcp
al _aaplcache24._tcp
a los registros posteriores, hasta un máximo de 25 registros encadenados.
Para mantener la compatibilidad con clientes que usan macOS 10.14 o anterior, coloca los registros que usen claves prs
o prn
antes de cualquier registro que use las claves fss
o fsn
.
Encadena los registros entre sí mediante la colocación de un marcador de continuación en todos ellos excepto en el último registro TXT.
Las sintaxis de prs
y prn
pueden estar mezcladas entre los registros de la cadena. En el caso de la sintaxis de prs
, añade “,more
” al final de valor del registro. En el caso de la sintaxis de prn
, añade “+
” (0x2b) al final de valor del registro. El primer registro en el que no aparezca un marcador de continuación terminará la cadena.
Los registros encadenados se resuelven en lotes de cinco a la vez; es decir, el registro “_aaplcache._tcp
” y del “_aaplcache1._tcp
” al “_aaplcache4._tcp
” se resuelven primero en paralelo. Si todos terminan con marcadores de continuación, los registros del “_aaplcache5._tcp
” al “_aaplcache9._tcp
” se resolverán después, y así sucesivamente.
A continuación, se muestra un ejemplo de tres registros encadenados:
_aaplcache._tcp 10800 IN TXT "prs=17.250.1.1,17.250.2.1-17.250.2.254,more"
_aaplcache1._tcp 10800 IN TXT "prn=\x24\x11\xfa\x03\x01\x11\xfa\x03\xfe+"
_aaplcache2._tcp 10800 IN TXT "prs=17.250.4.5"
Ejemplo 1
Este ejemplo demuestra una situación en la que se requieren ambos registros prs
o prn
y un registro fss
o fsn
.
Supongamos que ya tienes un informe TXT de DNS llamado “_aaplcache._tcp
”con los valores “prs=203.0.113.10-203.0.113.19
” y tres cachés de contenido implementadas con las direcciones locales 10.0.0.30, 10.1.0.30 y 10.2.0.30. Las dos primeras incluyen solamente contenido compartido y la última contiene contenido compartido y de iCloud.
Para evitar que los clientes usen caché de contenido sin autorizar, puedes añadir “,more
” a ese registro y agregar un segundo registro, así:
_aaplcache._tcp prs=203.0.113.10-203.0.113.19,more
_aaplcache1._tcp fss=10.0.0.30,10.1.0.30,10.2.0.30
Siempre que, como mínimo, una de las tres cachés utilice este método, los dispositivos que tengan iOS 13, iPadOS 13.1, macOS 10.15 y tvOS 13 (o versiones posteriores) las utilizan exclusivamente al buscar contenido compartido. Si ninguna de los tres está conectada, los clientes que busquen contenido compartido pueden usar cualquier caché de contenido disponible.
Siempre que 10.2.0.30 utilice este método, los dispositivos que tienen iOS 13, iPadOS 13.1, macOS 10.15 y tvOS 13 (o versiones posteriores) lo usan exclusivamente al buscar contenido de iCloud. Si no está conectado, los clientes que busquen contenido de iCloud utilizan la caché de contenido disponible.
Los dispositivos con iOS 12 (o anterior) y macOS 10.14 (o anterior) utilizan cualquier caché de contenido disponible, no solo esas tres.
Ejemplo 2
Este ejemplo demuestra una situación en la que no se requieren registros prs
o prn
.
Supongamos que ya dispones de una dirección IP pública y que no utilizas el registro TXT de DNS para nada, pero que dispones de varias cachés de contenido en una subred reservada para las máquinas del servidor (192.168.50/24).
Para evitar las cachés de contenido no autorizadas, puedes ajustar un registro así:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
Siempre que, como mínimo, haya una caché de contenido disponible en ese intervalo para el tipo de cliente que busca (compartida o de iCloud), los clientes de iOS 13, iPadOS 13.1, macOS 10.15 y tvOS 13 (o versiones posteriores) usan esa caché de contenido exclusivamente.