Discovery of Encrypted DNS Resolvers: Deployment Considerations
Mohamed Boucadair, Ed.
Orange
Rennes
35000
France
mohamed.boucadair@orange.com
Tirumaleswar Reddy, Ed.
Nokia
India
kondtir@gmail.com
Dan Wing
Citrix Systems, Inc.
USA
dwing-ietf@fuggles.com
Neil Cook
Open-Xchange
UK
neil.cook@noware.co.uk
Tommy Jensen
Microsoft
USA
tojens@microsoft.com
The document discusses some deployment considerations of the various options to discover encrypted DNS resolvers (e.g., DNS-over-HTTPS, DNS-over-TLS, or DNS-over-QUIC). Particularly, this document is meant to exemplify how Discovery of Network-designated Resolvers (DNR) and Discovery of Designated Resolvers (DDR) can be used in typical deployment contexts. Also, the document includes considerations related to hosting a DNS forwarder in local networks.

Introduction
Discovery of Network-designated Resolvers (DNR) [I-D.ietf-add-dnr] specifies how a local encrypted DNS resolver can be discovered by connected hosts by means of DHCP [RFC2132], DHCPv6 [RFC8415], and IPv6 Router Advertisement (RA) [RFC4861] options. These options are designed to convey the following information: the DNS Authentication Domain Name (ADN), a list of IP addresses, and a set of service parameters. The ADN is used as a reference identifier for authentication purposes, while the list of IP addresses designate where to locate the resolver without relying upon an external resolver. The service parameters provide additional information to characterize a DNS resolver (e.g., supported encrypted DNS, customized DNS port number, or URI Template for DNS-over-HTTPS (DoH)). Such an information is used by a DNS client for DNS resolver selection and session establishment.
This document discusses some deployment considerations for the discovery of encrypted DNS resolvers such as DoH [RFC8484], DNS-over-TLS (DoT) [RFC7858], or DNS-over-QUIC (DoQ) [RFC9250] in local networks.
Sample target deployment scenarios are discussed in Section 3; both managed and unmanaged Customer Premises Equipment (CPEs) are covered. It is out of the scope of this document to provide an exhaustive inventory of deployments where Encrypted DNS options can be used.
Considerations related to hosting a DNS forwarder in a local network are described in Section 4. In contexts where CPEs can't be upgraded to support DNR, Discovery of Designated Resolvers (DDR) [I-D.ietf-add-ddr] can be used. See Section 5 for more details.
Techniques, such as the one defined in [I-D.boucadair-opsawg-add-encrypted-dns], can be enabled together with [I-D.ietf-add-dnr] to feed the Encrypted DNS options. However, the document does not make any assumption about the internal behavior at the network side to feed the Encrypted DNS options that are supplied to requesting hosts; only the external observed behavior is detailed in the following sections.
Policies to guide the activation and selection of encrypted DNS can be configured by users using implementation specific means (e.g., CPE management interface).

Terminology
This document makes use of the terms defined in [RFC8499].
The following additional terms are used:
DHCP: refers to both DHCPv4 and DHCPv6.
Do53: refers to unencrypted DNS.
DNR: refers to the Discovery of Network-designated Resolvers procedure defined in [I-D.ietf-add-dnr].
DDR: refers to the Discovery of Designated Resolvers procedure defined in [I-D.ietf-add-ddr].
Encrypted DNS: refers to a scheme where DNS exchanges are transported over an encrypted channel. Examples of encrypted DNS are DoT, DoH, or DoQ.
Encrypted DNS options: refers to the options defined in [I-D.ietf-add-dnr].
Managed CPE: refers to a CPE that is managed by an Internet Service Provider (ISP).
Unmanaged CPE: refers to a CPE that is not managed by an ISP.

