修正)おまかせDNS構築(named.conf)

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

DNSサーバー構築(BIND)

№3040 bindの名前解決ができない – Web Patio – CentOSで自宅サーバー構築

DNS BIND rndc 制御 キャッシュの消し方

同じカテゴリーの記事

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です