このセクションでは、Plesk に外部の Linux ベースのセカンダリ DNS サーバを統合する方法を説明します。

統合には、Plesk GUI の拡張カタログから入手できる Slave DNS Manager 拡張を使用します。

この拡張は、以下のアルゴリズムで機能します。

  1. 拡張設定にセカンダリサーバが登録されます。
  2. セカンダリサーバの IP アドレスが、Plesk サーバからのドメインゾーン転送が許可されるアドレスのリストに自動的に追加されます。
  3. Plesk でアクティブなドメインゾーンを作成、変更、削除すると、Plesk はローカル DNS サービスでこのドメインゾーンを作成、変更、削除します。
  4. スクリプトが起動し、ドメイン名およびドメインゾーンの作成、変更、削除コマンドを受信します。
  5. スクリプトは接続されている各セカンダリサーバに対して rndc コマンドを開始します。
  6. セカンダリサーバが Plesk サーバのものとドメインゾーンを同期します。

注釈: 以下の指示は Debian Linux を対象としています。他の Linux システムでも手順は同じですが、コマンドと構成ファイルのパスが違う可能性があります。

注釈: サーバに一度にインストールできるのは、Slave DNS Manager、Amazon Route 53、または DigitalOcean DNS のいずれかの拡張のみです。これらはいずれも DNS を管理するため、同時にインストールすると衝突が発生します。

セカンダリ DNS サーバをセットアップするには、以下を行います。

  1. BIND をインストールします。

    apt-get install bind9
    
  2. rndc での新しいゾーンの作成を許可します。 /etc/bind/named.conf.options ファイルの options {} ディレクティブに、allow-new-zones yes; と入力します。

  3. コントロール指示を受け付ける必要がある IP アドレスを指定し、アクセス可能なすべてのネットワークインターフェースを待ち受けるように BIND を設定します。 /etc/bind/named.conf.local ファイルに、以下のように入力します。

    controls {
        inet * port 953 allow { <plesk_ip>; <another_plesk_ip> 127.0.0.1; };
     };
    
  4. 以下のコマンドを実行して BIND サービスを再起動します。

    invoke-rc.d bind9 restart
    
  5. /etc/bind/rndc.key ファイルに含まれる秘密鍵を忘れずに覚えておきます。

    key "rndc-key" {
        algorithm hmac-md5;
        secret "vwOxonI4n4CVRUhKAOAAIA==";
     };
    

これで、セカンダリネームサーバのセットアップが終了しました。

注釈: NAT 内に Plesk サーバを配置している場合、セカンダリ DNS サーバは NAT 外に配置する必要があります。

その後、Plesk サーバに拡張をインストールします。拡張の設定で、セカンダリサーバを追加し、その IP アドレスと秘密鍵を指定します。拡張により、rndc ユーティリティ用のセカンダリサーバ設定が含まれる構成ファイルが作成されます。以降、Plesk は各セカンダリサーバに対して以下のコマンドを実行することで、作成、変更、削除されたすべてのゾーンをセカンダリサーバに自動で転送するようになります。

作成

/usr/sbin/rndc -c slave.config addzone example.com '{ type slave; file "/var/lib/bind/example.com"; masters { <plesk_ip>; }; };'

変更

/usr/sbin/rndc -c slave.config refresh example.com

削除

/usr/sbin/rndc -c slave.config delzone example.com

これで、Plesk にドメインを追加すると、DNS ゾーンがプライマリサーバとともにセカンダリサーバに自動的に作成されるようになります。