Ubuntu 24.04
Sponsored Link

BIND : DNS over HTTPS : Server Settings2024/04/29

 

Configure DNS over HTTPS Server on BIND.

[1]

Get SSL/TLS certificate, refer to here.

[2] Configure BIND.
root@dlp:~#
openssl dhparam -out /etc/bind/dhparam.pem 3072

root@dlp:~#
cp /etc/letsencrypt/live/dlp.srv.world/{fullchain.pem,privkey.pem} /etc/bind/

root@dlp:~#
chown bind:bind /etc/bind/{fullchain.pem,privkey.pem,dhparam.pem}
root@dlp:~#
vi /etc/bind/named.conf.options
// add settings for certificate
tls local-tls {
        key-file "/etc/bind/privkey.pem";
        cert-file "/etc/bind/fullchain.pem";
        dhparam-file "/etc/bind/dhparam.pem";
};

http local {
    endpoints { "/dns-query"; };
};

options {
.....
.....
        dnssec-validation auto;

        // add and change like follows
        listen-on tls local-tls http local { any; };
        listen-on-v6 tls local-tls http local { any; };
};

root@dlp:~#
systemctl restart named

[3] Verify Name Resolution with HTTPS on localhost.
root@dlp:~#
dig +https @127.0.0.1 dlp.srv.world.


; <<>> DiG 9.18.24-0ubuntu5-Ubuntu <<>> +https @127.0.0.1 dlp.srv.world.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55932
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: fc1f62cdf18fdc3401000000662fa0c89d26a7abc635fe9d (good)
;; QUESTION SECTION:
;dlp.srv.world.                 IN      A

;; ANSWER SECTION:
dlp.srv.world.          86400   IN      A       10.0.0.30

;; Query time: 0 msec
;; SERVER: 127.0.0.1#443(127.0.0.1) (HTTPS)
;; WHEN: Mon Apr 29 13:29:44 UTC 2024
;; MSG SIZE  rcvd: 86
Matched Content