サーバー側#
(1)オンラインで bind9 をインストールする
yum install -y bind bind-utils
(2)サービスを起動する
systemctl start named
(3)サービスの状態を確認する
systemctl status named
(4)サービスを自動起動に設定する
systemctl enable named
(5)named サービスの設定ファイルを変更し、DNS ログのパスを設定する
vi /etc/named.conf
-------------------named.conf-------------------
options {
        // すべてのネットワークインターフェースからのDNSリクエストを受け入れる
        listen-on port 53 { any; };
        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";
        secroots-file   "/var/named/data/named.secroots";
        recursing-file  "/var/named/data/named.recursing";
        // アクセスを許可するIP範囲
        allow-query     { 10.10.0.0/16; };
# レイアウトの都合上、ここで一部のヒント情報を省略
};
logging {
    //    channel default_debug {
    //            file "data/named.run";
    //            severity dynamic;
    //    };
        
        channel named_log {
                // ログファイルのパスを指定し、ログファイルのバージョン数制限を5つ、各ファイルの最大サイズを50mに設定
                file "/var/log/dns/named.log" versions 5 size 50m;
                // ログ記録の時間形式はISO 8601標準を採用
                print-time iso8601;
                // ログエントリのカテゴリを印刷
                print-category yes;
               // ログエントリの重大度を印刷
                print-severity yes;
                severity info;
        };
        // 複数のログ記録カテゴリを定義
        category default   { named_log; };
        category general   { named_log; };
        category config   { named_log; };
        category client   { named_log; };
        category network   { named_log; };
        category notify   { named_log; };
        category queries   { named_log; };
        category update   { named_log; };
        category query-errors  { named_log; };
        category resolver   { named_log; };
        category xfer-in   { named_log; };
        category xfer-out   { named_log; };
        category dnssec   { named_log; };
};
# レイアウトの都合上、ここで一部のヒント情報を省略
-------------------named.conf-------------------
(6)DNS ゾーンを設定し、DNS サーバーの構築を完了する
vi /etc/named.rfc1912.zones
-------------------named.rfc1912.zones-------------------
// プライベートレンジを転送する必要がある場合は、
// optionsにdisable-empty-zone ".";を追加します
//
zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};
zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};
// カスタムドメインゾーンとDNSレコードのセット
zone "elk.com" IN {
        type master;
        file "/var/named/elk.com.zone";
        allow-update { none; };
};
-----------------------------------------------
(7)"elk.com" のゾーンデータファイルを作成し、DNS サーバーのドメイン名を「dns.elk.com」、クライアントのドメイン名を「test.elk.com」として定義する。
# "elk.com"のゾーンデータファイルを作成
vi /var/named/elk.com.zone
# DNSサーバーとクライアントのドメイン名を定義
-------------------named.rfc1912.zones-------------------
$TTL 1D
@       IN SOA  dns.elk.com. admin.elk.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@   IN  NS      dns.elk.com.
dns     IN      A   10.10.2.103
test    IN      A   10.10.2.113
-------------------------------------------------------
(8)ログサービスの権限を設定し、ファイアウォールを構成し、サービスを再起動して設定を有効にする
# ログを保存するディレクトリを作成し、権限を設定
mkdir /var/log/dns
chmod -R 777 /var/log/dns/
# dnsサービスのアクセスポリシーを設定し、正常にアクセスできるようにする
firewall-cmd --permanent --add-service=dns
# ファイアウォールポリシーを再読み込み
firewall-cmd --reload
# namedサービスを再起動し、設定を有効にする
 systemctl restart named
(9)DNS を「10.10.2.103」に変更し、ネットワークを再起動して有効にする。
# nmtuiを使用してネットワーク接続を管理
nmtui
「接続の編集」を選択し、Enter を押し、ネットワークカード「ens32」を選択し、「接続の編集」画面で DNS サーバーを「10.10.2.103」に変更し、保存して終了。
保存して終了した後、ネットワークを再起動して DNS サーバーの設定を有効にする。
systemctl restart NetworkManager
(10)DNS サーバーが正常に設定されているか確認する。
ping www.baidu.com
ping dns.elk.com
ping test.elk.com
クライアント側#
DNS 設定を「10.10.2.103」に変更し、具体的な手順は《ステップ 1:仮想マシンの計画》の「(9)」を参照。
ネットワークを再起動した後、DNS 設定が有効になっているか確認する。
ping www.baidu.com
ping dns.elk.com
ping test.elk.com