追記)内向きの名前解決ができなかったのでnamed.confをview句でinternal(内向き)とexternal(外向き)に分けて記述。Windowsのネットワークでns1をDNSにするよう設定しました。
インターリンクのおまかせDNSのBINDの設定例(Unix) を参考に逸般の誤家庭のBINDによるネームサーバーを構築してみました。
まず、VMwareから新たな仮想マシン(CentOS7)をDNS用途にVM(ns1)を作成、固定IP(192.168.1.250)を振りました。
次に、/etc/named.conf にallow-tranceferとzone設定を追加して正引きと逆引きのzoneファイルをそれぞれ作成しました。
ゾーンファイル
in-stuffy.site.zone
1.168.192.in-arpa.zone
stuffy.site.zone
163.58.116.in-addr-arpa.zone
/etc/named.conf
controls { inet 127.0.0.1 allow {localhost; } keys { rndc-key; }; }; acl localnet { 192.168.1.0/24; 127.0.0.1; }; options { #listen-on port 53 { 127.0.0,1,192.168.1.250; }; #listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; recursing-file "/var/named/data/named.recursing"; secroots-file "/var/named/data/named.secroots"; recursion yes; allow-query { localhost; localnet; }; allow-recursion { localhost; localnet; }; allow-query-cache { localhost; localnet; }; allow-transfer { localnet; }; forwarders{ 8.8.8.8; 8.8.4.4; }; forward only; version "no version"; dnssec-enable yes; dnssec-validation auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.root.key"; managed-keys-directory "/var/named/dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; category lame-servers { null; }; }; view "internal" { match-clients { localnet; }; match-destinations { localnet; }; allow-recursion { localhost; localnet; }; # ルートキャッシュファイル zone "." IN { type hint; file "named.ca"; }; # ローカル正引き設定 zone "stuffy.site" { type master; allow-update { localhost; localnet; }; file "in-stuffy.site.zone"; }; # ローカルの逆引き設定 zone "1.168.192.in-addr.arpa" { type master; allow-update { localhost; localnet; }; file "1.168.192.in-addr.arpa.zone"; }; # ローカルの逆引き設定 zone "1.16.172.in-addr.arpa" { type master; allow-update { localhost; localnet; }; file "1.16.172.in-addr.arpa.zone"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key"; }; view "external" { match-clients { any; }; match-destinations { any; }; recursion yes; zone "stuffy.site" { type master; file "stuffy.site.zone"; allow-query { any; }; allow-transfer { {localnet;}; 116.58.163.5; 203.141.128.39; }; }; zone "163.58.116.in-addr.arpa" { type master; file "163.58.116.in-addr.arpa.zone"; allow-query { any; }; allow-transfer { {localnet;}; 116.58.163.5; 203.141.128.39; }; }; }; include "/etc/rndc.key";
host,digコマンドで正引き、逆引きできるまで設定を煮詰めた結果、当方の自宅環境では
/etc/resolv.conf のnameserverを
nameserver 127.0.0.1
nameserver(インターリンクのDNS)
とするとよかったようです。
最後に、宅内ルーターのRTX810で192.168.1.250を53番でポートフォワーディング。おまかせDNSのコントロールパネルでns1をレコード登録しました。
最初は、ネットワークコマンドとnamedの再起動を繰り返すうちhostコマンドが反応しなくなりましたが、rndc flushコマンドでキャッシュをクリアするとめでたくhost,digのanswerが正しく返ってくるようになりました。
[root@ns1 ~]# dig @8.8.8.8 www.stuffy.site ; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> @8.8.8.8 www.stuffy.site ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54174 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 512 ;; QUESTION SECTION: ;www.stuffy.site. IN A ;; ANSWER SECTION: www.stuffy.site. 21600 IN A 116.58.163.4 ;; Query time: 33 msec ;; SERVER: 8.8.8.8#53(8.8.8.8) ;; WHEN: 金 8月 05 14:59:54 JST 2022 ;; MSG SIZE rcvd: 60
追記)CentOS7のファイアウォール設定、iptablesポート開放も忘れずに。
おまかせDNSのBINDの設定例(Unix) ■おまかせDNS■
BIND configuration and DNSSEC, validating * no signature found | jackson-brain.com