Utilizzare i record DNS TXT con cache dei contenuti sui dispositivi Apple
Aggiungere record TXT al file di zona DNS
Aggiungere uno o più record TXT al file di zona per il dominio locale sul server DNS. Aggiungere il record TXT del DNS alla zona che:
È autorevole per il dominio
Corrisponde al dominio di ricerca predefinito per i client della rete
Ad esempio, se l’organizzazione fornisce il servizio DNS per il tuo dominio ed è la fonte di autorità per i nomi host per betterbag.com, il record TXT della cache deve essere posizionato nel file di zona di betterbag.com.
Importante: se non ospiti il servizio DNS autorevole per il dominio, non puoi aggiungere il record TXT da solo. Coordinati con il tuo provider DNS per fargli aggiungere il record TXT fornito.
Se utilizzi il DNS BIND9, copia il record TXT generato e incollalo nel file di zona DNS.
Per i DNS basati su BIND9 su Linux, questo file si trova nella directory /private/etc/bind/ e il nome del file di zona è stato definito in /private/etc/bind/named.conf (molto probabilmente, “db.betterbag.com.”).
Se utilizzi il DNS Windows, effettua una delle seguenti operazioni:
Se hai generato un record di testo tramite il servizio di cache dei contenuti: sostituisci la variabile ZoneName nel comando generato con il nome della zona DNS della tua rete, quindi esegui il comando sul tuo computer DNS Windows.
Se hai creato il record di testo manualmente: inserisci le informazioni del record TXT manualmente tramite gli strumenti di amministrazione di Windows Server.
Utilizzare i record DNS TXT per pubblicare contenuti su più indirizzi IP pubblici
Se la rete utilizza più indirizzi IP pubblici per connettersi a internet, consentendo così a una cache dei contenuti di registrarsi con un indirizzo diverso da quello utilizzato dai client per il rilevamento, devi fornire sia alla cache dei contenuti sia ai client un elenco di tali indirizzi. Apple utilizza tali elenchi per far combaciare le richieste di registrazione e rilevamento che riguardano più indirizzi IP pubblici.
Per evitare la configurazione manuale dei client, la cache dei contenuti utilizza i record DNS TXT per pubblicare le informazioni relative all’indirizzo IP pubblico per i client nella tua rete. Il record TXT deve essere pubblicato nel dominio di ricerca DNS di default utilizzato dai client.
Con macOS 10.15 o versioni successive, puoi anche specificare gli indirizzi IP locali preferiti per ridurre l’impatto di altre cache dei contenuti sulla rete. Se non viene specificato alcun indirizzo IP locale preferito in un record TXT, tutti i client utilizzano qualsiasi contenuto della cache disponibile.
I dati corretti per il record TXT per gli intervalli di indirizzi IP pubblici possono essere generati automaticamente o manualmente. In entrambi i casi, devi modificare il record DNS o dare le impostazioni al provider DNS per creare o modificare il record TXT nel file di zona. Nota che non puoi generare automaticamente record TXT per gli indirizzi IP locali preferiti: questi devono essere creati manualmente.
Nota: questi record sono necessari solo per la tua rete interna. Il DNS esterno non richiede il record aggiuntivo.
Formato del record di testo DNS
La sintassi per specificare i record TXT e i record TXT con caratteri non-ASCII, potrebbe variare a seconda del tuo server DNS. Gli esempi presentati di seguito sono solo illustrativi.
I record di testo DNS per la cache dei contenuti hanno lo stesso formato dei record di testo DNS-SD (coppie chiave-valore):
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
Usa le chiavi prs
e prn
per gli intervalli degli indirizzi IP pubblici; usa le chiavi fss
e fsn
per gli intervalli degli indirizzi IP locali di cache dei contenuti preferiti.
Ciascuno dei seguenti esempi definisce lo stesso insieme di due intervalli di indirizzi IP: un intervallo che inizia da 17.53.22.2 e finisce a 17.53.22.254 e un intervallo che prevede un singolo indirizzo IP, 17.53.23.1. La differenza consiste nel fatto che il primo esempio utilizza la chiave prs
mentre il secondo esempio utilizza la chiave 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"
Le chiavi utilizzano diversi formati per gli intervalli di indirizzi IP specificati nel valore:
prs o fss: il valore della chiave
prs
ofss
è una sequenza di intervalli di indirizzi IP separati da virgole in formato presentazione (notazione con punto ASCII). Questa sintassi è per configurazioni semplici. Un intervallo è composto da un indirizzo IP singolo oppure da due indirizzi IP separati da un trattino.prn o fsn: il valore della chiave
prn
ofsn
è una sequenza di intervalli di indirizzi IP concatenati in formato binario network-byte-ordine. Questa sintassi è per sequenze di intervallo che sono troppo lunghe per un record DNS se specificate in formato presentazione. Ciascun intervallo nella sequenza è preceduto da un byte che specifica il tipo di intervallo a seguire:0x14 indica un singolo indirizzo IPv4.
0x24 indica un intervallo di indirizzi IPv4 con un inizio e una fine.
Puoi concatenare più record. Se lo fai, nomina il primo record _aaplcache._tcp
e quelli successivi da _aaplcache1._tcp
fino a _aaplcache24._tcp
, per un massimo di 25 record concatenati.
Per mantenere la compatibilità con i client che utilizzano macOS 10.14 o versioni precedenti, inserisci i record che usano le chiavi prs
o prn
prima di qualsiasi record che utilizza le chiavi fss
o fsn
.
Concatena i record insieme mettendo un segno di continuazione su tutti, tranne che sull’ultimo record di testo.
Le sintassi prs
e prn
possono essere mescolate tra i record della catena. Con la sintassi prs
, aggiungi “,more
” alla fine del valore del record. Con la sintassi prn
, aggiungi “+
” (0x2b) alla fine del valore del record. Il primo record privo di tale marcatore prosecuzione termina la catena.
I record concatenati sono risolti in batch di cinque alla volta; cioè, _aaplcache._tcp
e da _aaplcache1._tcp
a _aaplcache4._tcp
vengono risolti in parallelo, per primi. Se tutti terminano con segni di prosecuzione, allora vengono risolti i record da _aaplcache5._tcp
ad _aaplcache9._tcp
e così via.
Ecco un esempio di tre record concatenati:
_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"
Esempio 1
L’esempio di seguito illustra una situazione in cui sono richiesti sia un record prs
o prn
, sia un record fss
o fsn
.
Supponi di avere già un record DNS TXT chiamato “_aaplcache._tcp
” con il valore “prs=203.0.113.10-203.0.113.19
” e tre cache dei contenuti distribuiti con gli indirizzi locali 10.0.0.30, 10.1.0.30 e 10.2.0.30. I primi due elaborano esclusivamente i contenuti condivisi, mentre l’ultimo elabora sia i contenuti condivisi che i contenuti iCloud.
Per impedire che i client utilizzino una cache dei contenuti non autorizzata, puoi aggiungere “,more
” al record e aggiungere un secondo record, nel modo seguente:
_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
Se almeno una delle tre cache di contenuti utilizza questo metodo, i dispositivi con iOS 13, iPadOS 13.1, macOS 10.15 e tvOS 13 o versioni successive, alla ricerca di contenuti condivisi utilizzano tali cache in modo esclusivo. Se tutti e tre sono offline, i client alla ricerca di contenuti condivisi possono utilizzare qualsiasi cache dei contenuti.
Se 10.2.0.30 utilizza questo metodo, i dispositivi con iOS 13, iPadOS 13.1, macOS 10.15 e tvOS 13 o versioni successive, alla ricerca di contenuti iCloud lo utilizzano in modo esclusivo. Se è offline, i client alla ricerca di contenuti iCloud utilizzano qualsiasi cache dei contenuti disponibile.
I dispositivi con iOS 12 o versioni precedenti e macOS 10.14 o versioni precedenti utilizzano qualsiasi cache dei contenuti disponibile, non solo queste tre.
Esempio 2
L’esempio fornito di seguito illustra una situazione in cui non è richiesto nessun record prs
o prn
.
Supponi di avere solo un indirizzo IP pubblico IP e di non utilizzare la funzionalità del record DNS TXT, ma di avere alcune cache dei contenuti su una sottorete riservata per i server (192.168.50/24).
Per impedire le cache dei contenuti non autorizzate, puoi configurare un record nel modo seguente:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
Se è disponibile almeno una cache dei contenuti nell’intervallo per il tipo di client desiderato (condiviso o iCloud), iOS 13, iPadOS 13.1, macOS 10.15 e tvOS 13 o versioni successive, i client la utilizzano in modo esclusivo.