PowerDNS

提供: ArchWiki
2019年3月31日 (日) 15:16時点におけるHiromi-mi (トーク | 投稿記録)による版 (英語版と同期)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

PowerDNS は DNS サーバーです。C++ で書かれており GPL ライセンスで配布されています。PowerDNS はシンプルな BIND スタイルのゾーンファイルからリレーショナルデータベースやロードバランサー・フェイルオーバーを使用するアルゴリズムまで、幅広いバックエンドを利用できるのが特徴です。

インストール

powerdns パッケージをインストールしてください。

そして /etc/powerdns/pdns.conf にある設定ファイルを確認します。

バックエンド

PowerDNS で特定のバックエンドを使うように設定するには設定ファイルで launch オプションをセットする必要があります。また、使用するバックエンドによっては、バックエンドの設定も必要です。

PostgreSQL, MySQL, SQLite の場合 /usr/share/doc/powerdns にデータベーステーブルを作成する SQL ファイルが存在します。

PostgreSQL バックエンド

まず PowerDNS がデータを保存するのに使用するユーザーとデータベースを作成してください。

そして "schema.pgsql.sql" ファイルを実行してテーブルを作成:

psql -U <user> -d <database name> -a -f /usr/share/doc/powerdns/schema.pgsql.sql

最後に設定ファイルを更新してください:

launch=gpgsql
gpgsql-host=/run/postgresql # if PostgreSQL is listening to unix socket
# gpgsql-host=127.0.0.1
# gpgsql-port=5432
gpgsql-dbname=<database name>
gpgsql-user=<user to use>
gpgsql-password=

MySQL バックエンド

MySQL サーバーをインストール・実行してください。新しいユーザー・新しいデータベースを作成してデータベースにスキーマをインポートします:

mysql -u root -p pdns < /usr/share/doc/powerdns/schema.mysql.sql

Then, configure Powerdns to use MySQL:

/etc/powerdns/pdns.conf
launch=gmysql
gmysql-host=127.0.0.1
gmysql-socket=/run/mysqld/mysqld.sock
gmysql-user=pdns
gmysql-password=Pa$$w0rd
gmysql-dbname=pdns
# Add this for dnssec support
# gmysql-dnssec=yes

127.0.0.1 の代わりに localhost を使うこともできますが、PowerDNS がソケットファイルを使うようになります。デフォルトでは chroot で PowerDNS を動作させるため、ソケットファイルは利用できません。

起動

powerdns サービスを起動・有効化してください。

参照