Plesk の DNS を hidden master にするお話。
Plesk を hidden master にして、連携する DNS サーバを公開するためのセッティング。
目次
用意するもの
- Pleskサーバ
- Linuxベースの権威DNSサーバ 2台 (本稿では CentOS7+bind を使用します)
- Slave DNS Manager 拡張 (Plesk GUI の拡張カタログから入手)
権威DNSサーバの準備
-
bind を install
yum install bind-chroot
※ chroot 対応をしてもしなくても適用できます。chroot環境の導入はお好みで。
-
rndc での新しいゾーンの作成を許可します。
/etc/named.conf ファイルの options {} ディレクティブに、allow-new-zones yes; を追記します。 -
rndc を送信してくる IP アドレスを設定します。
/etc/named.conf ファイルの controls {} ディレクティブ内で当該 IPアドレスを追記します。controls { inet * port 953 allow { <plesk_ip>; <another_plesk_ip> 127.0.0.1; }; };
-
BIND サービスを再起動します。
systemctl restart named または systemctl restart named-chroot
これで、サーバのセットアップは一旦完了です。
Plesk サーバ操作
-
Plesk サーバに拡張をインストールします。
-
拡張の設定で、[ADD slave]をクリックしてスレーブサーバを追加します。
Slave DNS IP address 欄に事前に構築した権威DNSサーバのIPアドレスを入力します。
このとき、bindの設定例が表示されるので、それを参考にbind設定変更するか、
権威DNSサーバ設定を該当欄に入力します。
どちらに合わせても構いません。
連係動作
- Plesk でアクティブなドメインゾーンを作成、変更、削除すると、Plesk はローカル DNS サービスでこのドメインゾーンを作成、変更、削除します。
- PLESKサーバ内でスクリプトが起動し、ドメイン名およびドメインゾーンの作成、変更、削除コマンドを受信します。
- スクリプトは接続されている各スレーブサーバに対して rndc コマンドを開始します。
- スレーブサーバが Plesk サーバのものとドメインゾーンを同期します。
連係コマンド
Plesk は各スレーブサーバに以下のコマンドを実行することで、作成、変更、削除されたすべてのゾーンをスレーブサーバに自動的に転送するようになります。
新規ドメイン
/usr/sbin/rndc -c slave.config -y rndc-key addzone example.net '{ type slave; file "example.net"; masters { <plesk_ip>; }; };'
更新
/usr/sbin/rndc -c slave.config -y rndc-key refresh example.net
ドメイン削除
/usr/sbin/rndc -c slave.config -y rndc-key -clean delzone example.net
※ 試した環境では slave.config は以下ディレクトリに slave_IPアドレス.conf として格納されていました。
/usr/local/psa/var/modules/slave-dns-manager/
config収容場所はココに表示されています。
これで、Plesk にドメインを追加すると、DNS ゾーンがマスターサーバとともにスレーブサーバに自動的に作成されます。
hidden化対応
- このサーバ(pleskサーバ)への port53/udp,tcp をブロックします。これはサーバ自身のファイアウォール設定でも上位の通信経路上の制限でも構いません。pleskサーバから外部へのDNS問い合わせは発生するので間違って外向きも閉めてしまわないように。また、公開する権威DNS(スレーブサーバ)とは相互に port53,953のudp,tcpを開けておきます。
- [ツールと設定]→[DNSテンプレート]→[ゾーン設定]で、プライマリネームサーバのところは公開する権威DNSサーバのFQDNを入れるようにしてください。PLESKサーバの情報が入っている場合、ここにクエリーを投げてきて応答が得られずエラーとされてしまい、そこのサービスが受けられないという不具合事例があるので、応答するサーバを記述します。
※本稿はオフィシャルサイトのドキュメントを参考に構成しています。
Plesk Documentation and Help Portal / スレーブ DNS サーバ
COBOL系SE,PG から NetNews(nntp)配送管理者(tnn.netnews.stats集計担当) を経て現職。
社内業務改善(「やりたくない」がモチベーション)でいろいろ社内ツールを作ってきました。
ネットワーク系の機器をいじることも多いので、それらの管理や制御に関するツールもちらほら。
perlで書くことが多いですね。(COBOLやFORTRAN、Pascal でもいいですけど……)
どれだけ読みやすく書けるか、10年後の自分に手紙でも書くような気持ちで。
最近はDNSを少しかじったりしてますが、いろいろ悩ましいことが多すぎます (>_<)
好きなポート番号は53、119、123です。
LINK
クラウドベリージャム:プロフィールページ