オープンソース

BIND v.s. PowerDNS サーバの管理性

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

BINDのゾーンの管理

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

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サーバであるということができます。

PowerDNSとBINDの脆弱性比較

結論

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

仮想サーバが頻繁に使われるため、viewを使ってDNSの応答を制御しなくても、別のDNSサーバを構築することで対処が可能です。なお、PowerDNSでも、Luaレコードという機能でレコード毎のviewを実装することは可能です。もし、どうしてもviewを使わなければならないような状況の場合には、BINDを使ってDNSサーバを構築するのがよいと思われます。

PowerDNS導入の検討資料を無料でダウンロードいただけます。

PowerDNS検討資料

PowerDNS検討用資料ダウンロードへ

DNSの仕組みと重要性、オープンソースのPowerDNSとUnboundを組み合わせた構成についてまとめた資料です。PowerDNSについて情報を収集する際、サービスをご検討いただく際などにお役立てください。

デモのお申込み

もっと使い方が知りたい方へ
PowerDNSの操作方法や操作性をデモにてご確認いただけます。使い方のイメージを把握したい、使えるか判断したい場合にご活用下さい。PowerDNSのデモをご希望の方は、下記よりお申込みいただけます。

デモをご希望の方

デモの申し込みイメージ


一押しOSS情報「PowerDNS」

BINDに替わるDNSサーバ
〜PowerDNS〜
PowerDNSの特徴、脆弱性の数、パフォーマンスについてご紹介します。
PowerDNSの管理WEBインタフェース
PowerDNSをWeb画面から管理できるソフトウェア、PowerDNS-Admin、powerdns-webui、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とは、Open-Xchage社が主体となって開発を行っているDNSサーバです。コンポーネントとして権威DNSサーバとキャッシュDNSサーバが存在します。本書はPowerDNSについて調査した内容をまとめたものです。

PowerDNS+Poweradmin説明資料

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

NSD,KnotDNS,PowerDNSベンチマーク報告書

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

PowerDNS商用サポート

PowerDNSは、BINDに比べて管理が簡単かつ高速で、セキュリティに強いという特徴を持っています。しかし、比較的新しいソフトウェアであるため、使い方、障害時の対応に関する情報はまだ多くありません。 ここでは、デージーネットが行うPowerDNS商用サポートについて紹介します。

PowerDNSによるDNSサーバ事例

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

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

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

BIND〜DNSサーバの特徴と弱点〜

BINDとは、権威DNSサーバとキャッシュDNSサーバの両方の機能を持ったオープンソースソフトウェアです。DNSサーバのデファクトスタンダードとして古くから利用されてきました。BINDは、非常に汎用的に利用できる一方で、コードが複雑で脆弱性が潜みやすく、セキュリティ上の問題があるとされています。

DNSサーバのおすすめOSS比較9選!選定ポイントも解説

DNSサーバとは、インターネットの名前解決を行うサーバーのことを言います。ここでは、おすすめの各DNSサーバのOSSの特徴を比較し、DNSサーバソフトウェアを選定する際に重視すべきポイントをまとめました。

BIND v.s. PowerDNS サーバの管理性の先頭へ