オープンソース

サーバー構築のデージーネットTOP > OSS情報 > 一押しOSS > 注目のDNSサーバPowerDNS > BIND v.s. PowerDNS 管理性の比較

BIND v.s. PowerDNS 管理性の比較

PowerDNSと、現在広く利用されているBINDの比較第二弾をご紹介します。
ここでは、PowerDNSとBINDの管理性を比較しました。

BINDのゾーンの管理

特に、管理するゾーンの情報は、named.confファイルという一つのファイルで行ないます。

named.confの例

options {
        listen-on port 53 { 127.0.0.1;
                            192.168.7.2; };
        listen-on-v6 port 53 { ::1;
                               2001:db8::2; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { any; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

zone "example.com" IN {
        type master;
        file "example.com.db";
        allow-update { none; };
        allow-transfer { 192.168.1.3; };
        notify yes;
};
zone "1.168.192.in-addr.arpa" {
        type master;
        file "1.168.192.in-addr.arpa.db";
        allow-update { none; };
        allow-transfer { 192.168.1.3; };
        notify yes;
};
zone "0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa" {
        type master;
        file "0.0.0.0.0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.db";
        allow-update { none; };
        allow-transfer { 192.168.1.3; };
        notify yes;
};
        

PowerDNSのゾーン管理

PowerDNSは、ゾーンの追加や削除をPoweradminを使って直感的に行なうことができます。

PowerDNSゾーン管理

BINDのリソースレコード管理

BINDでは、DNSゾーン毎にファイルを作成し、リソースを管理します。

ゾーンファイルの例

-----------------------------------
$TTL    172800
@       IN      SOA     ns1.example.com. root.ns1.example.com. (
                        2015011701
                        3600
                        300
                        360000
                        86400
                        )
        IN      NS      ns1.example.com.
        IN      NS      ns2.example.com.
        IN      MX      10 mx1.example.com.
        IN      MX      20 mx2.example.com.
ns1             IN      A       192.168.1.2
                IN      AAAA    2001:db8::2
ns2             IN      A       192.168.1.3
                IN      AAAA    2001:db8::3
mx1             IN      A       192.168.1.4
                IN      AAAA    2001:db8::4
mx2             IN      A       192.168.1.5
                IN      AAAA    2001:db8::5
pc1             IN      A       192.168.1.101
                IN      AAAA    2001:db8::101
-----------------------------------
        

これらのファイルは、記法が独特です。「@」「.」など、自動的補完される文字が存在したり、$TTLなど変数が使えたりするのは、非常に便利です。一方で、新たに設定方法を習得する人にとっては、少なからずハードルがあります。また、設定を変更したらSOAレコードのシリアル番号を更新する必要があります。

設定を変更したら、DNSサーバに設定ファイルを再読み込みさせます。rndcのような、リモートから制御するコマンドも用意されています。

# rndc reload example.com [Enter]
zone reload up-to-date
        
プロセスにHUPシグナルを送信する手法や、systemdの制御などを使う方法がより一般的です。
# systemctl reload named.service[Enter]
        

PowerDNSのリソースレコード管理

PowerDNSでは、リソースレコードの管理もPoweradminを使って行なうことができます。SOAのシリアル番号は、Poweradminが自動的に更新してくれるため、管理者が意識する必要はありません。また、再起動や再読み込みのような処理は必要なく、設定はすぐに反映されます。

Poweradminゾーン編集画面

管理者の権限設定

BINDは、ファイルで管理していることもあり、管理はLinuxのrootユーザで行なう必要があります。一方で、PowerDNSでは、ゾーンのオーナーを設定することができます。次は、Poweradminのユーザ管理画面です。

Poweradmin管理者権限設定

ユーザには、次のような権限を与えることができます。そのため、ゾーン毎に管理者をかえることができます。

  • システム全体を管理できるユーザ
  • 特定のドメインのみを管理できるユーザ
  • マスタ/スレーブなどの構成を管理するユーザ
  • 参照専用のユーザ

脆弱性

BINDは、非常に脆弱性が多く報告されています。そのため、頻繁にバージョンアップを行なう必要があります。一方で、PowerDNSは脆弱性が少なく、安全で管理者の負担の少ないDNSサーバであるということができます。

BIND-PowerDNSの脆弱性比較

結論

PowerDNSは、管理性、性能、安全性などで、BINDよりも優れています。そのため、一般的な用途ではDNSサーバを構築する場合には、PowerDNSを選んだ方が良いでしょう。一方で、BINDにはPowerDNSにない機能としてviewがあります。viewは、クライアントに応じて応答を変える機能です。一つのDNSサーバで公開DNSサーバと社内DNSサーバの二つの役目を担わせる場合等に使います。

しかし、最近は仮想サーバが頻繁に使われるため、わざわざviewを使ってDNSの応答を制御しなくても、別のDNSサーバを構築することで対処が可能です。そのため、どうしてもviewを使わなければならないような状況はあまりありません。もし、そのような特殊な状況の場合には、BINDを使ってDNSサーバを構築するのがよいと思われます。

一押しOSS情報「PowerDNS」

注目のDNSサーバ PowerDNS
PowerDNSの特徴、脆弱性の数、パフォーマンスについてご紹介します。
PowerDNSの管理WEBインタフェースPoweradmin
Poweradminの画面例をご紹介します。
BIND v.s. PowerDNS
特徴・機能・性能の比較
PowerDNSと、現在広く利用されているBINDの比較第一弾をご紹介します。PowerDNSとBINDの特徴・機能・性能を比較しました。
BIND v.s. PowerDNS
管理性の比較
PowerDNSと、現在広く利用されているBINDの比較第二弾をご紹介します。ここでは、PowerDNSとBINDの管理性を比較しました。
PowerDNSの構成例
PowerDNSを使用したDNSサーバの構成例をいくつか紹介します。
PowerDNSのよくある質問
PowerDNSの導入検討時にお客様からよくいただくご質問にお答えします。
PowerDNSサポート
デージーネットでは、システム構築やシステム全体の保守、コンサルティングの実績をいかした商用サポートを行っています。
PowerDNS更新情報
このページでは、PowerDNSのアップデート情報を紹介します。

PowerDNSによるDNSサーバ事例

BINDに替わる権威DNSサーバとして注目されているPowerDNSを使用して、DNSサーバのセキュリティとスピードの向上を図りました。また、PowerDNSの管理ツールであるPowerAdminと合わせて利用することで、管理性も向上することができました。

PowerDNSによるDNSSEC対応の権威DNSサーバ事例

権威DNSサーバをBINDで構築し、DNSSEC対応をしているが管理が煩雑だということでご相談を頂きました。PowerDNSとPowerAdminを利用することで、DNSSECの運用が簡単に行えるようになりました。

無料資料ダウンロード「PowerDNS+Poweradmin」

BINDに代わって注目されているDNSサーバのPowerDNSと管理ソフトウェアの説明資料です。

無料資料ダウンロード「NSD,KnotDNS,PowerDNSベンチマーク報告書」

デージーネットOSS研究室が、BINDに代わって使われるようになった、NSD、KnotDNS、PowerDNSなどの権威DNSサーバの性能評価を行った報告資料です

BIND v.s. PowerDNS 管理性の比較の先頭へ