オープンソース

サーバー構築のデージーネットTOP > OSS情報 > 一押しOSS > 注目のDNSサーバPowerDNS

注目のDNSサーバPowerDNS

PowerDNSは、管理ウェブインタフェースが利用できる便利なオープンソースソフトウェアのDNSシステムです。
ここでは、PowerDNSの特徴、脆弱性の数、パフォーマンスについてご紹介します。なお、デージーネットでは、PowerDNSのDNSサーバ構築やコンサルティング、PowerDNSの商用サポートを行っています。

PowerDNS/Poweradminとは?

PowerDNSは、オランダのPowerDNS.COM BVが開発を行いました。LDAP、MySQL、PostgreSQL、Oracle、BINDのゾーンファイルなど、様々なバックエンドを使用できます。バックエンドにMySQLやPostgreSQL等のRDBを利用する場合、Poweradminを使って、ウェブインタフェースから管理することができます。
PowerDNSの開発プロジェクトは、1999年に発足しました。開発当初はクローズドソースでしたが、2002年にオープンソースソフトウェアとしてリリースされ、2005年からは利用者が増加しました。現在は、オランダ、デンマーク、スウェーデン、ノルウェーなどDNSSECの導入が進んでいるヨーロッパ諸国を中心に多くの利用者がいます。

PowerDNSの特徴

PowerDNSには、次のような特徴があります。

  • 権威DNSサーバとキャッシュDNSサーバの両方をサポートしている
  • 権威DNSサーバとキャッシュDNSサーバが完全に別々のプロセスとして実現されている
  • キャッシュポイズニング攻撃に強い
  • 様々なバックエンドに対応している
  • BINDよりも高速に動作する
  • 脆弱性が少ない
  • Poweradminを使って、ウェブインタフェースから管理できる
  • DNSSECに対応し、簡単に管理できる
  • 統計情報をWEBから見ることができる
  • 外部連携インタフェースを備えている

PowerDNSのコンポーネント

PowerDNSは、権威DNSサーバとキャッシュDNSサーバとが、別々のプロセスとして動作します。権威DNSサーバのコンポーネントはAuthoritative Serverとよばれています。また、キャッシュDNSサーバのコンポーネントはRecursorと呼ばれています。

Authoritative Server

Authoritative Serverは、PowerDNSの権威DNSサーバのコンポーネントです。キャッシュサーバ機能は実装されていないため、キャッシュポイズニング攻撃を受けることはありません。
また、管理性と性能を向上するため、バックエンドとしてPostgreSQLやMySQLのようなデータベースを利用することができます。次のようなバックエンドに対応しています。
(対応しているバックエンド)
MySQL, PostgreSQL, SQLite3, Oracle, Sybase, Microsoft SQL Server, LDAP, BIND形式ゾーンファイル

Recursor

Recursorは、PowerDNSのキャッシュDNSサーバのコンポーネントです。ただし、デージーネットでは、Recusorの利用は推奨していません。

PowerDNSの安全性

PowerDNSは、脆弱性が少なく安全なDNSサーバです。BINDと比較してみると、一目瞭然で、非常に安全性が高いことが分かります。

PowerDNSとBINDの脆弱性比較

PowerDNSのパフォーマンス

PowerDNSは、非常に高速に動作するDNSサーバです。BINDよりも高速に動作します。次の図は、デージーネットでベンチマークを行った結果です。

PowerDNSベンチマーク結果

測定の条件

  • queryperf(bindに付属しているツール)を使用
  • ゾーンを10個作成し、各ゾーンに1000レコードを作成、合計1万件のレコードを設定
  • 1万件のレコードについてクエリを10分間連続して実行
  • 同時接続数40
  • PowerDNSのバックエンドはMySQLを使用
  • DELL PowerEdge R220/081N4V
    CPU Intel(R) Xeon(R) CPU E3-1220 v3 @ 3.10GHz
    メモリ 16GB

DNSSECのフルサポート

PowerDNSは、DNSSECをフルサポートしています。pdnssecコマンドでは、DNSSECの管理を行うことができます。鍵の生成も簡単に行うことができます。

# pdnssec secure-zone example.com
Securing zone with default key size
Adding KSK with algorithm rsasha256
Adding ZSK with algorithm rsasha256
Zone example.com secured
Adding NSEC ordering information
                          

PowerDNSの稼働状況

collectdを利用すると、PowerDNSの稼働状況をグラフ化することができます。DNSのクエリ数、回答数などを次のようなGUIで確認できます。

PowerDNSの稼働状況

統計情報の参照

PowerDNSでは、WEBインタフェースから統計情報を参照することができます。
(+をクリックして詳細をご覧ください。)

統計情報の参照画面

  

PowerDNS統計情報の参照1

PowerDNS統計情報の参照2

BINDからの移行

PowerDNSには、BINDからの移行を行うためのツールが付属しています。例えば、zone2sqlコマンドを使うことで、BINDで利用していたゾーンファイルをMySQLに登録することができます。

$ zone2sql --gmysql --zone-name=example.com --zone=example.com.zone | \
mysql -u pdns -p pdns

1 domains were fully parsed, containing 10 records

また、BINDで使っていたDNSSECの情報も引き継ぐことができます。

# pdnssec import-zone-key ZONE  zsk ← ZSKのインポート
# pdnssec import-zone-key ZONE  ksk ← KSKのインポート
# pdnssec show-zone ZONE ← 新しいkeyIDの確認
(snip)
ID = 5 (ZSK), tag = 33753, algo = 8, bits = 1024 Active: 1 ( RSASHA256 )
# pdnssec activate-zone-key ZONE 5 ← 新しいKeyIDの確認

デージーネットのサービスとサポート

デージーネットでは、PowerDNSを活用したDNSサーバ構築サービスを行っています。PowerDNSを利用したDNSサーバをデージーネットで構築した場合には、導入後支援サービス(Open Smart Assistance)でのサポートを受けられます。デージーネット以外で構築したシステムの場合であっても、保守移管サービスを利用することでサポートを受けることが可能になります。


デージーネットでは、システムのサポートとは別に、PowerDNSに特化したソフトウェアの商用サポートも実施しています。PowerDNSは比較的新しいソフトウェアのため、使い方、障害時の対応に関する情報がまだ多くありません。そのため、PowerDNSに移行に不安を感じるという声があります。こうした問題を解消し、PowerDNSをより安心して利用するためのサポートを提供しています。

一押し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の導入検討時にお客様からよくいただくご質問にお答えします。
PowerDNSサポート
デージーネットでは、システム構築やシステム全体の保守、コンサルティングの実績をいかした商用サポートを行っています。

PowerDNSによるDNSサーバ事例

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

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

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

PowerDNS/Poweradminの先頭へ