このチュートリアルでは、CentOS 7サーバーにPowerDNSをインストールして構成する方法を示します。知らない人のために、PowerDNSはMySQLベースのDNSサーバーであり、 C ++であり、GPLの下でライセンスされています。PowerDNSはWebインターフェイス(PowerAdmin)を介して管理できます。バインドとは異なり、PowerDNSは、バインドゾーンファイルやさまざまなデータベースなどの多数のバックエンドを使用して設定できます。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ルート権限を取得するコマンドに‘。 CentOS7サーバーへのPowerDNSのインストールを段階的に説明します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOS7。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)。
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
CentOS7にPowerDNSをインストールする
ステップ1.まず、システムが最新であることを確認することから始めましょう。
yum clean all yum -y update
ステップ2.PowerDNSとバックエンドをインストールします。
まず、システムでEPELリポジトリと必要なすべてのパッケージを有効にする必要があります:
yum install epel-release yum install bind-utils pdns pdns-recursor pdns-backend-mysql mariadb mariadb-server
起動時にPowerDNSを有効にして、PowerDNSサーバーを起動します:
systemctl enable mariadb systemctl enable pdns systemctl enable pdns-recursor
ステップ3.MariaDBの構成。
デフォルトでは、MariaDBは強化されていません。mysql_secure_installation
を使用してMariaDBを保護できます。 脚本。ルートパスワードの設定、匿名ユーザーの削除、リモートルートログインの禁止、テストデータベースの削除と安全なMariaDBへのアクセスを行う各手順を注意深くお読みください。
mysql_secure_installation
ステップ4.MariaDBでPowerDNSデータベースとユーザーを作成します。
MariaDBルートとしてログインし、新しいデータベースとテーブルを作成します:
$ mysql -uroot -p create user 'powerdns'@'localhost' identified by 'password'; grant all privileges on powerdns.* to 'powerdns'@'localhost'; flush privileges; use powerdns; CREATE TABLE domains ( id INT AUTO_INCREMENT, name VARCHAR(255) NOT NULL, master VARCHAR(128) DEFAULT NULL, last_check INT DEFAULT NULL, type VARCHAR(6) NOT NULL, notified_serial INT DEFAULT NULL, account VARCHAR(40) DEFAULT NULL, PRIMARY KEY (id) ) Engine=InnoDB; CREATE UNIQUE INDEX name_index ON domains(name); CREATE TABLE records ( id INT AUTO_INCREMENT, domain_id INT DEFAULT NULL, name VARCHAR(255) DEFAULT NULL, type VARCHAR(10) DEFAULT NULL, content VARCHAR(64000) DEFAULT NULL, ttl INT DEFAULT NULL, prio INT DEFAULT NULL, change_date INT DEFAULT NULL, disabled TINYINT(1) DEFAULT 0, ordername VARCHAR(255) BINARY DEFAULT NULL, auth TINYINT(1) DEFAULT 1, PRIMARY KEY (id) ) Engine=InnoDB; CREATE INDEX nametype_index ON records(name,type); CREATE INDEX domain_id ON records(domain_id); CREATE INDEX recordorder ON records (domain_id, ordername); CREATE TABLE supermasters ( ip VARCHAR(64) NOT NULL, nameserver VARCHAR(255) NOT NULL, account VARCHAR(40) NOT NULL, PRIMARY KEY (ip, nameserver) ) Engine=InnoDB; CREATE TABLE comments ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, name VARCHAR(255) NOT NULL, type VARCHAR(10) NOT NULL, modified_at INT NOT NULL, account VARCHAR(40) NOT NULL, comment VARCHAR(64000) NOT NULL, PRIMARY KEY (id) ) Engine=InnoDB; CREATE INDEX comments_domain_id_idx ON comments (domain_id); CREATE INDEX comments_name_type_idx ON comments (name, type); CREATE INDEX comments_order_idx ON comments (domain_id, modified_at); CREATE TABLE domainmetadata ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, kind VARCHAR(32), content TEXT, PRIMARY KEY (id) ) Engine=InnoDB; CREATE INDEX domainmetadata_idx ON domainmetadata (domain_id, kind); CREATE TABLE cryptokeys ( id INT AUTO_INCREMENT, domain_id INT NOT NULL, flags INT NOT NULL, active BOOL, content TEXT, PRIMARY KEY(id) ) Engine=InnoDB; CREATE INDEX domainidindex ON cryptokeys(domain_id); CREATE TABLE tsigkeys ( id INT AUTO_INCREMENT, name VARCHAR(255), algorithm VARCHAR(50), secret VARCHAR(255), PRIMARY KEY (id) ) Engine=InnoDB; CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
ステップ5.PowerDNSを設定します。
` /etc/pdns/pdns.conf
を開きます `ファイルを作成し、次の行を追加します:
allow-axfr-ips=<IPs allowed axfr> allow-recursion=<IPs allowed recursion> launch=gmysql gmysql-host=127.0.0.1 gmysql-user=<yourdbuser> gmysql-password=<yourdbpassword> gmysql-dbname=powerdns local-address=<yourserverIPs> local-port=53 master=yes recursor=127.0.0.1:5353 setgid=pdns setuid=pdns webserver=yes webserver-address=<bindipaddress> webserver-password=<yourpassword> webserver-port=8081
最後に、PowerDNSサービスを再起動します。
systemctl restart pdns.service systemctl enable pdns.service
ステップ6.リカーサーを構成します。
` /etc/pdns-recursor/recursor.conf
を開きます `ファイルを作成し、次の行を追加します:
setuid=pdns-recursor setgid=pdns-recursor allow-from=127.0.0.0/8 local-address=127.0.0.1 local-port=5353
Recursorサービスを開始します:
systemctl restart pdns-recursor
テストリカーサー:
host ping.idroot.us 127.0.0.1 Using domain server: Name: 127.0.0.1 Address: 127.0.0.1#53 Aliases: ping.idroot.us has address 194.109.46.8 ping.idroot.us has IPv6 address 2001:888:0:25:169:109:21:66
おめでとうございます。PowerDNSが正常にインストールされました。CentOS7システムにPowerDNSをインストールするためにこのチュートリアルを使用していただきありがとうございます。追加のヘルプや役立つ情報については、PowerDNSの公式Webサイトを確認することをお勧めします。