【BIND9講座 最終回】運用マニュアルの決定版!バックアップ・復旧手順とトラブルシューティング総まとめ

「構築」はゴールではなく、スタート地点

こんにちは!「リナックス先生」です。
全12回にわたってお届けしてきたBIND9講座、ついに最終回です。

第1回では「DNSって何?」という状態だったコウ君も、今や正引き・逆引き・スレーブ連携・DNSSECまでを操る、立派なDNS管理者になりました。
しかし、プロのエンジニアにとって「サーバーが完成した」というのは、長い戦いの始まりに過ぎません。

「設定変更したら起動しなくなった!」
「スレーブサーバーが同期してくれない!」
「キャッシュに残った古い情報を今すぐ消したい!」

こうした日常的なトラブルに冷静に対処できてこそ、真のプロフェッショナルです。
今回は、あなたのDNSサーバーを末長く安定稼働させるための「運用マニュアル」を伝授して、この講座を締めくくりたいと思います。

コウ君

先生、ここまで長かったですが、本当に勉強になりました!
でも正直、半年後にまた設定が必要になった時、コマンドを覚えている自信がありません…。
「これさえやっておけば安心」というバックアップ方法と、困った時の見直し方を教えてください!

リナックス先生

もちろん!
DNSは一度動くと放置されがちだからこそ、いざという時の復旧手順書が命綱になるの。
「壊れたら元に戻す」「エラーが出たらログを見る」。
この基本動作をマスターして、有終の美を飾りましょう!

1. 命綱!バックアップと復旧(リストア)

BIND9の設定はすべてテキストファイルです。
したがって、バックアップは特定のディレクトリをコピーするだけで完了します。
ただし、「ファイルの所有権(パーミッション)」も一緒に保存しないと、復旧時に動かなくなるので注意が必要です。

バックアップすべき対象

AlmaLinux 9 (RHEL系) の場合、守るべきは以下の2箇所です。

  1. /etc/named.conf
    • 大元の設定ファイル。ACLやViewの定義などが書かれています。
  2. /var/named/
    • ゾーンファイル(正引き・逆引きデータ)、DNSSECの鍵ファイル、ログディレクトリなどが含まれます。

バックアップ手順(コマンド一発)

tar コマンドを使って、権限情報ごとアーカイブ(圧縮)します。

# 今日の日付入りファイル名でバックアップ
sudo tar -czvf named_backup_$(date +%Y%m%d).tar.gz /etc/named.conf /var/named/

これで named_backup_20260120.tar.gz のようなファイルが生成されます。
これをローカルPCや別のファイルサーバーに転送しておけば完璧です。

復旧(リストア)手順

設定を壊してしまい、元に戻したくなった時の手順です。
BINDを停止してから展開します。

# 1. BINDを停止
sudo systemctl stop named

# 2. 既存の設定を退避(念のため)
sudo mv /etc/named.conf /etc/named.conf.broken
sudo mv /var/named /var/named.broken

# 3. バックアップをルートディレクトリ(/)に展開
# ※tar作成時にフルパス指定しているため、-C / で元の場所に配置されます
sudo tar -xzvf named_backup_20260120.tar.gz -C /

# 4. 起動確認
sudo systemctl start named

【重要】 cp コマンドなどで手動でファイルを戻した場合、ファイルの所有者が root になってしまい、named ユーザーが読み込めずに起動エラーになることがあります。
その場合は以下のコマンドで所有権を修正してください。

sudo chown -R root:named /var/named/
sudo chown root:named /etc/named.conf

2. トラブルシューティング・フローチャート

「DNSが動かない!」「名前が引けない!」
そんな時は、闇雲に設定ファイルを書き換えるのではなく、以下の順番で調査してください。

Step 1: 構文チェック (Syntax Check)

まずは設定ファイルの書き間違いがないか確認します。
セミコロン ; やカッコ } の閉じ忘れが原因の9割です。

sudo named-checkconf

何も表示されなければOK。エラーが出れば行番号を確認して修正します。

Step 2: ステータス確認 (System Status)

プロセスが生きているか確認します。

sudo systemctl status named

Active: active (running) なら起動しています。
failed なら起動に失敗しています。

