機能 
 構成・方式 
 タスク 
 インストール 
    CentOS 7
    resolv.conf
    named.conf
    ゾーンファイル
    ポート確認
    ゾーン転送確認
    設定ファイル保存

 CentOS 7
 ・CentOS 7の公式リポジトリのBind
$ yum info bind-chroot bind
バージョン : 9.11.4
 ・インストール
# yum install bind bind-chroot
インストール
bind.x86_64 32:9.11.4-26.P2.el7
依存性を更新
bind-libs.x86_64 32:9.11.4-26.P2.el7
bind-license.noarch 32:9.11.4-26.P2.el7
 ・named サービスが実行中の場合は、無効にする。
# systemctl stop named
# systemctl disable named
# systemctl enable named-chroot
# systemctl start named-chroot
 ・named-chroot サービスのステータスを確認
# systemctl status named-chroot
 ・必要ならアップデート

 resolv.conf
 ・自身を先に参照するような場合
 ・CentOS7、NetworkManager、nmtui
当該DNSサーバを上に入れる。
結果を、/etc/resolv.conf で確認
search は、domain の複数指定
search したいドメインがあったら、検索ドメインへ追加

 「named.conf」の設定
 ・書式確認
# named-checkconf
 ・元の設定ファイルをバックアップし、設定
# vi /etc/named.conf (コンテンツサーバなど)
用途などに応じて、追加、削除、変更を行う。
汎用的なDNS名前解決に使用できないコンテンツサーバはresolv.confに加えない。
(キャッシュDNSサーバを別に用意することが前提)
 ・VIEW機能の使用