Sample Target Deployment Scenarios
ISPs usually provide DNS resolvers to their customers. To that aim, ISPs deploy the following mechanisms to advertise a list of DNS Recursive DNS server(s) to their customers:
- Protocol Configuration Options in cellular networks [TS.24008].
- DHCPv4 [RFC2132] (Domain Name Server Option) or DHCPv6 [RFC8415][RFC3646] (OPTION_DNS_SERVERS).
- IPv6 Router Advertisement [RFC4861][RFC8106] (Type 25 (Recursive DNS Server Option)).
The communication between a customer's device (possibly via a CPE) and an ISP-supplied DNS resolver takes place by using cleartext DNS messages (Do53). Some examples are depicted in cases (a) and (c) of Figure 1. In the case of cellular networks, the cellular network will provide connectivity directly to a host (e.g., smartphone, tablet) or via a CPE. Do53 mechanisms used within the Local Area Network (LAN) are similar in both fixed and cellular CPE-based broadband service offerings.
Some ISPs rely upon external resolvers (e.g., outsourced service or public resolvers); these ISPs provide their customers with the IP addresses of these external DNS resolvers. An example is depicted in cases (b) and (d) of Figure 1.
The IP addresses of the DNS resolver can also be configured on CPEs using dedicated management tools. As such, users can modify the default DNS configuration of their CPEs (e.g., supplied by their ISP) to configure their favorite DNS servers. This document permits such deployments.

Sample Legacy Deployments
(a) Fixed networks with a local DNS resolver

                                 ,--,--,--.
    +-+      LAN     +---+    ,-'           `-.
    |H+--------------+CPE+---+      ISP        )
    +-+              +---+    `-.          ,-'
     |                           `--'--'--'
     |                               |
     |<=============Do53============>|
     |                               |

(b) Fixed networks with a 3rd party DNS resolver

                                 ,--,--,--.
    +-+      LAN     +---+    ,-'           `-.      3rd Party
    |H+--------------+CPE+---+      ISP        )--- DNS Resolver
    +-+              +---+    `-.          ,-'         |
     |                           `--'--'--'            |
     |                                                 |
     |<========================Do53===================>|
     |                                                 |

(c) Cellular networks with a local DNS resolver

     |                               |
     |<=============Do53============>|
     |                               |
     |                           ,--,--,-.
    +-+      LAN     +---+    ,-'         .
    |H+--------------+CPE+---+             \
    +-+              +---+  ,'     ISP     `-.
                            (                )
                       +-----+-.          ,-'
    +-+                |        `--'--'--'
    |H+----------------+             |
    +-+                              |
     |                               |
     |<=============Do53============>|
     |                               |

(d) Cellular networks with a 3rd party DNS resolver

     |                                               |
     |<==================Do53=======================>|
     |                                               |
     |                           ,--,--,-.           |
    +-+      LAN     +---+    ,-'         .          |
    |H+--------------+CPE+---+             \         |
    +-+              +---+  ,'     ISP     `-.    3rd Party
                            (                )--- DNS Resolver
                       +-----+-.          ,-'        |
    +-+                |        `--'--'--'           |
    |H+----------------+                             |
    +-+                                              |
     |                                               |
     |<==================Do53=======================>|
     |                                               |

Legend:
 * H: refers to a host.

Managed CPEs
This section focuses on CPEs that are managed by ISPs.

Direct DNS
ISPs have developed an expertise in managing service-specific configuration information (e.g., CPE WAN Management Protocol [TR-069]). For example, these tools may be used to provision the DNS server's ADN and additional service parameters to managed CPEs if an encrypted DNS is supported by a network similar to what is depicted in Figure 2.
For example, DoH-capable DNS clients establish the DoH session with the discovered DoH server.
The DNS client discovers whether the network-designated DNS resolver supports a given encrypted DNS scheme (e.g., DoT or DoH) by using the "alpn" service parameter (Section 3.1.5 of [I-D.ietf-add-dnr]).

Encrypted DNS in the WAN
(a) Fixed Networks

                                 ,--,--,--.
    +-+      LAN     +---+    ,-'           `-.
    |H+--------------+CPE+---+      ISP        )
    +-+              +---+    `-.          ,-'
     |                           `--'--'--'
     |                               |
     |<========Encrypted DNS========>|
     |                               |

