0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DNS、CDNサービスの詳細解説(三)

Last updated at Posted at 2025-04-08

1. BIND DNSサーバーの基本構成

1.1 BINDのインストール

主要ディストリビューションでのインストールコマンド:

# CentOS/RHEL
sudo yum install bind bind-utils

# Ubuntu/Debian
sudo apt install bind9 bind9-utils bind9-host

1.2 主要ファイル構成

ファイル/ディレクトリ 説明
/etc/named.conf メイン設定ファイル
/etc/named.rfc1912.zones ゾーン定義ファイル
/var/named/ ゾーンファイル格納ディレクトリ
/usr/sbin/named BINDデーモン実行ファイル
/var/log/named.log ログファイル(デフォルト)

BINDファイル構成図

2. プライマリDNSサーバー設定手順

2.1 メイン設定ファイルの編集

sudo vim /etc/named.conf

変更ポイント:

options {
    listen-on port 53 { any; };  // 全インターフェースでリッスン
    allow-query     { any; };     // 全クライアントからの問い合わせ許可
    dnssec-validation no;        // DNSSEC検証無効化(テスト環境用)
};

2.2 ゾーン定義の追加

sudo vim /etc/named.rfc1912.zones

追加例:

zone "example.com" IN {
    type master;
    file "example.com.zone";
    allow-update { none; };
};

2.3 ゾーンファイルの作成

sudo cp -p /var/named/named.localhost /var/named/example.com.zone
sudo vim /var/named/example.com.zone

基本テンプレート:

$TTL 1D
@   IN SOA  ns1.example.com. admin.example.com. (
    2023082101  ; Serial
    3H          ; Refresh
    15M         ; Retry
    1W          ; Expire
    1D )        ; Minimum TTL

    NS  ns1.example.com.
    NS  ns2.example.com.

ns1     A   192.168.1.10
ns2     A   192.168.1.20
www     A   192.168.1.100
mail    MX 10 mail.example.com.

3. 設定検証とサービス起動

3.1 構文チェック

# メイン設定ファイル検証
sudo named-checkconf

# ゾーンファイル検証
sudo named-checkzone example.com /var/named/example.com.zone

3.2 サービス操作

# サービス起動
sudo systemctl start named

# 設定再読み込み
sudo rndc reload
# または
sudo systemctl reload named

4. 主要管理ツールの活用

4.1 digコマンド活用例

# 基本クエリ
dig example.com

# 詳細オプション付き
dig +trace +nodnssec example.com

# 逆引き確認
dig -x 192.168.1.100

# ゾーン転送シミュレーション
dig axfr example.com @localhost

4.2 rndc管理コマンド

コマンド 機能
rndc status サービス状態表示
rndc reload 設定再読み込み
rndc querylog クエリログの有効化/無効化
rndc flush キャッシュ消去
rndc stats 統計情報の出力

5. 実践的な設定例:Webサーバー向けDNS

5.1 ネットワーク構成

5.2 詳細設定手順

  1. 基本Aレコード設定
web01   A   203.0.113.10
web02   A   203.0.113.20
  1. ロードバランシング設定
www     A   203.0.113.10
www     A   203.0.113.20
  1. フェイルオーバー設定
        MX 10 primary-mail.example.com.
        MX 20 backup-mail.example.com.

5.3 高度な設定テクニック

TTL最適化例

$TTL 300  ; 通常時5分
@ IN SOA ... (
    2023082101
    3H
    15M
    1W
    60 )       ; ネガティブキャッシュTTL

CNAME使用時の注意点

  • MXレコードとの併用不可
  • 他のCNAMEを参照不可
  • ゾーン頂点での使用不可

6. トラブルシューティングガイド

6.1 一般的なエラーと解決策

エラーメッセージ 原因 解決方法
SERVFAIL 権威サーバー応答不可 再帰問い合わせの確認
REFUSED クエリ拒否 ACL設定の見直し
NXDOMAIN ドメインが存在しない ゾーンファイルの確認
FORMERR パケットフォーマット異常 クライアントソフト更新

6.2 デバッグ手順

  1. クエリの基本確認
dig +short example.com
  1. 再帰性問い合わせの追跡
dig +trace example.com
  1. ログの確認
tail -f /var/log/named.log

7. セキュリティ強化設定

7.1 chroot環境の構築

sudo yum install bind-chroot
sudo systemctl restart named-chroot

7.2 TSIG鍵によるゾーン転送保護

# 鍵生成
dnssec-keygen -a HMAC-SHA512 -b 512 -n HOST example-transfer

# 設定ファイル追記
key "example-transfer" {
    algorithm hmac-sha512;
    secret "xxxxxxxxxxxxxxxxxxxx==";
};

8. パフォーマンスチューニング

8.1 キャッシュ最適化

options {
    max-cache-size 512M;
    max-cache-ttl 3600;
    min-cache-ttl 300;
};

8.2 スレッド設定

options {
    listen-on-v6 { any; };
    coresize default;
    datasize default;
    stacksize default;
    max-ncache-ttl 10800;
    cleaning-interval 60;
};
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?