Migração para Anycast e RFC 8484 DoH

Como parte do lançamento do DoH no domínio dns.google e dos endereços IP Anycast conhecidos para o DNS público do Google, o serviço DoH Beta no domínio dns.google.com usando outros endereços IP agora está obsoleto e será desativado.

A versão experimental da API RFC 8484 também foi descontinuada. dns.google/experimental não tem suporte, e dns.google.com/experimental vai ser migrado para dns.google/dns-query.

Cronograma

Data Etapa de encerramento
2019-07-23 2019-08-01 dns.google.com/experimental redireciona para dns.google/dns-queryDONE
2019-08-05 2019-08-21 dns.google.com resolve para endereços IP anycast do DNS público do GoogleDONE
2019-09-24 Endereços IP antigos para dns.google.com redirecionam para dns.googleDONE
2020-06-23 dns.google.com redireciona para dns.google em qualquer lugar

As mudanças nesta linha do tempo são atualizadas aqui e publicadas em public-dns-announce. Inscreva-se naquela lista de e-mails de baixo volume para receber atualizações.

Quinta-feira, 1o de agosto de 2019

As solicitações para https://dns.google.com/experimental recebem redirecionamentos HTTP 301 para https://dns.google/dns-query.

Os aplicativos de DoH que usam a API JSON em /resolve não são afetados.

Quarta-feira, 21 de agosto de 2019

dns.google.com é resolvido para os endereços IP anycast de DNS público do Google.

Isso é transparente para a maioria dos aplicativos DoH, sem a necessidade de mudanças.

Terça-feira, 24 de setembro de 2019

As consultas de DoH para endereços IP antigos de dns.google.com recebem redirecionamentos HTTP 301 para https://dns.google/.

Isso pode afetar aplicativos DoH que usam as APIs RFC 8484 ou JSON.

Os aplicativos que enviam solicitações de DoH para endereços IP fixados no código, configuráveis ou permanentemente armazenados em cache precisam ser compatíveis com um ou ambos os itens a seguir:

Terça-feira, 23 de junho de 2020

As consultas do DoH para dns.google.com em endereços IP anycast recebem redirecionamentos HTTP 301 para dns.google.

Isso pode afetar aplicativos DoH que usam as APIs RFC 8484 ou JSON.

Para trabalhar com o Google DoH, os aplicativos precisam ser compatíveis com pelo menos um dos seguintes:

Mudanças para clientes DoH

Seguir redirecionamentos HTTP

Os servidores DoH são apenas servidores HTTP que processam consultas DNS. Como tal, eles podem retornar redirecionamentos HTTP (códigos 301, 302, 307 ou 308), e os clientes do DoH devem seguir esses redirecionamentos como qualquer outro cliente HTTP.

Os desenvolvedores podem verificar o suporte ao redirecionamento HTTP com https://8.8.8.8/experimental ou https://8.8.8.8/resolve como base para os URLs do DoH. Eles retornam redirecionamentos HTTP 301 para https://dns.google/dns-query e https://dns.google/resolve (preservando todos os parâmetros GET).

Usar o domínio dns.google para o Google DoH

Os aplicativos DoH precisam usar dns.google em vez de dns.google.com. Ao usar a API RFC 8484 ou JSON, todos os aplicativos de DoH com uma lista codificada ou configurada de resolvedores de DoH precisam substituir dns.google.com por dns.google em todos os URLs ou modelos de URI.

Usar endereços IP anycast de DNS público do Google

Os aplicativos de DoH que enviam solicitações de DoH para uma lista codificada ou configurada de endereços IP (mesmo para inicialização) precisam substituir os endereços antigos de dns.google.com pelos endereços IP anycast de DNS público do Google.

Modelos de URI para configuração

Os aplicativos de DoH precisam oferecer capacidade de configuração para endpoints. A maneira preferencial e padrão de fazer isso são com modelos de URI. Os desenvolvedores de aplicativos do DoH com configurabilidade total precisam notificar os usuários sobre o novo URL (modelo de URI: https://dns.google/dns-query{?dns}).

Usar https://dns.google/dns-query para RFC 8484 DoH

Os aplicativos de DoH com uma lista codificada ou configurada de resolvedores de DoH precisam substituir o URL https://dns.google.com/experimental da API DoH de rascunho da Internet por https://dns.google/dns-query e confirmar a conformidade total com o RFC 8484.

A API /experimental (disponível apenas em dns.google.com) aceita consultas usando codificação Base64 não segura para Web e tipo de conteúdo application/dns-udpwireformat que são rejeitadas pela API /dns-query (disponível apenas em dns.google). Essas diferenças são descritas nas duas seções a seguir.

Usar a codificação Base64Url para o parâmetro GET dns

Use a codificação Base64Url segura para a Web para o parâmetro dns nas solicitações GET, substituindo Base64 (+ /) por (- _) e removendo caracteres de padding (=).

Aceitar e enviar application/dns-message

Use application/dns-message no cabeçalho Accept (e para POST RFC 8484, no cabeçalho Content-Type) e aceite como o tipo de conteúdo das respostas.

O uso do Content-Type antigo para POST falhará com 415 Tipo de mídia incompatível.

Os aplicativos que usam o Content-Type antigo no cabeçalho Accept vão receber respostas com o Application-Type application/dns-message. Os aplicativos DoH que aceitam isso e não os ignoram devido a um Content-Type inesperado ainda vão funcionar.