(b) Cellular Networks

     |                               |
     |<========Encrypted DNS========>|
     |                               |
     |                           ,--,--,-.
    +-+      LAN     +---+    ,-'         .
    |H+--------------+CPE+---+             \
    +-+              +---+  ,'     ISP     `-.
                            (                )
                       +-----+-.          ,-'
    +-+                |        `--'--'--'
    |H+----------------+             |
    +-+                              |
     |                               |
     |<========Encrypted DNS========>|
     |                               |
Figure 2 shows the scenario where the CPE relays the list of encrypted DNS resolvers it learns from the network by using, e.g., DNR. Direct encrypted DNS sessions will be established between a host serviced by a CPE and an ISP-supplied encrypted DNS resolver. Figure 3 shows the example of exchanges that occur for an encrypted DNS capable host. The DNR exchanges that occur at the CPE WAN may be terminated by a centralized DHCP server or a router that is located at the edge of the ISP's network.

Direct Encrypted DNS Sessions

                      ,--,--,--.             ,--,--,--.
                   ,-'          `-.       ,-'   ISP    `-.
           Host---(      LAN      CPE----(    DNS Resolver)
             |     `-.          ,-'       `-.          ,-'
             |        `--'--'--'   |       | `--'--'--'
             |                     |<=DNR=>|     |
             |<========DNR========>|       |     |
             |                     |             |
             |                                   |
             |<=========Encrypted DNS===========>|
             |                                   |

Proxied DNS
Figure 4 shows various deployments where the CPE embeds a caching DNS forwarder. Cases (b) and (d) involves a host (called legacy host) that does not support DNR.

Proxied Encrypted DNS Sessions
(a)

                      ,--,--,--.             ,--,--,--.
                   ,-'          `-.       ,-'   ISP    `-.
           Host---(      LAN      CPE----(    DNS Resolver)
             |     `-.          ,-'|      `-.          ,-'
             |        `--'--'--'   |       | `--'--'--'
             |                     |<=DNR=>|     |
             |<========DNR========>|       |     |
             |                     |             |
             |<=====Encrypted=====>|<=Encrypted=>|
             |         DNS         |     DNS     |

(b)
                      ,--,--,--.             ,--,--,--.
          Legacy   ,-'          `-.       ,-'   ISP    `-.
           Host---(      LAN      CPE----(    DNS Resolver)
             |     `-.          ,-'|      `-.          ,-'
             |        `--'--'--'   |       | `--'--'--'
             |                     |<=DNR=>|     |
             |<====DHCP/RA(Do53)==>|       |     |
             |                     |             |
             |<=======Do53========>|<=Encrypted=>|
             |                     |     DNS     |

(c)

                  ,--,--,--.             ,--,--,--.
               ,-'          `-.       ,-'   ISP    `-.      3rd Party
       Host---(      LAN      CPE----(                )--- DNS Resolver
         |     `-.          ,-'|      `-.          ,-'        |
         |        `--'--'--'   |       | `--'--'--'           |
         |                     |<=DNR=>|                      |
         |<========DNR========>|       |                      |
         |                     |                              |
         |<=====Encrypted=====>|<=========Encrypted DNS======>|
         |         DNS         |                              |

(d)

                  ,--,--,--.             ,--,--,--.
      Legacy   ,-'          `-.       ,-'   ISP    `-.      3rd Party
       Host---(      LAN      CPE----(                )--- DNS Resolver
         |     `-.          ,-'|      `-.          ,-'        |
         |        `--'--'--'   |       | `--'--'--'           |
         |                     |<=DNR=>|                      |
         |<====DHCP/RA(Do53)==>|       |                      |
         |                     |                              |
         |<========Do53=======>|<=========Encrypted DNS======>|
         |                     |                              |

For all the cases shown in Figure 4, the CPE advertises itself as the default DNS server to the hosts it serves in the LAN. The CPE relies upon DHCP or RA to advertise itself to internal hosts as the default encrypted DNS (cases (a) and (c)) or Do53 resolver (cases (b) and (d)). When receiving a DNS request it cannot handle locally, the CPE forwards the request to an upstream encrypted DNS. The upstream encrypted DNS can be hosted by the ISP (cases (a) and (b)) or provided by a third party (cases (c) and (d)).
Such a forwarder deployment is required for IPv4 service continuity purposes (e.g., Section 5.4.1 of [I-D.ietf-v6ops-rfc7084-bis]) or for supporting advanced services within a local network (e.g., malware filtering, parental control, Manufacturer Usage Description (MUD) [RFC8520] to only allow intended communications to and from an IoT device). When the CPE behaves as a DNS forwarder, DNS communications can be decomposed into two legs:
- The leg between an internal host and the CPE.
- The leg between the CPE and an upstream DNS resolver.
An ISP that offers encrypted DNS to its customers may enable encrypted DNS in one or both legs as shown in Figure 4. Additional considerations related to this deployment are discussed in Section 4.

Unmanaged CPEs

ISP-facing Unmanaged CPEs
Customers may decide to deploy unmanaged CPEs (assuming the CPE is compliant with the network access technical specification that is usually published by ISPs). Upon attachment to the network, an unmanaged CPE receives from the network its service configuration (including the network-designated DNS information) by means of, e.g., DHCP. That DNS information is shared within the LAN following the same mechanisms as those discussed in Section 3.1. A host can then establish encrypted DNS sessions with encrypted DNS resolvers similar to what is depicted in Figure 3 or Figure 4.

Internal Unmanaged CPEs
Customers may also decide to deploy internal routers (called hereafter, Internal CPEs) for a variety of reasons that are not detailed here.
Absent any explicit configuration on the internal CPE to override the DNS configuration it receives from the ISP-supplied CPE, an Internal CPE relays the DNS information it receives via DHCP/RA from the ISP-supplied CPE to connected hosts. Encrypted DNS sessions can be established by a host with the DNS resolvers that are supplied by the ISP (see Figure 5).

Direct Encrypted DNS Sessions with the ISP DNS Resolver (Internal CPE)

          ,--,--,--.                    ,--,--,--.
       ,-'          Internal         ,-'    ISP   `-.
Host--(    Network#A   CPE----CPE---(    DNS Resolver )
 |     `-.          ,-'        |     `-.          ,-'
 |        `--'--'--'   |       |       | `--'--'--'
 |                     |       |<=DNR=>|    |
 |                     |<=DNR=>|            |
 |<========DNR========>|       |            |
 |                     |                    |
 |                                          |
 |<==============Encrypted DNS=============>|
 |                                          |

Similar to managed CPEs, a user may modify the default DNS configuration of an unmanaged CPE to use his/her favorite encryptdd DNS resolvers instead. Encrypted DNS sessions can be established directly between a host and a 3rd Party DNS resolver (see Figure 6).

Direct Encrypted DNS Sessions with a Third Party DNS Resolver
         ,--,--,--.                  ,--,
       ,'         Internal        ,-'    '-     3rd Party
Host--(  Network#A  CPE----CPE---(   ISP   )--- DNS Resolver
 |     `.         ,-'             `-.    -'         |
 |       `-'--'--'  |                `--'           |
 |                  |                               |
 |<========DNR=====>|                               |
 |                  |                               |
 |                                                  |
 |<=================Encrypted DNS==================>|
 |                                                  |

Section 4.2 discusses considerations related to hosting a forwarder in the Internal CPE.

Hosting Encrypted DNS Forwarder in Local Networks
This section discusses some deployment considerations to host an encrypted DNS forwarder within a local network.

Managed CPEs
The section discusses mechanisms that can be used to host an encrypted DNS forwarder in a managed CPE (Section 3.1).

DNS Forwarders
The managed CPE should support a configuration parameter to instruct the CPE whether it has to relay the encrypted DNS resolver received from the ISP's network or has to announce itself as a forwarder within the local network. The default behavior of the CPE is to supply the encrypted DNS resolver received from the ISP's network.

ACME
The ISP can assign a unique FQDN (e.g., "cpe1.example.com") and a domain-validated public certificate to the encrypted DNS forwarder hosted on the CPE.
Automatic Certificate Management Environment (ACME) [RFC8555] can be used by the ISP to automate certificate management functions such as domain validation procedure, certificate issuance, and certificate revocation.

Unmanaged CPEs
The approach specified in Section 4.1 does not apply for hosting a DNS forwarder in an unmanaged CPE.
The unmanaged CPE administrator can host an encrypted DNS forwarder on the unmanaged CPE. This assumes the following:
- The encrypted DNS resolver certificate is managed by the entity in-charge of hosting the encrypted DNS forwarder.
Alternatively, a security service provider can assign a unique FQDN to the CPE. The encrypted DNS forwarder will act like a private encrypted DNS resolver only be accessible from within the local network.
- The encrypted DNS forwarder will either be configured to use the ISP's or a 3rd party encrypted DNS resolver.
- The unmanaged CPE will advertise the encrypted DNS forwarder ADN using DHCP/RA to internal hosts as per [I-D.ietf-add-dnr].
Figure 7 illustrates an example of an unmanaged CPE hosting a forwarder which connects to a 3rd party encrypted DNS resolver. In this example, the DNS information received from the managed CPE (and therefore from the ISP) is ignored by the Internal CPE hosting the forwarder. The internal CPE may support a mechanism (e.g., [I-D.ietf-add-split-horizon-authority]) to resolve split-horizon domains (e.g., provider's private name discussed in Section 2 of [RFC6731]).

Example of an Internal CPE Hosting a Forwarder
         ,--,--,--.                         ,--,
       ,'         Internal   Managed     ,-'    '-     3rd Party
Host--(  Network#A  CPE--------CPE------(   ISP   )--- DNS Resolver
 |     `.         ,-'|          |        `-.    -'       |
 |       `-'--'--'   |          |<==DNR===>|`--'         |
 |                   X<==DNR===>|          |             |
 |<=======DNR=======>|          |                        |
 |    {ADN, @i}      |                                   |
 |                   |                                   |
 |<==Encrypted DNS==>|<==========Encrypted DNS==========>|
 |                   |                                   |

Legend:
  * @i: IP address of the DNS forwarder hosted in the Internal
        CPE.

An unmanaged CPE can be used to host an encrypted DNS forwarder even if the managed CPE does not support DNR. In the example depicted in Figure 8, the ISP uses DHCP to provision Do53 resolvers to managed CPEs, while DNR is enabled between the internal CPE and the hosts it services. The internal CPE ignores the DNS configuration that it receives from the managed CPE.

Example of an Internal CPE Hosting a Forwarder (2)
         ,--,--,--.                         ,--,
       ,'         Internal   Managed     ,-'    '-     3rd Party
Host--(  Network#A  CPE--------CPE------(   ISP   )--- DNS Server
 |     `.         ,-'|          |        `-.    -'       |
 |       `-'--'--'   |          |<==DHCP==>|`--'         |
 |                   X<==DHCP==>|   Do53   |             |
 |<=======DNR=======>|   Do53   |                        |
 |    {ADN, @i}      |                                   |
 |<==Encrypted DNS==>|<==========Encrypted DNS==========>|
 |                   |                                   |

Legend:
  * @i: IP address of the DNS forwarder hosted in the Internal
        CPE.

Legacy CPEs
Hosts serviced by legacy CPEs that can't be upgraded to support the options defined in Sections 4, 5, and 6 of [I-D.ietf-add-dnr] won't be able to learn the encrypted DNS resolver hosted by the ISP, in particular. If the ADN is not discovered using DHCP/RA, such hosts will have to fallback to use discovery using the resolver IP address as defined in Section 4 of [I-D.ietf-add-ddr] to discover the designated resolvers.
The guidance in Sections 4.1 and 4.2 of [I-D.ietf-add-ddr] related to the designated resolver verification has to be followed in such a case.

Security Considerations
DNR-related security considerations are discussed in Section 7 of [I-D.ietf-add-dnr]. Likewise, DDR-related security considerations are discussed in Section 7 of [I-D.ietf-add-ddr].

IANA Considerations
This document does not require any IANA action.

Acknowledgements
This text was initially part of [I-D.ietf-add-dnr].

Normative References

Informative References
[TR-069]

CPE WAN Management Protocol
The Broadband Forum
December 2018
[TS.24008]

Mobile radio interface Layer 3 specification; Core network protocols; Stage 3 (Release 16)
3GPP
0 December 2019
[I-D.ietf-add-dnr]
[RFC2132]
[RFC8415]
[RFC4861]
[RFC8484]
[RFC7858]
[RFC9250]
[I-D.ietf-add-ddr]
[I-D.boucadair-opsawg-add-encrypted-dns]
[RFC8499]
[RFC3646]
[RFC8106]
[I-D.ietf-v6ops-rfc7084-bis]
[RFC8520]
[RFC8555]
[I-D.ietf-add-split-horizon-authority]
[RFC6731]