オプション設定やゾーン情報を、外部向け内部向け別々に設定し、一台のホストに同居
 ・オプションなど     acl internal-acl{      127.0.0.1;      192.168.1.0/24;      192.168.xx.0/24;      # 192.168.xx.1 に対外ルータ(外部DNSの解決)     };     options {         listen-on port 53 { any; };         # listen-on port 53 { 127.0.0.1;問い合わせを受け付けるIP; };         listen-on-v6 port 53 { any; };         # listen-on-v6 port 53 { none; };         version "unknown";         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";         notify no;         # 各ゾーンの設定部分でも指定変更可能         allow-transfer { 192.168.1.xx; };         # Masterの場合は、Slaveなどを指定         allow-query-cache { none; };         allow-query { any; [localnet;] };         # 名前解決の問い合わせを受け付ける範囲         recursion yes;         # コンテンツサーバの場合「no」、共有の場合「view "external"」で「no」         dnssec-enable no;         dnssec-validation no;         dnssec-lookaside no;         /* Path to ISC DLV key */         bindkeys-file "/etc/named.iscdlv.key";         #managed-keys-directory "/var/named/dynamic";         forwarders{             192.168.xx.1;             XXX.XXX.XXX.XXX;             8.8.8.8;         };         # ルーター経由接続環境の場合はルーターのIPアドレス         # PPPoE接続環境の場合はプロバイダのプライマリマスタのIPアドレス         # PPPoE接続環境の場合はプロバイダのセカンダリマスタのIPアドレス         # キャッシュサーバとして使わなければ不要     };         use-v6-udp-ports { };         # IPv6のポートを開放しない  ・ログ     logging {         channel default_debug {             file "data/named.run";             severity dynamic;         };         category lame-servers { null; };         category edns-disabled { null; };         # 必要時に開放     };  ・view     view "internal" {     # 内部ネットワーク向けのゾーンを定義(コンテンツサーバの場合、不要)         match-clients { internal-acl; };         # リクエスト元のソースIPでマッチを行う。         match-destinations { localnets; };         # リクエストを受け付けるインターフェースのIPアドレスでマッチを行う。         recursion yes;         include "/etc/named.rfc1912.zones";         zone "." IN {type hint; file "named.ca";};         # recursionを行わない場合、不要         include "/etc/named.root.key";         include "/etc/named/xxxxxxxx.zone";         include "/etc/named/yyyyyyyy.zone";         # internal.zones(量が少なければ、直接zone記述が見易い)     };     view "external" {         match-clients { any; };         match-destinations { any; };         recursion no;         # ログ確認 client x.x.x.x#xxxx (x.x): view external: query 'x.x/ANY/IN' denied         include "/etc/named/xxxxxxxx.zone.wan";         include "/etc/named/yyyyyyyy.zone.wan";         # マルチドメインの場合     };
 ・/etc/named/xxxxxxxx.zone (マスター側)     zone "(ZoneApex名)" {      type master;      file "xxxx.xxx.db";     };     };     zone "xx.x.xxx.in-addr.arpa" {      type master;      file "xx.x.xxx.in-addr.arpa.db";     };
 ・/etc/named/xxxxxxxx.zone.wan (マスター側)     zone "(ZoneApex名)" {      type master;      file " xxxx.xxx.db.wan";      allow-transfer { xxx.x.xx.xx; };      # セカンダリDNSサーバ(プライマリDNSサーバの場合)      #notify yes; (ある場合)     };     zone "xx.x.xxx.in-addr.arpa" {      type master;      file "xx.x.xxx.in-addr.arpa.db.wan";      allow-transfer { xxx.x.xx.xx; };      # セカンダリDNSサーバ(プライマリDNSサーバの場合)      #notify yes; (ある場合)     };  ・/etc/named/xxxxxxxx.zone.wan (スレーブ側)     zone "xxxx.xxx" {      type slave;      masterfile-format text;      # data形式(binary)ではなくなるが起動は遅れる。      file "slaves/xxxx.xxx.slave.db.wan";      masters { xxx.x.xx.xx; };     };     zone "xx.x.xxx.in-addr.arpa" {      type slave;      masterfile-format text;      file "slaves/xx.x.xxx.slave.in-addr.arpa.db.wan";      masters { xxx.x.xx.xx; };     };
 ゾーンファイル
 ・書式確認
# named-checkzone [ゾーン名] [チェックするゾーンファイル名]
 ・「chroot」の場合
「/var/named/chroot」配下で編集
 ・正引きゾーンファイル(/var/named/chroot/var/named/xxxx.xxx.db.wan      [$ORIGIN xxxx.net.]      $TTL 3600 ; 1 hour      @ IN SOA ns1.xxx.net. root.xxx.net. (      2020111901 ; Serial      3600 ; Refresh(1 hour)      1200 ; Retry(20 min.)      1209600 ; Expire(2 weeks)      900 ;Minimum(15 min.)      )      @ IN NS ns1.xxx.xxx.      @ IN NS ns2.xxx.xxx.      @ IN MX 10 mail.xxx.xxx.      ns1 IN A xxx.x.xx.xx      ns2 IN A xxx.x.xx.xx      mail IN A xxx.x.xx.xx      sv4 IN A xxx.x.xx.xx      www IN CNAME sv4  ・逆引きゾーンファイル(/var/named/chroot/var/named/xx.x.xxx.in-addr.arpa.db.wan      $TTL 3600 ; 1 hour      @ IN SOA ns1.xxx.net. root.xxx.net. (      2020111901 ; Serial      3600 ; Refresh(1 hour)      1200 ; Retry(20 min.)      1209600 ; Expire(2 weeks)      900 ;Minimum(15 min.)      )      26 IN PTR xxxx.xxxx.xxx.      27 IN PTR xxxx.xxxx.xxx.      28 IN PTR xxxx.xxxx.xxx.      29 IN PTR xxxx.xxxx.xxx.
 ・メールエクスチェンジャ
有効なAレコードが必要
MXレコードで指し示されるホストはエイリアス(CNAMEレコード)であってはならない。
IPアドレスではなく、ホスト名で指定する。
プリファレンス値を必ず指定する。

 ・「;」は重要
区切りの働き

 ポート確認
 ・二度手間にならないように、ポートを確認しながら設定する。 # lsof -i:53 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME named 2463 named 21u IPv4 25839 0t0 TCP localhost:domain (LISTEN) named 2463 named 22u IPv4 25841 0t0 TCP aa0xx0xx.ppp.xxx.xxx.xxx:domain (LISTEN) named 2463 named 23u IPv4 25843 0t0 TCP xxx.xxx.xxx:domain (LISTEN) named 2463 named 24u IPv4 25845 0t0 TCP 192.168.x.xx:domain (LISTEN) named 2463 named 512u IPv4 25838 0t0 UDP localhost:domain named 2463 named 514u IPv4 25840 0t0 UDP aa0xx0xx.ppp.xxxx.xxxx.xxxx:domain named 2463 named 516u IPv4 25842 0t0 UDP xxxx.xxxx.xxxx:domain named 2463 named 518u IPv4 25844 0t0 UDP 192.168.x.xx:domain
 ゾーン転送確認 (AXFR(Authoritative Transfer))
 ・構築後の検証用のコマンド
$ dig [@DNSサーバのIPアドレスなど] [対象のドメイン] axfr
 ・ゾーン転送が不可能な状態
  : 
  : 
; Transfer failed.
 ・スレーブ側から、転送を受けれることを確認

 設定ファイルの保存
 ・named.confなどの設定ファイルを保存
別名ファイルは再インストールでも消えない。