Migrazione a anycast e DoH RFC 8484

Nell'ambito del lancio di DoH nel dominio dns.google e nei noti indirizzi IP anycast per Google Public DNS, il servizio DoH beta sul dominio dns.google.com che utilizza altri indirizzi IP è deprecato e verrà disattivato.

Anche la versione sperimentale dell'API RFC 8484 è deprecata; dns.google/experimental non è supportata e dns.google/experimental verrà migrata a dns.google/dns-query.

Sequenza

Data Passaggio di ritiro
2019-07-23 2019-08-01 dns.google.com/experimental reindirizza a dns.google/dns-queryDONE
2019-08-05 2019-08-21 dns.google.com viene risolto negli indirizzi IP anycast del DNS pubblico di GoogleDONE
2019-09-24 Vecchi indirizzi IP per dns.google.com reindirizzano a dns.googleDONE
2020-06-23 dns.google.com reindirizza a dns.google ovunque

Le modifiche a questa cronologia vengono aggiornate qui e pubblicate su public-dns-announce. Iscriviti a quella mailing list con volumi ridotti per ricevere aggiornamenti.

Giovedì 1 agosto 2019

Le richieste per https://dns.google.com/experimental ricevono reindirizzamenti 301 HTTP a https://dns.google/dns-query.

Le applicazioni DoH che utilizzano l'API JSON all'indirizzo /resolve non sono interessate.

Mercoledì 21 agosto 2019

dns.google.com risolve gli indirizzi IP anycast del DNS pubblico di Google.

Questo è trasparente per la maggior parte delle applicazioni DoH, senza necessità di modifiche.

Martedì 24 settembre 2019

Le query DoH indirizzate a indirizzi IP precedenti di dns.google.com ricevono reindirizzamenti HTTP 301 a https://dns.google/.

Questo problema potrebbe interessare le applicazioni DoH che utilizzano l'API RFC 8484 o JSON.

Le applicazioni che inviano richieste DoH a indirizzi IP impostati come hardcoded, configurabili o memorizzati nella cache devono supportare uno dei seguenti elementi o entrambi:

Martedì 23 giugno 2020

Le query DoH inviate a dns.google.com in indirizzi IP anycast ricevono reindirizzamenti HTTP 301 a dns.google.

Questo problema potrebbe interessare le applicazioni DoH che utilizzano l'API RFC 8484 o JSON.

Per funzionare con Google DoH, le applicazioni devono supportare almeno uno dei seguenti sistemi:

Modifiche per i client DoH

Segui i reindirizzamenti HTTP

I server DoH sono solo server HTTP che gestiscono le query DNS. Di conseguenza, potrebbero restituire reindirizzamenti HTTP (codici 301, 302, 307 o 308) e i client DoH devono seguire questi reindirizzamenti come qualsiasi altro client HTTP.

Gli sviluppatori possono verificare il supporto del reindirizzamento HTTP con https://8.8.8.8/experimental o https://8.8.8.8/resolve come base per gli URL DoH; questi restituiscono reindirizzamenti HTTP 301 a https://dns.google/dns-query e https://dns.google/resolve (mantenendo tutti i parametri GET).

Utilizzare il dominio dns.google per Google DoH

Le applicazioni DoH devono utilizzare dns.google anziché dns.google.com. Sia che utilizzi l'API RFC 8484 o JSON, tutte le applicazioni DoH con un elenco hardcoded o configurato di resolver DoH devono sostituire dns.google.com con dns.google in qualsiasi URL o modello URI.

Utilizza indirizzi IP anycast Google Public DNS

Le applicazioni DoH che inviano richieste DoH a un elenco hardcoded o configurato di indirizzi IP (anche solo per il bootstrap) devono sostituire gli indirizzi precedenti di dns.google.com con gli indirizzi IP anycast del DNS pubblico di Google.

Modelli URI per la configurazione

Le applicazioni DoH dovrebbero fornire configurabilità per gli endpoint; il modo preferito e standard per farlo è utilizzare i modelli URI. Gli sviluppatori di applicazioni DoH con configurabilità completa devono informare gli utenti del nuovo URL (modello URI: https://dns.google/dns-query{?dns}).

Utilizza https://dns.google/dns-query per DoH RFC 8484

Le applicazioni DoH con un elenco hardcoded o configurato di resolver DoH devono sostituire l'URL https://dns.google.com/experimental per l'API DoH bozza Internet con https://dns.google/dns-query e confermare la conformità RFC 8484 completa.

L'API /experimental (disponibile solo su dns.google.com) ha accettato le query utilizzando una codifica Base64 non websafe e il tipo di contenuti application/dns-udpwireformat rifiutati dall'API /dns-query (disponibile solo su dns.google). Queste differenze sono descritte nelle due sezioni seguenti.

Utilizza la codifica Base64Url per il parametro GET dns

Utilizza la codifica Base64Url di websafe per il parametro dns nelle richieste GET, sostituendo Base64 (+ /) con (- _) e rimuovendo la spaziatura interna (=).

Accetta e invia application/dns-message

Utilizza application/dns-message nell'intestazione Accept (e, nell'intestazione Content-Type, per RFC 8484 POST) e accettalo come Content-Type delle risposte.

Se utilizzi il vecchio Content-Type per POST, l'errore 415 supported media type (Tipo di supporto non supportato).

Le applicazioni che utilizzano il vecchio Content-Type nell'intestazione Accept riceveranno risposte con Content-Type application/dns-message. Le applicazioni DoH che li accettano e non li ignorano a causa di un Content-Type imprevisto, continueranno a funzionare.