2026年6月12日
2026年6月12日
DNSMadeEasy でセカンダリ設定する手順|自前のプライマリからゾーン転送で受け取る構成と確認方法
DNS Made Easy をセカンダリ DNS として使うには、DNS Made Easy 側にプライマリサーバーの IP アドレスを登録してセカンダリのドメインを作り、プライマリ側では DNS Made Easy のゾーン転送用サーバーだけに転送と通知を許可し、最後にレジストラとゾーンの NS レコードを両方そろえます。この記事では、BIND をプライマリにした場合の設定例を使って、手順ごとの理由、ゾーン転送が成功したかの確かめ方、止まったときの原因の探し方を説明します。逆向き(DNS Made Easy をプライマリにして他社をセカンダリにする)の要点も最後に触れます。
DNS Made Easy の画面の表記、セカンダリ機能を使えるプラン、ゾーン転送用サーバーの IP アドレスは変わることがあります(2026年10月現在)。IP アドレスは記事の例ではなく、公式ドキュメントに記載された最新の値を使ってください。
構成の全体像と、先に決めること
セカンダリ構成では、レコードの編集はプライマリだけで行い、DNS Made Easy はプライマリからゾーンの内容をコピーして応答します。変更の流れは次のとおりです。
- プライマリでゾーンファイルを編集し、SOA のシリアル番号を上げて再読み込みする
- プライマリが DNS Made Easy に変更を通知(NOTIFY)する
- DNS Made Easy がシリアル番号を確かめ、新しければゾーン転送(AXFR/IXFR)で内容を取りに来る
始める前に、プライマリを外部に公開するかどうかを決めます。プライマリもネームサーバーとしてレジストラに登録する構成と、プライマリは転送元としてだけ使い、外からの問い合わせには DNS Made Easy だけが答える構成(隠れプライマリ)があります。後者はプライマリへの攻撃や負荷を減らせる一方、DNS Made Easy が止まったときの逃げ道がなくなります。サイトの規模と、自前サーバーをどこまで外にさらしたいかで選びます。
手順1:DNS Made Easy にセカンダリのドメインを作る
DNS Made Easy の管理画面のセカンダリ DNS の項目で、まずプライマリサーバーの IP アドレスを登録します。DNS Made Easy では、転送元の IP アドレスの組をひとまとまりとして登録し、それをドメインに割り当てる形になっています。続いて、セカンダリとして扱うドメインを追加し、先ほどの IP アドレスの組を割り当てます。
ここで登録する IP アドレスは、ゾーン転送で実際に接続を受けるプライマリのアドレスです。プライマリが NAT の内側にある場合や複数のアドレスを持つ場合は、DNS Made Easy から到達できるアドレスを指定します。メニューの名前や、1つの組に登録できる IP の数は画面と公式ヘルプで確認してください。
手順2:プライマリで転送と通知を許可する
プライマリ側では、DNS Made Easy のゾーン転送用サーバーだけにゾーン転送を許可し、変更時に通知を送るよう設定します。BIND での例は次のとおりです。
// named.conf の例(BIND 9.16 以降の書き方。古い BIND では type master)
acl "dme-xfr" {
198.51.100.10; // DNS Made Easy が案内するゾーン転送用サーバーの IP に置き換える
198.51.100.11;
};
zone "example.com" {
type primary;
file "/etc/bind/zones/db.example.com";
allow-transfer { dme-xfr; }; // 転送はこの相手だけに許可する
also-notify { 198.51.100.10; 198.51.100.11; }; // 変更時に通知を送る相手
notify yes;
};
allow-transfer を指定しないと、BIND の設定によっては誰にでもゾーンの内容を渡してしまいます。ゾーン転送は、サブドメインの一覧など外に見せる必要のない情報まで含むため、転送先は必要な相手だけに絞ります。
あわせてファイアウォールも確認します。ゾーン転送は TCP の53番ポートを使い、通知は主に UDP の53番ポートで送られます。UDP だけを開けている環境では、通知は届くのに転送が失敗する、という状態になります。
設定を変えたら、構文を確かめてから再読み込みします。
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/zones/db.example.com
sudo rndc reload
手順3:ゾーンの NS レコードと SOA を整える
プライマリのゾーンファイルには、DNS Made Easy のネームサーバーを NS レコードとして書きます。隠れプライマリにする場合は、プライマリ自身は NS に含めません。
$TTL 3600
@ IN SOA ns-primary.example.net. hostmaster.example.com. (
2026101801 ; シリアル(変更のたびに上げる)
3600 ; refresh: セカンダリが更新を確かめる間隔
900 ; retry: refresh に失敗したときの再試行間隔
1209600 ; expire: プライマリに届かないまま応答を続ける上限
300 ) ; ネガティブキャッシュの TTL
@ IN NS ns0.dnsmadeeasy.com. ; 管理画面と公式ドキュメントで案内されたネームサーバー名に置き換える
@ IN NS ns1.dnsmadeeasy.com.
SOA の値のうち、セカンダリの動きに直接関わるのは refresh・retry・expire です。通知が届けば refresh を待たずに更新されますが、通知が失われたときは refresh の間隔で追い付きます。expire は、プライマリに長く接続できないとき、セカンダリがゾーンの応答をやめるまでの期限です。短すぎるとプライマリの障害がそのまま DNS 全体の停止につながるため、2週間程度の余裕を持たせるのが一般的です。DNS Made Easy がこれらの値をどう扱うかは公式ドキュメントで確かめてください。
手順4:レジストラのネームサーバーを切り替える
ゾーン転送が成功し、DNS Made Easy のネームサーバーが正しく答えることを確かめてから、レジストラのネームサーバー設定を、ゾーンの NS レコードと同じ組み合わせにします。ゾーンの NS とレジストラの登録内容がずれていると、問い合わせ先が環境によって変わり、原因の分かりにくい不具合になります。切り替えの数日前に、旧ネームサーバーで NS レコードの TTL を短くしておくと、問題が出たときに戻しやすくなります。
転送が成功したかを確かめる
まず、プライマリと DNS Made Easy で SOA のシリアル番号が一致しているかを見ます。
dig +short example.com SOA @192.0.2.10 # プライマリ
dig +short example.com SOA @ns0.dnsmadeeasy.com # DNS Made Easy
dig +nssearch example.com # 公開されている全ネームサーバーの SOA
番号が一致していればゾーン転送は成功しています。プライマリのログにも、DNS Made Easy のアドレスからの転送が始まった・終わったという記録が残ります。
sudo journalctl -u named --since "10 min ago" | grep -i -E "transfer|notify"
さらに、許可していない場所からの転送が拒否されることも確かめます。手元のパソコンなど、許可リストにない場所から次を実行し、転送失敗と表示されれば制限は効いています。
dig @192.0.2.10 example.com AXFR
ゾーン転送が止まったときの確認順
DNS Made Easy のシリアル番号が古いままのときは、次の順に確かめます。上ほどよくある原因です。
- シリアル番号を上げ忘れた: プライマリでレコードを変えても、シリアル番号が同じならセカンダリは「変更なし」と判断します。ゾーンファイルの番号を上げ、
rndc reloadし直します。 - 転送の許可に DNS Made Easy のアドレスがない: プライマリのログに転送の拒否が出ていれば、
allow-transferの IP が最新の値と合っているかを公式ドキュメントで確かめます。 - TCP の53番が閉じている: 通知のログは出るのに転送が始まらない場合は、ファイアウォールやクラウドのセキュリティグループを確かめます。
- DNS Made Easy 側の転送元 IP が違う: 手順1で登録したプライマリの IP が、実際に転送に応じるアドレスと違っていないかを見直します。
- ゾーンファイルの構文エラー:
named-checkzoneでエラーが出ると、プライマリ自身がゾーンを読み込めていません。
逆向き:DNS Made Easy をプライマリにする場合
DNS Made Easy でレコードを管理し、他社や自前のサーバーをセカンダリにする構成も取れます。この場合は、DNS Made Easy 側でゾーン転送を許可する相手(セカンダリの IP アドレス)を登録してドメインに割り当て、セカンダリ側では DNS Made Easy が案内する転送元を指定してゾーンを取りに行かせます。確認の方法は上と同じで、全ネームサーバーのシリアル番号がそろうかを見ます。
どちらの向きでも、DNSSEC を使う場合は署名をどこで行い、DS レコードをどう登録するかを先に決める必要があります。セカンダリが署名済みのゾーンをそのまま配れるかは事業者によって異なるため、導入前に確認してください。
まとめ
- DNS Made Easy をセカンダリにするには、転送元となるプライマリの IP を登録してセカンダリのドメインを作り、プライマリ側では DNS Made Easy の転送用サーバーだけに転送と通知を許可します。
- ゾーンの NS レコードとレジストラのネームサーバーは同じ組み合わせにし、切り替えはゾーン転送の成功を確かめてから行います。
- 確認は SOA のシリアル番号の一致、プライマリのログ、許可外からの AXFR が拒否されることの3点で行います。
- 転送が止まったら、シリアル番号の上げ忘れ、転送許可の IP、TCP 53番の順に確かめます。