追記)内向きの名前解決ができなかったので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
