〜 DNSサーバーとしての構築と管理をマスターしよう!〜
目次
📝 はじめに
BIND(Berkeley Internet Name Domain)は、Linux・UNIX環境で最も広く使用されているDNSサーバーソフトウェアです。
本記事では、BINDを「権威サーバー」「再帰サーバー」「キャッシュDNS」として使うための設定方法と、ログ管理・代替ツールについても解説します。
📘 1. DNSの種類とBINDの役割
| 種類 | 説明 |
|---|---|
| 権威サーバー | ドメインの情報を管理・応答。ゾーンファイルを保持。 |
| 再帰サーバー | クライアントの代わりに名前解決を行う。 |
| キャッシュDNS | 再帰の結果を一時保存し応答速度を向上。 |
📂 2. BINDの設定ファイルと用語
| ファイル/ツール | 用途 |
|---|---|
/etc/named.conf | BINDのメイン設定ファイル。ゾーンファイルの位置やアクセス制御を設定。 |
/var/named/ | ゾーンファイルの配置ディレクトリ。 |
named-checkconf | 設定ファイルの文法チェック。 |
named-checkzone | ゾーンファイルの整合性チェック。 |
rndc | BINDサーバーの制御コマンド(再読込、停止など)。 |
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より軽量・高速。 |
| PowerDNS | SQLやAPI連携など高機能な権威DNS。GUI管理ツールもあり。 |
✅ まとめ
| 内容 | ポイント |
|---|---|
| 基本設定 | named.confとゾーンファイルの理解が重要 |
| 再読込・チェック | rndcとnamed-check* コマンドを活用 |
| ログ確認 | loggingセクションを活用しトラブルに備える |
| 代替ツール | 要件に応じてdnsmasqやUnboundも検討 |
💡補足:セキュリティとアクセス制御
- IP制限:
allow-query,allow-transferなどでアクセス制御 - chroot化・SELinux対応・TSIG鍵設定など、商用運用には強化が必須です。
コメント