Usar registros DNS TXT con cachés de contenido en dispositivos Apple
Agregar registros TXT al archivo de zona DNS
Agrega uno o más registros TXT al archivo de zona para tu dominio local en el servidor DNS. Agrega el registro DNS TXT a la zona que:
Sea autoritativa para el dominio;
Coincida con el dominio de búsqueda de forma predeterminada para los clientes de red
Por ejemplo, si tu organización proporciona servicio DNS para tu propio dominio y es la fuente de autoridad para los nombres de los hosts de betterbag.com, debes poner el registro TXT de caché en el archivo de zona de betterbag.com.
Importante: si no alojas el servicio DNS autoritativo para tu dominio, no puedes agregar el registro TXT por ti mismo. Coordina con tu proveedor de DNS para que agregue el registro TXT que le proporciones.
Si usas un DNS BIND9, copia el registro TXT generado y pégalo en el archivo de zona DNS.
En los servidores DNS basados en BIND9 en Linux, este archivo está en la carpeta /private/etc/bind/, y el nombre de archivo de la zona ha sido definido en /private/etc/bind/named.conf (probablemente, “db.betterbag.com.”).
Si usas DNS de Windows, realiza una de las siguientes operaciones:
Si generaste un registro de texto usando el servicio de contenido en caché: reemplaza la variable ZoneName en el comando generado con el nombre de la zona DNS de tu red y ejecuta el comando en tu computadora DNS Windows.
Si creaste el registro de texto de forma manual: ingresa la información de registro TXT manualmente usando las herramientas de administración de Windows Server.
Usar registros DNS TXT para publicar contenido en varias direcciones IP públicas
Si tu red usa varias direcciones IP para conectarse al Internet, de modo que una caché de contenido puede registrarse usando una dirección diferente a la que el cliente usa para la detección, necesitarás de proporcionar una lista de dichas direcciones tanto a la caché de contenido como una 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 configuración manual de los clientes, el almacenamiento de contenido en caché usa registros DNS TXT para publicar la información de la dirección IP pública para los clientes en la red. El registro TXT debe publicarse en el dominio de búsqueda DNS predeterminado que utilicen tus clientes.
Con macOS 10.15 o posterior, también puedes especificar direcciones IP locales preferidas para reducir el impacto de otras cachés de contenido en tu red. Si no hay direcciones IP locales preferidas en el registro TXT, todos los clientes pueden usar cualquier caché de contenido disponible.
Los datos correctos para el registro TXT de intervalos de direcciones IP públicas se pueden generar de forma automática o manual. En cualquier caso, necesitas editar el registro DNS o proporcionar la configuración a tu proveedor DNS para crear o editar el registro TXT en el archivo de zona. Toma en cuenta que no puedes generar automáticamente registros TXT para direcciones IP locales preferidas; sino que se deben generar de forma manual.
Nota: estos registros son necesarios sólo para la red interna. El DNS externo no requiere el registro adicional.
Formato de registro TXT de DNS
La sintaxis para especificar registros TXT y caracteres que no sean ASCII en registros TXT puede varía para el servidor DNS. Los ejemplos presentados aquí son únicamente ilustrativos.
Los registros de texto DNS del contenido en caché tienen el mismo formato que los registros DNS-SD TXT (pares de 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 los intervalos de direcciones IP locales de las cachés de contenido preferidas.
Los siguientes ejemplos definen cada uno el mismo conjunto de dos intervalos de direcciones IP: un intervalo que inicia en 17.53.22.2 y termina en 17.53.22.254, y uno que consta de una sola dirección IP, 17.53.23.1. La diferencia entre ellos es que el primero usa la clave prs
y el segundo utiliza 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 diferentes formatos para los intervalos de direcciones IP especificadas en el valor:
prs o fss: el valor de la clave
prs
ofss
es una secuencia de rangos separados por comas de las direcciones IP en formato de presentación (ASCII dot notation). La sintaxis es para una configuración fácil. Un rango consiste de una sola dirección IP o de dos direcciones IP separadas por un guión.prn o fsn: el valor de la clave
prn
ofsn
es una secuencia de rangos concatenados de las direcciones IP en formato binario en orden de byte de red. Esta sintaxis es para secuencias de rangos que no son demasiado largas para un registro DNS cuando son especificadas en formato de presentación. Cada intervalo en la secuencia está precedido por un byte que especifica el tipo de intervalo que sigue:0x14 indica una sola dirección IPv4.
0x24 indica un intervalo de direcciones IPv4 inicial y final.
Puedes concatenar varios registros juntos. Si lo haces, define el nombre del primer registro _aaplcache._tcp
y los registros subsecuentes desde _aaplcache1._tcp
hasta _aaplcache24._tcp
, para un máximo de 25 registros concatenados.
Para mantener compatibilidad con clientes que usan macOS 10.14 o anterior, coloca los registros que usan claves prs
o prn
antes de los registros que usan claves fss
o fsn
.
Concatena los registros uniéndolos con un marcador de continuación en todos excepto el último registro TXT.
Las sintaxis de prs
y prn
pueden estar mezcladas entre registros en la cadena. Con la sintaxis prs
, agrega “,more
” al final del valor de registro. Con la sintaxis prn
, agrega “+
” (0x2b) al final del valor de registro. El primer registro al que le falte dicho marcador de continuación termina la cadena.
Los registros concatenados se resuelven en lotes de cinco a la vez; es decir, primero se resuelven _aaplcache._tcp
y _aaplcache1._tcp
hasta _aaplcache4._tcp
al mismo tiempo. Si todos estos terminan con marcadores de continuación, entonces a continuación se resuelve de _aaplcache5._tcp
hasta _aaplcache9._tcp
, y así sucesivamente.
Aquí hay un ejemplo de tres registros concatenados:
_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 un escenario en el que se requieren los dos registros: uno prs
o prn
y uno fss
o fsn
.
Supón que ya tienes un registro DNS TXT con el nombre “_aaplcache._tcp
”, con el valor “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 sirven sólo para contenido compartido, y la último sirve tanto para contenido compartido como para iCloud.
Para evitar que los clientes usen una caché de contenido no autorizada, puedes agregar “,more
” a ese registro y agregar un segundo registro, como este:
_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 y cuando al menos una de las tres cachés de contenido use este método, los dispositivos con iOS 13, iPadOS 13.1, macOS 10.15 y tvOS 13 o versiones posteriores que busquen contenido compartido usan de forma exclusiva esas cachés de contenido. Si los tres están sin conexión, los clientes que busquen contenido compartido pueden usar cualquier caché de contenido disponible.
Siempre y cuando la dirección 10.2.0.30 use este método, los dispositivos con iOS 13, iPadOS 13.1, macOS 10.15 y tvOS 13 o versiones posteriores que busquen contenido de iCloud la usan de forma exclusiva. Si está sin conexión, los clientes que busquen contenido de iCloud utilizarán cualquier caché de contenido disponible.
Los dispositivos con iOS 12 o macOS 10.14 o versiones anteriores usan cualquier caché de contenido disponible, no sólo esas tres.
Ejemplo 2
Este ejemplo demuestra un escenario en el que no se requiere un registro prs
o prn
.
Supón que tienes una dirección IP pública y no usas la función de registros DNS TXT, pero tienes algunas cachés de contenido en una red secundaria reservada para servidores (192.168.50/24).
Para evitar cachés de contenido no autorizadas, puedes configurar un registro como este:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
Mientras al menos una caché de contenido esté disponible en el intervalo para el tipo de cliente que la busca (compartido o iCloud), los clientes con iOS 13, iPadOS 13.1, macOS 10.15, y tvOS 13, o versiones posteriores, usan la caché de contenido de forma exclusiva.