🦁
権威DNSサーバをBINDで構築(スレーブDNS)
はじめに
前回の記事では、マスターDNSの構築について解説しました。今回は、スレーブDNSの設定について説明します。スレーブDNSは、マスターDNSのデータをコピーし、負荷分散や冗長性を提供する役割を果たします。
検証手順
ステップ1: bindのインストール
スレーブDNSサーバにもbind本体とクライアントユーティリティをインストールします。
sudo yum update -y
sudo yum install bind bind-utils -y
ステップ2: /etc/named.confの編集
BINDの設定ファイルを編集します。
sudo vi /etc/named.conf
以下の設定を追加または変更します。
options {
listen-on port 53 { any; };
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";
allow-query { any; };
recursion no;
};
zone "." IN {
type hint;
file "named.ca";
};
zone "example.com" IN {
type slave;
file "slaves/example.com.zone";
masters { マスターDNS_IP; };
};
ステップ3: ディレクトリとファイルの準備
スレーブゾーンデータを保存するディレクトリを作成します。
sudo mkdir -p /var/named/slaves
ステップ4: bindの起動と確認
BINDを起動し、設定が正しいか確認します。active (running) と表示されていれば正常に起動しています。
sudo systemctl start named
sudo systemctl enable named
sudo systemctl status named
ステップ5: コピーしたゾーン情報の確認
マスターのゾーン情報をコピーすると初期設定ファイルに記述したファイルが作成され、そこに内容が記述されます。
ただし、形式がバイナリ形式(rawフォーマットと呼ばれる)のため、文字化けしそのまま内容を確認することができません。
確認するには内容を読める形に変換する必要があります。
テキスト形式への変換方法(一時対応)
named-compilezoneコマンドを使って、raw形式のファイルをtext形式に変換します
コマンドの書式
named-compilezone -f raw -F text -o 出力ファイル名 ゾーン名 ゾーンファイル名
実例
sudo named-compilezone -f raw -F text -o /var/named/slaves/example_text.com.zone example.com /var/named/slaves/example.com.zone
- -f raw:変換前のファイル形式
- -F text:変換後のファイル形式
- -o /var/named/slaves/example_text.com.zone:出力ファイル名
- example.com:ゾーン名
- /var/named/slaves/example.com.zone:ゾーンファイル名
これで、example_text.com.zoneというtext形式のファイルが生成され、catコマンドなどで確認できます。
まとめ
以上でスレーブDNSの構築が完了しました。この手順を実行することで、BINDを使用して独自のスレーブDNSサーバを構築できます。これでマスターDNSとスレーブDNSの構成が完了し、負荷分散や冗長性を高めることができます。
次回は、DNSサーバのセキュリティ強化について学習します。
Discussion