BIND : DNS over HTTPS サーバーの設定2025/11/03 |
|
BIND での DNS over HTTPS サーバーの設定です。 |
|
| [1] |
事前に SSL/TLS 証明書を取得しておきます。 |
| [2] | BIND の設定です。 |
|
[root@dlp ~]#
openssl dhparam -out /var/named/dhparam.pem 3072 [root@dlp ~]# cp /etc/letsencrypt/live/dlp.srv.world/{fullchain.pem,privkey.pem} /var/named/ [root@dlp ~]# chown named:named /var/named/{fullchain.pem,privkey.pem,dhparam.pem}
[root@dlp ~]#
vi /etc/named.conf // 証明書の設定を追記 tls local-tls { key-file "/var/named/privkey.pem"; cert-file "/var/named/fullchain.pem"; dhparam-file "/var/named/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; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; ..... .....[root@dlp ~]# systemctl restart named |
| [3] | SELinux を有効にしている場合は、ブール値の変更が必要です。 |
|
[root@dlp ~]# setsebool -P named_tcp_bind_http_port on |
| [4] | Firewalld を有効にしている場合はサービスの許可が必要です。 |
|
[root@dlp ~]# firewall-cmd --add-service={http,https} success [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
| [5] | HTTPS で名前解決ができるかどうかの動作確認を行います。 |
|
[root@dlp ~]# dig +https @127.0.0.1 dlp.srv.world. ; <<>> DiG 9.18.41 <<>> +https @127.0.0.1 dlp.srv.world. ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18735 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1232 ; COOKIE: 897c36c927a046d901000000690803f806a1a7d85edd5178 (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 Nov 03 10:23:04 JST 2025 ;; MSG SIZE rcvd: 86 |
| Sponsored Link |
|
|