Powered Internetサービス セカンダリDNSのゾーン転送確認方法
KDDI Powered Internet セカンダリDNSにゾーンデータが正常に転送されている事を確認する方法として、SOAレコードのSerial番号を比較する方法と、ゾーン情報そのものを確認する方法 (注1) をご紹介します。
- 注1) お客さまプライマリDNS以外の端末からは確認できません。
お客さまが新規に接続される場合や、ゾーンの追加、修正を行われた際に、"nslookup"や"dig"といったコマンドを使用することにより、お客さまプライマリDNSなどから、セカンダリDNSにゾーン転送が正常に行われているかどうかの確認することができます。
設定条件
| ドメイン名 | example.co.jp |
|---|---|
| IPアドレス | 192.168.64.0/26 (192.168.64.0 - 192.168.64.63) |
| プライマリDNS | dns.example.co.jp (192.168.64.10) |
| ゾーン名 (正引き) | example.co.jp |
| ゾーン名 (逆引き) | 0.64.168.192.in-addr.arpa |
| Powered Internet側セカンダリDNS | ns??.pwd.ne.jp (10.10.10.3) |
- ※ お客さまの環境に随時読み替えてご活用ください。
- ※ クラスC未満の場合の例になります。
クラスC以上でも方法は変わりませんが、逆引きゾーンファイル名が異なりますのでご注意ください (例: 192.168.64.0/24 の場合は 64.168.192.in-addr.arpa) 。
SOAレコードの確認方法
nslookupの場合
$ nslookup <-------- 対話モードに入る Default Server: dns.example.co.jp Address: 192.168.64.10 Aliases: 0.10.168.192.in-addr.arpa. > server ns??.pwd.ne.jp. <-------- セカンダリDNSを指定 Default Server: ns??.pwd.ne.jp Address: 10.10.10.3 > set type=soa <-------- SOAレコードを問い合わせる > set norec <-------- 非再帰的な問合せ > example.co.jp. <-------- 調べるゾーン名 (注2) Default Server: ns??.pwd.ne.jp Address: 10.10.10.3 >---- ここに[Non-authoritative answer]が出なければ、 ns??.pwd.ne.jpが ゾーン情報を保持しています example.com primary name server = dns.example.co.jp responsible mail addr = postmaster.example.co.jp serial = 2005051301 <-------- このSerial番号がプライマリDNS側と同じであることを確認してください refresh = 10800 (3 hours) retry = 3600 (1 hour) expire = 604800 (7 days) default TTL = 86400 (1 day) example.co.jp nameserver = ns??pwd.ne.jp example.co.jp nameserver = dns.example.co.jp dns.example.co.jp internet address = 192.168.64.10 ns??.pwd.ne.jp internet address = 10.10.10.3 >
- 注2) 逆引きのゾーン転送を確認する場合は、調べるゾーン名を"0.64.168.192.in-addr.arpa."にしてください。
digの場合
$ dig @ns??.pwd.ne.jp. example.co.jp. soa +norec <---- dig @<セカンダリDNS> <問い合わせるゾーン> <レコード> という形式 +norec で非再帰的問合せを指定 ; <<>> DiG 9.2.3 <<>> @ns??.pwd.ne.jp. example.co.jp. soa +norec ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: xxxx ;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ; example.co.jp. IN SOA ;; ANSWER SECTION: <-------- この部分が問合せに対して得られた答えになります example.co.jp. 86400 IN SOA dns.example.co.jp. postmaster.example.co.jp. 2005051301 10800 3600 604800 86400 ↑このSerial番号がプライマリDNS側と同じである事を確認してください ;; AUTHORITY SECTION: example.co.jp. 86400 IN NS dns.example.co.jp. example.co.jp. 86400 IN NS ns??.pwd.ne.jp. ;; ADDITIONAL SECTION: example.co.jp. 86400 IN A 192.168.64.10 ns??.pwd.ne.jp. xxxxx IN A 10.10.10.3 ;; Query time: xx msec ;; SERVER: 10.10.10.3#53 (ns??.pwd.ne.jp.) <---- ns??.pwd.ne.jpが答えている事 を確認してください ;; WHEN: Fri May 13 20:01:05 2005 ;; MSG SIZE rcvd: xxx
- ※ 逆引きのゾーン転送を確認する場合は、-x のオプションを付けます。
例: dig @ns??.pwd.ne.jp -x 192.168.64.0 soa +norec
ゾーン情報の全内容確認方法
ゾーン情報の取得は自分のサーバー、およびns??.pwd.ne.jpに対してのみ実行してください。ゾーン情報の取得については、許可された端末 (IPアドレス) からのみ行えるようになっておりますので、それ以外の端末 (IPアドレス) からの要求に対しては、ns??.pwd.ne.jpから返答を行いません。通常は、お客さまプライマリDNSからのみ確認が可能です。
nslookupの場合
$ nslookup <-------- 対話モードに入る Default Server: dns.example.co.jp Address: 192.168.64.10 Aliases: 0.10.168.192.in-addr.arpa. > server ns??.pwd.ne.jp. <-------- セカンダリDNSを指定 Default Server: ns??.pwd.ne.jp Address: 10.10.10.3 > ls -d example.co.jp. <-------- ls -d [調べるゾーン名]の形式 (注3)
- 注3) 逆引きのゾーン転送を確認する場合は、調べるゾーン名を"0.64.168.192.in-addr.arpa."にしてください。
ゾーン転送が正常に行われていると、設定したゾーン情報が表示されます。プライマリで保持しているゾーン情報と相違無いことを確認してください。
digの場合
$ dig @ns??.pwd.ne.jp. example.co.jp. axfr <---- dig @<セカンダリDNS> <問い合わせるゾーン> <レコード> という形式 ; <<>> DiG 9.2.3 <<>> @ns??.pwd.ne.jp. example.co.jp. axfr ;; global options: printcmd
ゾーン転送が正常に行われていると、設定したゾーン情報が表示されます。プライマリで保持しているゾーン情報と相違無いことを確認してください。
;; Query time: xx msec ;; SERVER: 10.10.10.3#53 (ns??.pwd.ne.jp.) <---- ns??.pwd.ne.jpが答えている事を確認してください ;; WHEN: Fri May 13 20:01:05 2005 ;; XFR size: xxx records
- ※ 逆引きのゾーン転送を確認する場合は、-x のオプションを付けます。
例: dig @ns??.pwd.ne.jp -x 192.168.64.0 axfr +norec
ご注意事項
うまくゾーン転送が行われない場合、原因として以下のケースが考えられますのでご確認ください。
ゾーン情報更新時に、SOAレコードのSerial番号の追加をしていない
→Serial番号は前回よりも大きな値に更新してください
更新してから、SOAレコードのRefresh値分の時間が経過していない
→Refresh値分の時間が経過するまでお待ちください
- ※ 更新数日前にRefresh値を短めに設定することで、反映時間を早くできます
最短でも300 (5分) 程度の設定にされることをおすすめします
セカンダリDNSに対してのゾーン転送が許可されていない
→プライマリDNSの設定などをご確認ください (named.conf の allow-transfer など)
ファイアウォールなどで、DNSのパケット (tcp/53) がフィルタされている
→ファイアウォールの設定を見直し、tcpのポート番号53を許可するようにしてください
そのほか、上手くいかない場合は、お客さまプライマリDNSのlogなどもご確認ください





