Migración a anycast y RFC 8484 DoH

Como parte del lanzamiento del DoH en el dominio dns.google y en las conocidas direcciones IP Anycast para el DNS público de Google, el servicio DoH beta en el dominio dns.google.com con otras direcciones IP está obsoleto y se desactivará.

La versión experimental de la API de RFC 8484 también dejó de estar disponible. dns.google/experimental no es compatible y dns.google.com/experimental se migrará a dns.google/dns-query.

Cronograma

Fecha Paso de baja
2019-07-23 2019-08-01 dns.google.com/experimental redirecciona a dns.google/dns-query: DONE
2019-08-05 2019-08-21 dns.google.com se resuelve como direcciones IP anycast de DNS público de Google: DONE
2019-09-24 Las direcciones IP antiguas para dns.google.com redireccionan a dns.google: DONE
2020-06-23 dns.google.com redirecciona a dns.google en todas partes

Los cambios que hagas en este cronograma se actualizan aquí y se publican en public-dns-announce. Suscríbete a esa lista de distribución de bajo volumen para recibir actualizaciones.

Jueves, 1 de agosto de 2019

Las solicitudes de https://dns.google.com/experimental obtienen redireccionamientos HTTP 301 a https://dns.google/dns-query.

Las aplicaciones de DoH que usan la API de JSON en /resolve no se ven afectadas.

Miércoles, 21 de agosto de 2019

dns.google.com se resuelve como las direcciones IP Anycast del DNS público de Google.

Esto resulta transparente para la mayoría de las aplicaciones de DoH, sin necesidad de realizar cambios.

Martes, 24 de septiembre de 2019

Las consultas de DoH a direcciones IP anteriores de dns.google.com generan redireccionamientos HTTP 301 a https://dns.google/.

Esto puede afectar a las aplicaciones de DoH que usen la API de RFC 8484 o de JSON.

Las aplicaciones que envían solicitudes de DoH a direcciones IP codificadas, configurables o almacenadas en caché de forma permanente deben admitir una de las siguientes opciones o ambas:

Martes 23 de junio de 2020

Las consultas de DoH a dns.google.com en direcciones IP anycast obtienen redireccionamientos HTTP 301 a dns.google.

Esto puede afectar a las aplicaciones de DoH que usen la API de RFC 8484 o de JSON.

Para funcionar con el DoH de Google, las aplicaciones deben admitir al menos una de las siguientes opciones:

Cambios para los clientes de DoH

Sigue redireccionamientos HTTP

Los servidores DoH son solo servidores HTTP que controlan consultas de DNS. Por lo tanto, pueden mostrar redireccionamientos HTTP (códigos 301, 302, 307 o 308), y los clientes de DoH deben seguirlos como cualquier otro cliente HTTP.

Los desarrolladores pueden verificar la compatibilidad con el redireccionamiento HTTP con https://8.8.8.8/experimental o https://8.8.8.8/resolve como base para sus URLs de DoH, que muestran redireccionamientos HTTP 301 a https://dns.google/dns-query y https://dns.google/resolve (conservando cualquier parámetro GET).

Usa el dominio dns.google para el DoH de Google

Las aplicaciones del DoH deben usar dns.google en lugar de dns.google.com. Ya sea que uses RFC 8484 o la API de JSON, cualquier aplicación del DoH con una lista hard-coded o configurada de agentes de resolución del DoH debe reemplazar dns.google.com por dns.google en cualquier URL o plantilla de URI.

Usar direcciones IP Anycast del DNS público de Google

Las aplicaciones de DoH que envían solicitudes DoH a una lista hard-coded o configuradas de direcciones IP (incluso solo para la inicialización) deben reemplazar las direcciones anteriores de dns.google.com por las direcciones IP Anycast del DNS público de Google.

Plantillas de URI para la configuración

Las aplicaciones de DoH deben proporcionar configuración para los extremos. La forma preferida y estándar de hacerlo es mediante plantillas de URI. Los desarrolladores de aplicaciones de DoH con configuración completa deben notificar a los usuarios sobre la nueva URL (plantilla de URI: https://dns.google/dns-query{?dns}).

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

Las aplicaciones de DoH con una lista configurada o hard-coded de agentes de resolución de DoH deben reemplazar la URL https://dns.google.com/experimental de la API de DoH del borrador de Internet por https://dns.google/dns-query y confirmar el cumplimiento total de RFC 8484.

La API de /experimental (solo disponible en dns.google.com) aceptó consultas con una codificación Base64 no segura para la Web y un tipo de contenido application/dns-udpwireformat que la API /dns-query rechazó (solo disponible en dns.google). Estas diferencias se describen en las siguientes dos secciones.

Usa la codificación Base64Url para el parámetro GET dns

Usa la codificación Base64Url segura para la Web para el parámetro dns en las solicitudes GET. Para ello, reemplaza Base64 (+ /) por (- _) y quita los caracteres de padding (=).

Aceptar y enviar application/dns-message

Usa application/dns-message en el encabezado Accept (y, para RFC 8484 POST, en el encabezado Content-Type) y acéptalo como el tipo de respuestas.

El uso del Content-Type anterior para POST fallará con el error 415 Unsupported Media Type.

Las aplicaciones que usan el Content-Type anterior en el encabezado Accept recibirán respuestas con Content-Type application/dns-message. Las aplicaciones de DoH que las aceptan y no las ignoran debido a un tipo de contenido inesperado seguirán funcionando.