CentOS 6.3 x64でBIND 9.9.2が高負荷になる現象

タックス
自宅サーバにCentOS 6をインストールし、BIND 9.9.2を入れたところ、CPUが100%を超える高負荷な現象に遭遇しました。
最初は自前でビルドしたBINDが原因だと思われましたが、調査すると設定に問題があったことがわかりましたので、ご紹介したいと思います。

    まずwingリポジトリでは、bind 9.9.2をbind99というパッケージ名でインストールすることができるようになっています。

    RHEL6互換OS用 wingリポジトリ を公開
    RHEL5互換OS用 wingリポジトリ を公開

    導入後以下のコマンドでインストールができます。

    # yum install bind99 bind99-utils bind99-chroot

    また、基本的な設定方法については、以下の記事が参考になるでしょう。

    CentOS 5.2 x64でBIND(DNS)を設定

    その他、named.confの設定については、以下のように設定します。
    options
    {
    directory "/var/named";
    dump-file "data/cache_dump.db";
    statistics-file "data/named_stats.txt";
    memstatistics-file "data/named_mem_stats.txt";

    listen-on port 53 { any; };

    allow-query { any; };
    allow-query-cache { any; };

    recursion yes;

    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;
    managed-keys-directory "/var/named/dynamic";

    forwarders {
    8.8.8.8;
    };
    };

    この時、必ず「managed-keys-directory "/var/named/dynamic";」を忘れずに設定して下さい。

    どうも調べてみると、BIND 9.7.1からmanaged-keys-directoryという設定があり、これをした方が良いようで、named.confでdnssec機能を有効にした場合にこの設定をしないと無限ループに陥り、CPUが高負荷となりdnssec機能が有効にならないそうです。

    なお、wingリポジトリのbind99をインストールすれば、デフォルトのnamed.confに記載があり、ディレクトリも存在するのですが、どうも私の場合は設定を以前のnamed.confを流用して設定を追加していったところ、managed-keys-directoryの設定をし忘れてしまったことから引き起こしたトラブルでした。
    また、その他にbind99-chrootをインストールしていたことから、/var/named/dynamicではなく、/var/named/chroot/var/named/dynamicディレクトリを別途作成する必要がありました。

    # mkdir -p /var/named/chroot/var/named/dynamic
    # chmod 700 /var/named/chroot/var/named/dynamic
    # chown named. /var/named/chroot/var/named/dynamic

    ※ なお、標準でインストールできるbind 9.8.2も上記の設定が必要ですが、CentOS 5の場合は、bind97がBIND 9.7.0のため必要ありません。

    以下、参考リンクです。

    Wikipedia(Linux)
    Wikipedia(CentOS)
    Wikipedia(BIND)
    Wikipedia(DNS Security Extensions)
    BINDの異常な高負荷状態について(NezBlog)

関連記事


FC2Blog Rankingblogram投票ボタンとれまが人気ブログランキングブログランキング・にほんブログ村へ
くる天 人気ブログランキングにほんブログ村 IT技術ブログ CentOSへ

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

No title

同様の現象が発生し、DDoSくらっている?→tcpdumpで通信行われていない でもCPU使用率が高いと悩まされていましたが、この記事みて解決しました。
ありがとうございました。
プロフィール

WING☆

Author:WING☆


カレンダー
04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
お問い合わせ

名前:
メール:
件名:
本文:

WING☆からのお知らせ
  • CentOS 7設定集
  •    └wingリポジトリ(el7)

  • CentOS 6 x64設定集
  •    └wingリポジトリ(el6)

  • CentOS 5 x64設定集
  •    └wingリポジトリ(el5)



    My Yahoo!に追加

    FC2ブログランキング



    リンク
    ブロとも一覧
    Virtualization & Sever Maniax
    RSSリンクの表示
    QRコード
    QRコード
    ブロとも申請フォーム

    この人とブロともになる