BINDの設定と管理

〜 DNSサーバーとしての構築と管理をマスターしよう!〜

目次

📝 はじめに

BIND(Berkeley Internet Name Domain)は、Linux・UNIX環境で最も広く使用されているDNSサーバーソフトウェアです。
本記事では、BINDを「権威サーバー」「再帰サーバー」「キャッシュDNS」として使うための設定方法と、ログ管理・代替ツールについても解説します。


📘 1. DNSの種類とBINDの役割

種類説明
権威サーバードメインの情報を管理・応答。ゾーンファイルを保持。
再帰サーバークライアントの代わりに名前解決を行う。
キャッシュDNS再帰の結果を一時保存し応答速度を向上。

📂 2. BINDの設定ファイルと用語

ファイル/ツール用途
/etc/named.confBINDのメイン設定ファイル。ゾーンファイルの位置やアクセス制御を設定。
/var/named/ゾーンファイルの配置ディレクトリ。
named-checkconf設定ファイルの文法チェック。
named-checkzoneゾーンファイルの整合性チェック。
rndcBINDサーバーの制御コマンド(再読込、停止など)。
dig, nslookup, host名前解決の動作確認用ユーティリティ。

⚙️ 3. BIND基本設定の例

/etc/named.conf

options {
directory "/var/named";
recursion yes;
allow-query { any; };
};

zone "example.com" IN {
type master;
file "example.com.zone";
};

/var/named/example.com.zone

$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025051301 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
86400 ) ; Minimum TTL
IN NS ns1.example.com.
ns1 IN A 192.0.2.1
www IN A 192.0.2.100

🔄 4. BINDの管理・運用

🔁 設定反映とゾーンファイル再読込

# 設定ファイルチェック
named-checkconf

# ゾーンファイルの整合性チェック
named-checkzone example.com /var/named/example.com.zone

# BINDの再読込
rndc reload

# サーバー状態確認
rndc status

🧪 名前解決確認コマンド

dig @localhost example.com
host www.example.com
nslookup www.example.com

📊 5. ログ設定(/var/log/messages に出力)

named.confにロギングセクションを追加

logging {
channel default_log {
file "/var/log/named.log";
severity info;
print-time yes;
};
category default { default_log; };
};

ログファイルが出力されない場合はSELinuxやパーミッションも確認しましょう。


🧱 6. BINDの代替DNSソフトウェア

ソフトウェア特徴
dnsmasq軽量DNS+DHCP。小規模環境に最適。
Unbound再帰キャッシュ用DNSに特化。
NSD権威DNSに特化。BINDより軽量・高速。
PowerDNSSQLやAPI連携など高機能な権威DNS。GUI管理ツールもあり。

✅ まとめ

内容ポイント
基本設定named.confとゾーンファイルの理解が重要
再読込・チェックrndcとnamed-check* コマンドを活用
ログ確認loggingセクションを活用しトラブルに備える
代替ツール要件に応じてdnsmasqやUnboundも検討

💡補足:セキュリティとアクセス制御

  • IP制限:allow-query, allow-transfer などでアクセス制御
  • chroot化・SELinux対応・TSIG鍵設定など、商用運用には強化が必須です。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次