BIND : DNS over HTTPS サーバーの設定2025/10/16 |
|
BIND での DNS over HTTPS サーバーの設定です。 |
|
| [1] |
事前に SSL/TLS 証明書を取得しておきます。 |
| [2] | BIND の設定です。 |
|
dlp:~ #
openssl dhparam -out /var/lib/named/dhparam.pem 3072 dlp:~ # cp /etc/letsencrypt/live/dlp.srv.world/{fullchain.pem,privkey.pem} /var/lib/named/ dlp:~ # chown named:named /var/lib/named/{fullchain.pem,privkey.pem,dhparam.pem}
dlp:~ #
vi /etc/named.conf // 証明書の設定を追記 tls local-tls { key-file "privkey.pem"; cert-file "fullchain.pem"; dhparam-file "dhparam.pem"; ciphers "HIGH:!kRSA:!aNULL:!eNULL:!RC4:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!SHA1:!SHA256:!SHA384"; prefer-server-ciphers yes; session-tickets no; }; http local { endpoints { "/dns-query"; }; }; options { ..... ..... // 以下のように変更 listen-on tls local-tls http local { any; }; listen-on-v6 tls local-tls http local { any; }; ..... .....dlp:~ # systemctl restart named |
| [3] | SELinux を有効にしている場合は、ブール値の変更が必要です。 |
|
dlp:~ # setsebool -P named_tcp_bind_http_port on |
| [4] | Firewalld を有効にしている場合はサービスの許可が必要です。 |
|
dlp:~ # firewall-cmd --add-service={http,https} success dlp:~ # firewall-cmd --runtime-to-permanent success |
| [5] | HTTPS で名前解決ができるかどうかの動作確認を行います。 |
|
dlp:~ # dig +https @127.0.0.1 dlp.srv.world. ; <<>> DiG 9.20.11 <<>> +https @127.0.0.1 dlp.srv.world. ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35159 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 1864e137673d841e0100000068f0745a6cb5c1417ab16905 (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: Thu Oct 16 13:28:10 JST 2025 ;; MSG SIZE rcvd: 86 |
| Sponsored Link |
|
|