Anycast 및 RFC 8484 DoH로 이전

dns.google 도메인에서 DoH가 실행되고 Google Public DNS의 잘 알려진 Anycast IP 주소가 출시됨에 따라 다른 IP 주소를 사용하는 dns.google.com 도메인의 베타 DoH 서비스가 지원 중단되었으며 삭제될 예정입니다.

RFC 8484 API의 실험용 버전도 지원 중단되었습니다. dns.google/experimental은 지원되지 않으며 dns.google/experimental은 dns.google/dns-query로 이전됩니다.

타임라인

날짜 서비스 종료 단계
2019-07-23 2019-08-01 dns.google/dns-query(으)로 dns.google.com/experimental 리디렉션DONE
2019-08-05 2019-08-21 dns.google.com은 Google Public DNS anycast IP 주소로 확인DONE
2019-09-24 dns.google.com의 이전 IP 주소dns.google로 리디렉션DONE
2020-06-23 dns.google.com이 모든 위치에서 dns.google로 리디렉션

타임라인에 대한 변경사항은 여기에서 업데이트되고 public-dns-announce에 게시됩니다. 업데이트를 받으려면 소량의 메일링 리스트에 가입하세요.

2019년 8월 1일 목요일

https://dns.google.com/experimental에 대한 요청은 HTTP 301 리디렉션을 https://dns.google/dns-query로 가져옵니다.

/resolve에서 JSON API를 사용하는 DoH 애플리케이션은 영향을 받지 않습니다.

2019년 8월 21일 수요일

dns.google.comGoogle Public DNS Anycast IP 주소로 확인됩니다.

이는 대부분의 DoH 애플리케이션에서 투명하며 변경할 필요가 없습니다.

2019년 9월 24일 화요일

이전 dns.google.com IP 주소에 대한 DoH 쿼리는 https://dns.google/으로 HTTP 301 리디렉션을 받습니다.

이는 RFC 8484 또는 JSON API를 사용하는 DoH 애플리케이션에 영향을 미칠 수 있습니다.

하드코딩되거나 구성 가능하거나 영구적으로 캐시된 IP 주소에 DoH 요청을 보내는 애플리케이션은 다음 중 하나 또는 둘 다를 지원해야 합니다.

2020년 6월 23일 화요일

Anycast IP 주소에서 dns.google.com에 대한 DoH 쿼리는 HTTP 301을 dns.google로 리디렉션합니다.

이는 RFC 8484 또는 JSON API를 사용하는 DoH 애플리케이션에 영향을 미칠 수 있습니다.

Google DoH를 사용하려면 애플리케이션에서 다음 중 하나 이상을 지원해야 합니다.

DoH 클라이언트를 위한 변경사항

HTTP 리디렉션 따르기

DoH 서버는 DNS 쿼리를 처리하는 HTTP 서버일 뿐입니다. 따라서 HTTP 리디렉션 (코드 301, 302, 307 또는 308)을 반환할 수 있으며 DoH 클라이언트는 다른 HTTP 클라이언트와 마찬가지로 리디렉션을 따라야 합니다.

개발자는 DoH URL의 기반으로 https://8.8.8.8/experimental 또는 https://8.8.8.8/resolve를 사용하여 HTTP 리디렉션 지원을 확인할 수 있습니다. 이러한 경우 https://dns.google/dns-queryhttps://dns.google/resolve로 HTTP 301 리디렉션이 반환됩니다(GET 매개변수 유지).

Google DoH에 dns.google 도메인 사용

DoH 애플리케이션은 dns.google.com 대신 dns.google을 사용해야 합니다. RFC 8484 또는 JSON API 사용 여부와 상관없이 하드 코딩되거나 구성된 DoH 리졸버 목록이 있는 모든 DoH 애플리케이션은 URL 또는 URI 템플릿에서 dns.google.com을 dns.google로 바꿔야 합니다.

Google Public DNS Anycast IP 주소 사용

하드 코딩되거나 구성된 IP 주소 목록에 DoH 요청을 보내는 DoH 애플리케이션은 부트스트랩을 위한 경우에도 이전 dns.google.com 주소를 Google 공개 DNS 애니캐스트 IP 주소로 바꿔야 합니다.

구성용 URI 템플릿

DoH 애플리케이션은 엔드포인트의 구성 가능성을 제공해야 합니다. 이를 위한 선호되는 표준 방법은 URI 템플릿을 사용하는 것입니다. 전체 구성 기능이 있는 DoH 애플리케이션 개발자는 사용자에게 새 URL (URI 템플릿: https://dns.google/dns-query{?dns})을 알려야 합니다.

RFC 8484 DoH에 https://dns.google/dns-query 사용

하드 코딩되거나 구성된 DoH 리졸버 목록이 있는 DoH 애플리케이션은 인터넷 초안 DoH API의 https://dns.google.com/experimental URL을 https://dns.google/dns-query로 바꾸고 전체 RFC 8484 규정 준수를 확인해야 합니다.

/experimental API (dns.google.com에서만 사용 가능)는 /dns-query API (dns.google.com에서만 사용 가능)에서 거부되는 웹 안전이 아닌 Base64 인코딩과 application/dns-udpwireformat 콘텐츠 유형을 사용하는 쿼리를 허용했습니다. 이러한 차이점은 다음 두 섹션에서 설명합니다.

GET dns 매개변수에 Base64Url 인코딩 사용

GET 요청에서 dns 매개변수에 Websafe Base64Url 인코딩을 사용하여 Base64 (+ /)를 (- _)로 대체하고 패딩 (=) 문자를 삭제합니다.

수락하고 application/dns-message 보내기

Accept 헤더에 application/dns-message을 사용하고 (RFC 8484 POST의 경우 Content-Type 헤더에) 이를 응답의 Content-Type으로 수락합니다.

POST에 이전 Content-Type을 사용하면 415 지원되지 않는 미디어 유형과 함께 오류가 발생합니다.

Accept 헤더의 이전 Content-Type을 사용하는 애플리케이션은 Content-Type application/dns-message로 응답을 받습니다. 이를 허용하고 예기치 않은 Content-Type으로 인해 무시하지 않는 DoH 애플리케이션은 계속 작동합니다.