- Home
- RFC 10001
RFC 10001: BCP 91: Operational Guidelines for DNS Transport in Mixed IPv4/IPv6 Environments
- Momoka,
- T. Fiebig
Abstract
This document provides guidelines and documents best current practice for operating authoritative DNS servers, recursive resolvers, and stub resolvers in a mixed IPv4/IPv6 environment. This document recommends that both authoritative DNS servers and recursive resolvers support IPv4 and IPv6. It also provides guidance on how recursive DNS resolvers should select upstream DNS servers, including when IPv4-embedded IPv6 addresses are available.¶
This document obsoletes RFC 3901.¶
Status of This Memo
This memo documents an Internet Best Current Practice.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on BCPs is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
Despite IPv6 being first discussed in the mid-1990s [RFC2460], consistent deployment throughout the whole Internet has not yet been accomplished [RFC9386]. Hence, the Internet still consists of IPv4-only, dual-stack (networks supporting both IP address families), and IPv6-only networks.¶
This creates a complex landscape where authoritative DNS servers might be accessible only via specific network protocols [V6DNSRDY-23]. At the same time, DNS resolvers may only be able to access the Internet via either IPv4 or IPv6 connectivity. This poses a challenge for such resolvers because they may receive queries for names whose authoritative DNS servers do not support the same IP address family as the resolver itself.¶
[RFC3901] was written at a time when IPv6 deployment was not widespread and focuses primarily on maintaining name space continuity within the IPv4 landscape. Two decades later, IPv6 is widely deployed and is also becoming the de facto standard in many areas, such as mobile and access networks and data-center underlays. Furthermore, since 2012, IPv6 support being required for all IP-capable nodes has been established as a best current practice [RFC6540]. This document broadens the scope of [RFC3901] by recommending IPv6 connectivity for authoritative DNS servers, recursive resolvers, and stub resolvers.¶
This document provides:¶
-
Guidance on name space partitioning due to differences in IP address family support and best practices for avoiding it.¶
-
Guidelines for configuring authoritative DNS servers for zones.¶
-
Guidelines for operating recursive DNS resolvers.¶
-
Guidelines for DNS stub resolvers.¶
While transition and coexistence setups may mitigate some of the DNS resolution issues in a mixed IP address family Internet, making DNS data accessible over both IPv4 and IPv6 is the most robust and flexible approach. This approach allows resolvers to retrieve the information they need without requiring intermediary translation or encapsulation services, which may introduce additional failure cases.¶
Refer to Appendix A for an overview of the main changes since [RFC3901].¶
2. Terminology
This document uses DNS terminology as described in [RFC9499]. Furthermore, the following terms are used with a defined meaning:¶
- IPv4-reachable name server:
- A name server that provides either authoritative or recursive DNS services via IPv4. This does not imply anything about the DNS data served but rather indicates that the name server receives and answers queries over IPv4.¶
- IPv6-reachable name server:
- A name server that provides either authoritative or recursive DNS services via IPv6. This does not imply anything about the DNS data served but rather indicates that the name server receives and answers queries over IPv6.¶
- Dual-stack name server (or resolver):
- A name server (or resolver) that is both IPv4-reachable and IPv6-reachable.¶
- Effective PMTU:
- The effective Path Maximum Transmission Unit (PMTU) is the largest IP packet size (in octets) that can successfully traverse a network path from source to destination without requiring fragmentation.¶
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
3. Name Space Partitioning
When a resolver looks up a name, it starts at the root and follows referrals until it reaches a name server set that is authoritative for the name. However, if the referrals lead to a name server set that only contains name servers reachable via an IP address family not supported by the resolver, the resolver is unable to continue DNS resolution.¶
If this occurs, the DNS has been effectively partitioned due to mismatching IP address family support between the recursive DNS resolver and the authoritative DNS server.¶
With the deployment of both IPv4 and IPv6, name space partitioning can occur for different reasons.
One reason is that DNS zones are consistently configured to support only either IPv4 or IPv6.
Another reason is misconfiguratio
4. Policy-Based Avoidance of Name Space Partitioning
IPv4 and IPv6 have become comparably relevant with the final exhaustion of IPv4 address pools in Regional Internet Registries (RIRs) (see, e.g., [RIPEV4]) and the progressing deployment of IPv6. Yet, while the first zones that are exclusively IPv6 resolvable can now be observed, exclusively IPv4 resolvable zones are considerably more common [V6DNSRDY-23]. Hence, dual-stack connectivity is still instrumental to be able to resolve zones and avoid name space partitioning.¶
Having zones served only by name servers reachable via one IP address family would partition the DNS. Hence, a way to avoid this partitioning is needed.¶
The recommended approach to maintain name space continuity is to use administrative policies, as described in this section.¶
4.2. Guidelines for Recursive DNS Resolvers
To ensure robust DNS resolution even when facing name space partitioning, every recursive DNS resolver SHOULD be dual-stack. Exceptions apply if one of the methods to prevent name space partitioning described in this section is in place.¶
While the zones that IPv6-only recursive DNS resolvers can resolve are growing, they do not yet cover all zones. Hence, a recursive DNS resolver MAY be IPv6-only if it uses a transition mechanism that allows it to also query IPv4-only authoritative DNS servers or uses a configuration where it forwards queries failing IPv6-only DNS resolution to a dual-stack recursive DNS resolver (i.e., a resolver that is also able to perform DNS resolution over IPv4). If a recursive DNS resolver is aware of a PREF64 to use for NAT64 [RFC6146], either through static configuration or by discovering it (e.g., using the option described in [RFC8781]), it MAY synthesize IPv6 addresses for remote authoritative DNS servers.¶
Similarly, a recursive DNS resolver MAY be IPv4-only if it uses a configuration where such resolvers forward queries failing IPv4-only DNS resolution to a dual-stack recursive DNS resolver (i.e., a resolver that is also able to perform DNS resolution over IPv6).¶
Finally, when responding to recursive queries (i.e., a query with the Recursion Desired (RD) bit set [RFC1035]), a DNS resolver SHOULD follow the above guidance on fragmentation avoidance (see Section 4.1) for communication between authoritative DNS servers and recursive DNS resolvers analogously.¶
4.3. Guidelines for DNS Stub Resolvers
Contrary to authoritative DNS servers and recursive DNS resolvers, DNS stub resolvers are more likely to find themselves in either an IPv6-mostly or IPv4-only environment, as they are usually run on end hosts or clients. Furthermore, a DNS stub resolver has to rely on recursive DNS servers discovered for the local network, e.g., using DHCPv4 [RFC2131], DHCPv6 [RFC9915], and/or router advertisements [RFC8106]. In that case, the stub resolver may obtain multiple different IPv4 and IPv6 DNS resolver addresses to use.¶
To prioritize different IPv4 and IPv6 DNS resolver addresses, a stub resolver SHOULD follow [RFC6724]. However, a DNS stub resolver SHOULD NOT utilize IPv4-embedded IPv6 addresses if it is able to identify them as such, e.g., by having discovered the PREF64 in use for the network [RFC8781].¶
When providing multiple recursive DNS servers to stub resolvers, network operators have to consider that, at the time of writing, various implementations can only configure a small set of possible DNS resolver addresses, e.g., only up to three for glibc [MAN], and additional resolver addresses provided may be non
Hence, when providing more than three recursive server addresses to stub resolvers, operators SHOULD ensure that either:¶
- all supplied recursive server IP addresses are from the same address family, based on knowledge as to clients being IPv4-only or IPv6-mostly; or¶
- exactly two IP addresses are from one address family (IPv4 or IPv6) and exactly one is from the other address family.¶
Furthermore, all supplied resolvers SHOULD be able to perform dual-stack DNS resolution to avoid name space partitioning due to IP address family support.¶
5. Security Considerations
The guidelines described in this memo introduce no new security considerations into the DNS protocol itself.¶
Nevertheless, corner cases exist where forwarding queries requiring an IP address family for resolution that is not supported by the initial resolver leads to an infinite forwarding loop under the following conditions:¶
-
Two resolvers handle queries for a set of clients, each of these resolvers supports one and only one address family that is distinct from the address family supported by the other resolver;¶
-
Both resolvers are configured to forward queries requiring DNS resolution via the IP address family they do not support to the other; and¶
-
A query for a zone that is not resolvable via IPv4 and not resolvable via IPv6 is received.¶
In such cases, a query for the non-resolvable zone would be endlessly forwarded between these resolvers.¶
To prevent such cases, single-stack recursive DNS resolvers SHOULD be configured to forward queries they cannot resolve due to lacking support for one address family to dual-stack recursive DNS resolvers. Furthermore, recursive DNS resolvers MUST NOT be configured to forward queries to DNS resolvers that are configured to forward queries to them in the first place.¶
Recommendations for recursive and stub resolvers rely on a correctly discovered PREF64. Security issues may materialize if an incorrect PREF64 is used. Hence, guidance from [RFC9872] on securely discovering PREF64 SHOULD be followed.¶
Preventing fragmentation according to the guidance in this document may increase load on DNS servers, as more TCP fallbacks might be required. While measurements have shown this to be (at the time of writing) in the range of 3-5% of connections [DNSv6MTU], operators SHOULD monitor the actual impact on their servers when implementing guidance from this document to detect unexpected load increases early on.¶
6. IANA Considerations
This document has no IANA actions.¶
However, IANA should consider updating its technical requirements for authoritative DNS servers to require both IPv4 and IPv6 addresses for each authoritative server [IANANS], in accordance with the processes for reviewing and revising these procedures.¶
7. References
7.1. Normative References
- [RFC1034]
-
Mockapetris, P., "Domain names - concepts and facilities", STD 13, RFC 1034, DOI 10
.17487 , , <https:///RFC1034 www >..rfc -editor .org /info /rfc1034 - [RFC1035]
-
Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10
.17487 , , <https:///RFC1035 www >..rfc -editor .org /info /rfc1035 - [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC4291]
-
Hinden, R. and S. Deering, "IP Version 6 Addressing Architecture", RFC 4291, DOI 10
.17487 , , <https:///RFC4291 www >..rfc -editor .org /info /rfc4291 - [RFC4821]
-
Mathis, M. and J. Heffner, "Packetization Layer Path MTU Discovery", RFC 4821, DOI 10
.17487 , , <https:///RFC4821 www >..rfc -editor .org /info /rfc4821 - [RFC6052]
-
Bao, C., Huitema, C., Bagnulo, M., Boucadair, M., and X. Li, "IPv6 Addressing of IPv4/IPv6 Translators", RFC 6052, DOI 10
.17487 , , <https:///RFC6052 www >..rfc -editor .org /info /rfc6052 - [RFC6724]
-
Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, DOI 10
.17487 , , <https:///RFC6724 www >..rfc -editor .org /info /rfc6724 - [RFC6891]
-
Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms for DNS (EDNS(0))", STD 75, RFC 6891, DOI 10
.17487 , , <https:///RFC6891 www >..rfc -editor .org /info /rfc6891 - [RFC7766]
-
Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and D. Wessels, "DNS Transport over TCP - Implementation Requirements", RFC 7766, DOI 10
.17487 , , <https:///RFC7766 www >..rfc -editor .org /info /rfc7766 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8200]
-
Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", STD 86, RFC 8200, DOI 10
.17487 , , <https:///RFC8200 www >..rfc -editor .org /info /rfc8200 - [RFC8899]
-
Fairhurst, G., Jones, T., Tüxen, M., Rüngeler, I., and T. Völker, "Packetization Layer Path MTU Discovery for Datagram Transports", RFC 8899, DOI 10
.17487 , , <https:///RFC8899 www >..rfc -editor .org /info /rfc8899 - [RFC9210]
-
Kristoff, J. and D. Wessels, "DNS Transport over TCP - Operational Requirements", BCP 235, RFC 9210, DOI 10
.17487 , , <https:///RFC9210 www >..rfc -editor .org /info /rfc9210 - [RFC9293]
-
Eddy, W., Ed., "Transmission Control Protocol (TCP)", STD 7, RFC 9293, DOI 10
.17487 , , <https:///RFC9293 www >..rfc -editor .org /info /rfc9293 - [RFC9471]
-
Andrews, M., Huque, S., Wouters, P., and D. Wessels, "DNS Glue Requirements in Referral Responses", RFC 9471, DOI 10
.17487 , , <https:///RFC9471 www >..rfc -editor .org /info /rfc9471 - [RFC9715]
-
Fujiwara, K. and P. Vixie, "IP Fragmentation Avoidance in DNS over UDP", RFC 9715, DOI 10
.17487 , , <https:///RFC9715 www >..rfc -editor .org /info /rfc9715
7.2. Informative References
- [DNSFlag
Day2020] -
"DNS flag day 2020", <https://
dnsflagday >..net /2020 / - [DNSv6MTU]
-
Fiebig, T. and A. Feldmann, "'How I learned to stop worrying and love IPv6': Measuring the Internet's Readiness for DNS over IPv6", IMC '25: Proceedings of the 2025 ACM Internet Measurement Conference, pp. 359-380, DOI 10
.1145 , , <https:///3730567 .3764439 doi >..org /10 .1145 /3730567 .3764439 - [IANANS]
-
IANA, "Technical requirements for authoritative name servers", <https://
www >..iana .org /help /nameserver -requirements - [MAN]
-
"resolv.conf(5) - Linux manual page", , <https://
man7 >..org /linux /man -pages /man5 /resolv .conf .5 .html - [NS
-REVALIDATION] -
Huque, S., Vixie, P. A., and W. Toorop, "Delegation Revalidation by DNS Resolvers", Work in Progress, Internet-Draft, draft
-ietf , , <https://-dnsop -ns -revalidation -13 datatracker >..ietf .org /doc /html /draft -ietf -dnsop -ns -revalidation -13 - [RFC1918]
-
Rekhter, Y., Moskowitz, B., Karrenberg, D., de Groot, G. J., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, DOI 10
.17487 , , <https:///RFC1918 www >..rfc -editor .org /info /rfc1918 - [RFC2131]
-
Droms, R., "Dynamic Host Configuration Protocol", RFC 2131, DOI 10
.17487 , , <https:///RFC2131 www >..rfc -editor .org /info /rfc2131 - [RFC2182]
-
Elz, R., Bush, R., Bradner, S., and M. Patton, "Selection and Operation of Secondary DNS Servers", BCP 16, RFC 2182, DOI 10
.17487 , , <https:///RFC2182 www >..rfc -editor .org /info /rfc2182 - [RFC2460]
-
Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, DOI 10
.17487 , , <https:///RFC2460 www >..rfc -editor .org /info /rfc2460 - [RFC3542]
-
Stevens, W., Thomas, M., Nordmark, E., and T. Jinmei, "Advanced Sockets Application Program Interface (API) for IPv6", RFC 3542, DOI 10
.17487 , , <https:///RFC3542 www >..rfc -editor .org /info /rfc3542 - [RFC3901]
-
Durand, A. and J. Ihren, "DNS IPv6 Transport Operational Guidelines", BCP 91, RFC 3901, DOI 10
.17487 , , <https:///RFC3901 www >..rfc -editor .org /info /rfc3901 - [RFC4034]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, DOI 10
.17487 , , <https:///RFC4034 www >..rfc -editor .org /info /rfc4034 - [RFC4193]
-
Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast Addresses", RFC 4193, DOI 10
.17487 , , <https:///RFC4193 www >..rfc -editor .org /info /rfc4193 - [RFC6146]
-
Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers", RFC 6146, DOI 10
.17487 , , <https:///RFC6146 www >..rfc -editor .org /info /rfc6146 - [RFC6540]
-
George, W., Donley, C., Liljenstolpe, C., and L. Howard, "IPv6 Support Required for All IP-Capable Nodes", BCP 177, RFC 6540, DOI 10
.17487 , , <https:///RFC6540 www >..rfc -editor .org /info /rfc6540 - [RFC6877]
-
Mawatari, M., Kawashima, M., and C. Byrne, "464XLAT: Combination of Stateful and Stateless Translation", RFC 6877, DOI 10
.17487 , , <https:///RFC6877 www >..rfc -editor .org /info /rfc6877 - [RFC6888]
-
Perreault, S., Ed., Yamagata, I., Miyakawa, S., Nakagawa, A., and H. Ashida, "Common Requirements for Carrier-Grade NATs (CGNs)", BCP 127, RFC 6888, DOI 10
.17487 , , <https:///RFC6888 www >..rfc -editor .org /info /rfc6888 - [RFC7050]
-
Savolainen, T., Korhonen, J., and D. Wing, "Discovery of the IPv6 Prefix Used for IPv6 Address Synthesis", RFC 7050, DOI 10
.17487 , , <https:///RFC7050 www >..rfc -editor .org /info /rfc7050 - [RFC7269]
-
Chen, G., Cao, Z., Xie, C., and D. Binet, "NAT64 Deployment Options and Experience", RFC 7269, DOI 10
.17487 , , <https:///RFC7269 www >..rfc -editor .org /info /rfc7269 - [RFC7858]
-
Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10
.17487 , , <https:///RFC7858 www >..rfc -editor .org /info /rfc7858 - [RFC8106]
-
Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 8106, DOI 10
.17487 , , <https:///RFC8106 www >..rfc -editor .org /info /rfc8106 - [RFC8201]
-
McCann, J., Deering, S., Mogul, J., and R. Hinden, Ed., "Path MTU Discovery for IP version 6", STD 87, RFC 8201, DOI 10
.17487 , , <https:///RFC8201 www >..rfc -editor .org /info /rfc8201 - [RFC8781]
-
Colitti, L. and J. Linkova, "Discovering PREF64 in Router Advertisements", RFC 8781, DOI 10
.17487 , , <https:///RFC8781 www >..rfc -editor .org /info /rfc8781 - [RFC8900]
-
Bonica, R., Baker, F., Huston, G., Hinden, R., Troan, O., and F. Gont, "IP Fragmentation Considered Fragile", BCP 230, RFC 8900, DOI 10
.17487 , , <https:///RFC8900 www >..rfc -editor .org /info /rfc8900 - [RFC9250]
-
Huitema, C., Dickinson, S., and A. Mankin, "DNS over Dedicated QUIC Connections", RFC 9250, DOI 10
.17487 , , <https:///RFC9250 www >..rfc -editor .org /info /rfc9250 - [RFC9313]
-
Lencse, G., Palet Martinez, J., Howard, L., Patterson, R., and I. Farrer, "Pros and Cons of IPv6 Transition Technologies for IPv4
-as , RFC 9313, DOI 10-a -Service (IPv4aaS)" .17487 , , <https:///RFC9313 www >..rfc -editor .org /info /rfc9313 - [RFC9386]
-
Fioccola, G., Volpato, P., Palet Martinez, J., Mishra, G., and C. Xie, "IPv6 Deployment Status", RFC 9386, DOI 10
.17487 , , <https:///RFC9386 www >..rfc -editor .org /info /rfc9386 - [RFC9499]
-
Hoffman, P. and K. Fujiwara, "DNS Terminology", BCP 219, RFC 9499, DOI 10
.17487 , , <https:///RFC9499 www >..rfc -editor .org /info /rfc9499 - [RFC9872]
-
Buraglio, N., Jensen, T., and J. Linkova, "Recommendations for Discovering IPv6 Prefix Used for IPv6 Address Synthesis", RFC 9872, DOI 10
.17487 , , <https:///RFC9872 www >..rfc -editor .org /info /rfc9872 - [RFC9915]
-
Mrugalski, T., Volz, B., Richardson, M., Jiang, S., and T. Winters, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", STD 102, RFC 9915, DOI 10
.17487 , , <https:///RFC9915 www >..rfc -editor .org /info /rfc9915 - [RIPEV4]
-
RIPE NCC, "The RIPE NCC has run out of IPv4 Addresses", , <https://
www >..ripe .net /publications /news /about -ripe -ncc -and -ripe /the -ripe -ncc -has -run -out -of -ipv4 -addresses - [V6DNSRDY-23]
-
Streibelt, F., Sattler, P., Lichtblau, F., Hernandez-Gañán, C., Feldmann, A., Gasser, O., and T. Fiebig, "How Ready is DNS for an IPv6-Only World?", Passive and Active Measurement (PAM 2023), Lecture Notes in Computer Science, vol. 13882, pp. 525-549, DOI 10
.1007 , , <https:///978 -3 -031 -28486 -1_ 22 link >..springer .com /chapter /10 .1007 /978 -3 -031 -28486 -1_ 22
Appendix A. Changes Since RFC 3901
The following changes have been made to the guidance published in [RFC3901]:¶
-
Expanded the terminology section, also taking considerations from [RFC9499] into account.¶
-
Expanded name space partitioning, independently discussing intentional choices, misconfiguratio
ns, and network conditions, which lead to name space partitioning due to differences in IP address family support.¶ -
Now recommends the use of IPv4 and IPv6 for authoritative DNS servers instead of leaving IPv6 optional.¶
-
Now recommends testing IPv4 and IPv6 resolvability when delegating zones instead of only testing IPv4 resolvability.¶
-
Added guidance on handling IP layer fragmentation.¶
-
Added guidance for IP address family handling for recursive and stub resolvers.¶
Acknowledgments
Valuable input for this document was provided by the following individuals: Bob Harold, Andreas Schulze, Tommy Jensen, Nick Buraglio, Jen Linkova, Tim Chown, Brian E. Carpenter, Tom Petch, Philipp S. Tiesel, Mark Andrews, Stefan Ubbink, Joe Abley, Gorry Fairhurst, Paul Vixie, Lorenzo Colitti, David Farmer, Pieter Lexis, Ralf Weber, Philip Homburg, Marco Davids, Mohamed Boucadair, Thomas Fossati, Aihua Guo, Bernie Volz, David Dong, Roman Danyliw, Éric Vyncke, and Erik Nygren.¶
Furthermore, the authors express their thanks to the
authors of [RFC3901], Alain Durand and Johan Ihren, and provide their
original acknowledgement
This document is the result of many conversations that happened in the DNS community at IETF and elsewhere since 2001. During that period of time, a number of Internet drafts have been published to clarify various aspects of the issues at stake. This document focuses on the conclusion of those discussions.¶
The authors would like to acknowledge the role of Pekka Savola in his thorough review of the document.¶