Usar registros TXT de DNS com caches de conteúdo para dispositivos Apple
Adicionar registros TXT ao arquivo de zona DNS
Adicione um ou mais registros TXT ao arquivo de zona para o domínio local ou servidor DNS. Adicione o registro TXT DNS à zona que:
É oficial para o domínio
Corresponde ao domínio de busca padrão para clientes da rede
Por exemplo, caso a empresa forneça serviço de DNS para o seu próprio domínio e seja a fonte de autoridade dos nomes de host para betterbag.com, coloque o registro TXT de cache no arquivo de zona betterbag.com.
Importante: se você não for o host do serviço DNS oficial para seu domínio, não poderá adicionar o registro TXT por conta própria. Peça ao seu fornecedor DNS para adicionar o registro TXT fornecido.
Se você usar DNS BIND9, copie o registro TXT gerado e cole-o no arquivo de zona DNS.
No caso de um DNS baseado em BIND9 no Linux, esse arquivo se encontra no diretório /private/etc/bind/ e o nome do arquivo de zona foi definido em /private/etc/bind/named.conf (provavelmente, “db.betterbag.com.”).
Se você usa Windows DNS, execute uma das seguintes ações:
Se você gerou o registro de texto usando o serviço de cache de conteúdo: substitua a variável ZoneName no comando gerado com o nome da zona DNS da rede e execute o comando no computador DNS Windows.
Se você criou o registro de texto manualmente: insira as informações do registro TXT manualmente através das ferramentas de administração do Windows Server.
Usar registros TXT de DNS para publicar conteúdo em vários endereços IP públicos
Se a rede usa vários endereços IP públicos para se conectar à internet, o que pode fazer com que o cache de conteúdo se registre usando um endereço diferente daquele que o cliente usa para descobri-lo, você precisa fornecer uma lista desses endereços tanto aos caches de conteúdo quanto aos clientes. A Apple usa essas listas para comparar as solicitações de registros com as de descobertas que envolvem vários endereços IP públicos.
Para evitar a configuração manual de clientes, o cache de conteúdo usa registros TXT de DNS para publicar as informações de endereço IP público para os clientes da rede. O registro TXT precisa ser publicado no domínio de busca DNS padrão usado pelos clientes.
Com o macOS 10.15 ou posterior, também é possível especificar endereços IP locais favorecidos para reduzir o impacto de outros caches de conteúdo na sua rede. Se nenhum endereço IP local favorecido for declarado em um registro TXT, todos os clientes usarão qualquer cache de conteúdo disponível.
Os dados corretos para o registro TXT para intervalos de endereço IP públicos podem ser gerados automaticamente ou manualmente. Em ambos os casos, é preciso editar o registro DNS ou fornecer os ajustes ao provedor DNS para criar ou editar o registro TXT no arquivo de zona. Observe que não é possível gerar automaticamente registros TXT para endereços IP locais favorecidos, eles devem ser criados manualmente.
Nota: os registros são necessários somente para a rede interna. Um DNS externo não requer registro adicional.
Formato do registro TXT DNS
A sintaxe para especificar registros TXT e caracteres não ASCII em registros TXT pode variar para o servidor DNS. Os exemplos apresentados aqui são apenas para fins ilustrativos.
Os registros de texto DNS para cache de conteúdo têm o mesmo formato dos registros TXT DNS-SD (pares de valor chave):
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
Use as chaves prs
e prn
para intervalos de endereço IP públicos. Use as chaves fss
e fsn
para intervalos de endereço IP locais de caches de conteúdo favorecidos.
Cada um dos exemplos a seguir define o mesmo conjunto de dois intervalos de endereço IP: um intervalo que começa em 17.53.22.2 e termina em 17.53.22.254, e um intervalo que consiste de um endereço IP único, 17.53.23.1. A diferença entre eles é que o primeiro exemplo usa a chave prs
e o segundo usa a chave 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"
As chaves usam formatos diferentes para os intervalos de endereço IP especificados no valor:
prs ou fss: o valor da chave
prs
oufss
é uma sequência de intervalos de endereço IP separados por vírgula em formato de apresentação (notação em ponto ASCII). Essa sintaxe permite fácil configuração. Um intervalo consiste de um único endereço IP ou dois endereços IP separados por um hífen.prn ou fsn: o valor da chave
prn
oufsn
é uma sequência de intervalos de endereço IP concatenados em formato rede-byte-ordem binário. Essa sintaxe é para sequências de intervalo muito longas para um registro DNS quando especificado em formato de apresentação. Cada intervalo na sequência é precedido por um byte que especifica o tipo de intervalo que segue:0x14 indica um único endereço IPv4.
0x24 indica um intervalo de endereço IPv4 inicial e final.
Você pode encadear vários registros. Se fizer isso, nomeie o primeiro registro _aaplcache._tcp
e os registros subsequentes de _aaplcache1._tcp
até _aaplcache24._tcp
, para um máximo de 25 registros em cadeia.
Para manter compatibilidade com clientes que usam macOS 10.14 ou anterior, coloque registros que utilizam chaves prs
ou prn
antes de qualquer registro que utilize chaves fss
ou fsn
.
Insira um marcador de continuação em todos os registros TXT, menos no último, para encadeá-los.
As sintaxes prs
e prn
podem ser misturadas entre registros na cadeia. Na sintaxe prs
, adicione “,mais
” no final do valor de registro. Na sintaxe prn
, adicione “+
” (0x2b) no final do valor de registro. O primeiro registro sem esse marcador de continuação finaliza a cadeia.
Os registros encadeados são resolvidos em lotes de cinco a cada vez, ou seja, _aaplcache._tcp
e _aaplcache1._tcp
até _aaplcache4._tcp
são resolvidos em paralelo primeiro. Se todos eles terminarem com marcadores de continuação, então _aaplcache5._tcp
até _aaplcache9._tcp
são resolvidos em seguida, e assim por diante.
A seguir, um exemplo de três registros encadeados:
_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"
Exemplo 1
Este exemplo demonstra um cenário onde um registro prs
ou prn
e um registro fss
ou fsn
são requeridos.
Suponha que já exista um registro TXT DNS chamado “_aaplcache._tcp
” com o valor “prs=203.0.113.10-203.0.113.19
” e três caches de conteúdo implementados com endereços locais 10.0.0.30, 10.1.0.30 e 10.2.0.30. Os dois primeiros servem apenas conteúdo compartilhado e o último serve conteúdo compartilhado e o iCloud.
Para evitar que clientes usem um cache de conteúdo não autorizado, é possível adicionar “,more
” àquele registro e adicionar um 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
Contanto que ao menos um dos três caches de conteúdo esteja usando esse método, dispositivos com iOS 13, iPadOS 13.1, macOS 10.15, tvOS 13 ou posteriores em busca de conteúdo compartilhado usam exclusivamente esses caches de conteúdo. Caso os três estejam off-line, clientes que estejam buscando conteúdo compartilhado podem usar qualquer cache de conteúdo disponível.
Contanto que o 10.2.0.30 esteja usando esse método, dispositivos com iOS 13, iPadOS 13.1, macOS 10.15, tvOS 13 ou posteriores em busca de conteúdo do iCloud usam exclusivamente esse cache. Caso esteja offline, clientes buscando conteúdo do iCloud usam qualquer cache de conteúdo disponível.
Dispositivos com iOS 12 ou anterior ou macOS 10.14 ou anterior usam qualquer cache de conteúdo disponível, não apenas estes três.
Exemplo 2
Este exemplo demonstra um cenário onde um registro prs
ou prn
não é requerido.
Suponha que você tenha apenas um endereço IP público e não utilize o recurso de registro TXT DNS, mas tenha alguns caches de conteúdo em uma sub-rede reservada para máquinas servidores (192.168.50/24).
Para evitar caches de conteúdo não autorizados, é possível definir um registro como este:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
Contanto que ao menos um cache de conteúdo esteja disponível nesse intervalo para o tipo de cliente buscado (compartilhado ou iCloud), clientes com iOS 13, iPadOS 13.1, macOS 10.15, tvOS 13 ou posteriores usam exclusivamente esse cache de conteúdo.