Step 3: ログ確認 (Log Check)

第9回で設定したログファイルを見ます。
なぜ起動しないのか、なぜ問い合わせを拒否したのか、答えは全てここにあります。

# エラーログを見る
sudo tail -n 50 /var/log/named/default.log

# クエリ(問い合わせ)が来ているか見る
sudo tail -f /var/log/named/query.log

Step 4: 問い合わせテスト (Dig Check)

サーバー自身から引けるか? 外部から引けるか? を切り分けます。

# サーバー自身から
dig @127.0.0.1 google.com

# ネットワーク経由(PCなどから)
dig @192.168.1.10 google.com

自身からは引けるのにネットワーク経由だと引けない場合、原因はBINDではなく FirewalldACL設定 にあります。

3. よくあるエラーと対処法

Case 1: スレーブサーバーが更新されない

現象: マスター側でレコードを追加したのに、スレーブ側に反映されない。
原因: 十中八九、マスター側のシリアル番号(Serial)を増やし忘れています。

対処:
マスターのゾーンファイルを開き、SOAレコードのシリアル番号を +1 して、systemctl reload named してください。
スレーブはシリアル番号が増えていない限り、データを取りに行きません。

Case 2: “permission denied” エラー

現象: ログに dumping master file: ... permission denied と出る。
原因: BINDがファイルを書き込もうとした場所に、書き込み権限がありません。

対処:
/var/named/ 直下への書き込みはOSにより制限されています。
書き込みが必要なファイル(スレーブのデータ、動的更新データ、ダンプファイルなど)は、/var/named/slaves//var/named/data/ ディレクトリに配置するように named.conf を修正してください。

Case 3: “REFUSED” (拒否された)

現象: dig を打つと status: REFUSED が返ってくる。
原因: ACL(allow-query / allow-recursion)で拒否されています。

対処:
第7回、第11回を見直してください。
特にIPv6を有効にした場合、ACLにIPv6アドレスを書き忘れているケースが多発します。

4. プロの運用ツール「rndc」

最後に、サービスを停止せずにメンテナンスを行うためのコマンド rndc を紹介します。
systemctl はプロセスの管理ですが、rndc はBIND内部への命令です。

① 設定の再読み込み (reload)

sudo rndc reload

systemctl reload named とほぼ同じですが、より高速です。
特定のゾーンだけリロードしたい場合は sudo rndc reload kou-house.lan と指定できます。

② キャッシュのクリア (flush)

「レコードを変更したのに、古いIPが返ってくる!」
そんな時、BINDがメモリに持っているキャッシュを強制的に削除します。

sudo rndc flush

これでサーバーは全ての記憶を失い、またゼロから問い合わせを行うようになります。

③ ステータスのダンプ (status)

第11回で紹介しましたが、現在の接続数や負荷状況を確認します。

sudo rndc status

5. 全12回・BIND9完全攻略講座まとめ

長い間お付き合いいただき、本当にありがとうございました。
これまでの記事をインデックスとしてまとめました。困った時は該当の回を読み返してください。

【入門編:DNSの仕組みと基礎】

【構築編:独自ドメインの運用】

【応用編:セキュリティと高度な機能】

おわりに:エンジニアとしての自信を持って

DNSは「動いて当たり前、止まると大事件」という、非常にプレッシャーのかかるインフラです。
しかし、この全12回の講座を完走したあなたなら、設定ファイルの1行1行の意味を理解し、トラブルが起きてもログを見て冷静に対処できるはずです。

「名前解決」というインターネットの根幹を制したあなたは、もう初心者ではありません。
これからもAlmaLinux 9とBIND9を使いこなし、信頼されるサーバーエンジニアとして活躍してください!

リナックス先生

全12回、本当にお疲れ様でした!
DNSの世界は奥が深いけれど、基礎さえしっかりしていれば何も怖くないわ。
また別の技術講座でお会いしましょう。Good Luck!

▼学習を続けるならこのVPS

この講座で得た知識を活かして、Webサーバー、メールサーバー、そしてDNSサーバーを組み合わせた「フルスタックなインフラ構築」に挑戦してみてください。何度でも作り直せるおすすめVPSはこちら。

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント