サーバー側#
(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