Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Add DNS over TLS support #7343

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

antoniotorresm
Copy link
Contributor

Add DNS over TLS support using Unbound as a local resolver. This includes new options on both server and client side.

  • --dns-over-tls: enable DNS over TLS support. This option is present on both client and server. It deploys Unbound and configures BIND on the server to receive DoT requests.
  • --dot-forwarder: the upstream DNS server with DoT support. It must be specified in the format 1.2.3.4#dns.server.test
  • --dns-over-tls-key and --dns-over-tls-cert: in case user prefers to have the DoT certificate in BIND generated by themselves. If these are empty, IPA CA is used instead to request a new certificate.

@f-trivino f-trivino self-requested a review May 20, 2024 07:58
@f-trivino f-trivino changed the title Add DNS over TLS support WIP: Add DNS over TLS support May 21, 2024
@f-trivino f-trivino added the WIP Work in progress - not ready yet for review label May 21, 2024
Add DNS over TLS support using Unbound as a local resolver. This
includes new options on both server and client side.

* `--dns-over-tls`: enable DNS over TLS support. This option is present
  on both client and server. It deploys Unbound and configures BIND on
the server to receive DoT requests.
* `--dot-forwarder`: the upstream DNS server with DoT support. It must
  be specified in the format `1.2.3.4#dns.server.test`
* `--dns-over-tls-key` and `--dns-over-tls-cert`: in case user prefers
  to have the DoT certificate in BIND generated by themselves. If these
  are empty, IPA CA is used instead to request a new certificate.
Add design page for Encrypted DNS traffic support.

Fixes: TBD
Signed-off-by: Francisco Trivino <[email protected]>
@@ -0,0 +1,7 @@
server:
tls-cert-bundle: $TLS_CERT_BUNDLE_PATH
interface: 127.0.0.55
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps we could use 127.0.0.53 as the port is 53?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

127.0.0.53 is used already by systemd-resolved.

       •   Additionally, systemd-resolved provides a local DNS stub listener on the IP addresses 127.0.0.53 and 127.0.0.54 on the local loopback interface. Programs issuing DNS requests directly, bypassing any local API may
           be directed to this stub, in order to connect them to systemd-resolved. Note however that it is strongly recommended that local programs use the glibc NSS or bus APIs instead (as described above), as various
           network resolution concepts (such as link-local addressing, or LLMNR Unicode domains) cannot be mapped to the unicast DNS protocol.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WIP Work in progress - not ready yet for review
Projects
None yet
3 participants