ご契約中のお客さま

DNSの動作確認

DNSの動作確認

1.nslookupによる動作確認

nslookupを使って、「自DNS内に登録されているホストが正引き・逆引き出来る事」 「外部のホストが検索出来る事」「ゾーンの転送出来る事」を確認します。(Windows環境の場合コマンドプロンプトで実行して下さい。)

自DNS内のホストを正引き・逆引き

  1. nslookupは、起動時にresolv.conf(Winの場合TCP/IPの設定)で指定しているDNSを逆引きし、結果の得られたホストをDefault Serverにします。逆引きの設定に問題が有る場合や外部検索に問題を抱えている場合、Default Serverが2台目のDNSに滑ったり、nslookupの起動に失敗することがあります。
  2. 自DNS内の検索結果に[Non-authoritative answer]というメッセージが付いた場合、DNSは動作していますが、ゾーンデータに何らかの問題を抱えている可能性があります。ログ(Winの場合イベントビューア)を確認して下さい。
  3. クラスC未満の逆引きを検索した場合、必ずAliasesが見えます。クラスC未満のIPをご利用でAliasesが見えない場合、ゾーンがクラスC単位(69.168.192.in-addr.arpa)で設定されている可能性があります。設定を見直して下さい。

$ nslookup
Default Server: pdns.example.com※1)
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

> host1.example.com. ←正引き
Server: pdns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa ←※2)ここに[Non-authoritative answer]が出てはNG
Name: host1.example.com
Address: 192.168.69.35 ←求める答え

> 192.168.69.35 ←逆引き
Server: pdns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

Name: host1.example.com ←求める答え
Address: 192.168.69.35
Aliases: 35.69.168.192.in-addr.arpa ←※3)

>

外部ホストの検索

弊社のセカンダリDNS等々で何通りかご確認下さい。

$ nslookup
Default Server: pdns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

> sdns.ocn.ad.jp.
Server: pdns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

Non-authoritative answer:
Name: sdns.ocn.ad.jp
Address: 10.20.20.2

> 10.20.20.2
Server: pdns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

Name: sdns.ocn.ad.jp
Address: 10.20.20.2

>

ゾーンの転送

nslookupコマンドで、Default Server上のゾーンの転送が試せます。コマンドは ls で -d オプションで全てのレコードが表示出来ます。この操作は自分のサーバーに対してのみ実行して下さい。
出力された結果が、設定した内容と同じである事が確認出来ます。
nslookupを実行している環境が、ゾーン転送を許可されているIPアドレス帯である必要があります。許可されていなければエラーになります。前述の自DNS内の正引き逆引きで、[Non-authoritative answer:]が出力されている場合も、lsコマンドはエラーになります。

$ nslookup
Default Server: dns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

> ls -d example.com.
[pdns.example.com]
example.com. SOA pdns.example.com postmaster.example.com. (
1 10800 3600 604800 86400)
example.com. A 192.168.69.34
example.com. NS pdns.example.com
example.com. NS sdns.ocn.ad.jp
example.com. MX 10 pdns.example.com
host1.example.com. A 192.168.69.35
localhost.example.com. A 127.0.0.1
mail.example.com. CNAME pdns.example.com
pdns.example.com. A 192.168.69.34
www.example.com. CNAME pdns.example.com
example.com. SOA pdns.example.com postmaster.example.com. (
1 10800 3600 604800 86400)
>
> ls -d 32.69.168.192.in-addr.arpa.
[pdns.example.com]
32.69.168.192.in-addr.arpa. SOA pdns.example.com postmaster.example.com. (
1 10800 3600 604800 86400)
32.69.168.192.in-addr.arpa. NS pdns.example.com
32.69.168.192.in-addr.arpa. NS sdns.ocn.ad.jp
34.32.69.168.192.in-addr.arpa. PTR pdns.example.com
35.32.69.168.192.in-addr.arpa. PTR host1.example.com
32.69.168.192.in-addr.arpa. SOA pdns.example.com postmaster.example.com. (
1 10800 3600 604800 86400)
>
> ls -d 0.0.127.in-addr.arpa.
[pdns.example.com]
0.0.127.in-addr.arpa. SOA pdns.example.com postmaster.example.com. (
1 10800 3600 604800 86400)
0.0.127.in-addr.arpa. NS pdns.example.com
1.0.0.127.in-addr.arpa. PTR localhost
0.0.127.in-addr.arpa. SOA pdns.example.com postmaster.example.com. (
1 10800 3600 604800 86400)

ページトップへ戻る

2.digによる動作確認

digを使って、「自DNS内に登録されているホストが正引き・逆引き出来る事」「外部のホストが検索出来る事」「ゾーンの転送出来る事」を確認します。(Windows環境の場合コマンドプロンプトで実行して下さい。)

digはresolv.confのnameserverに指定したDNSに問合せをし、得られた結果を出力します。オプションで@マークを使い、明示的に問合せ先を指定する事も可能です。ここでは、resolv.confのnameserver行1番目に調査対象のプライマリDNSが設定されている事とします。

dig @pdns.example.com. host1.example.com.

Windowsの場合、BINDを導入した環境でこのツールが利用可能です。WindowsのTCP/IPの設定に設定したDNS検索先ではなく、UNIXのようにresolv.confに従います。resolv.confについて、BINDの設定例のページで紹介しております。
digのバージョンによって、若干出力フォーマットが違っている部分もありますが、確認する主要な部分は同じです。

自DNS内のホストを正引き・逆引き

正引きの場合「ホスト名」、逆引きの場合「IPアドレス」をキーワードにします。逆引きの場合、-x オプションをつける事で xxx.xxx.xxx.xxx.in-addr.arpa の形式に変換され検索されます。
正引きの場合「Aレコード」、逆引きの場合「PTRレコード」が求められますが、末尾に明示的に求めるレコード名をつける事も可能です。digのバージョンによっては明示的に指定した方が良いケースもあります。ご注意下さい。

dig host1.example.com. a
dig -x 192.168.69.35 ptr

「QUESTION SECTION:」が求めたレコード、「ANSWER SECTION:」が得られた答えです。
クラスC未満の逆引きを検索した場合、必ず「ANSWER SECTION:」にCNAMEが見えます。クラスC未満のIPをご利用でCNAMEが見えない場合、ゾーンがクラスC単位(69.168.192.in-addr.arpa)で設定されている可能性があります。設定を見直して下さい。
ヘッダ部分の「SERVER:」が調査対象のプライマリDNSである事もご確認下さい。

$ dig host1.example.com.

; <<>> DiG 9.2.1 <<>> host1.example.com.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;host1.example.com. IN A

;; ANSWER SECTION:
host1.example.com. 86400 IN A 192.168.69.35


;; AUTHORITY SECTION:
example.com. 86400 IN NS pdns.example.com.
example.com. 86400 IN NS sdns.ocn.ad.jp.

;; ADDITIONAL SECTION:
pdns.example.com. 86400 IN A 192.168.69.34
sdns.ocn.ad.jp. 85679 IN A 10.20.20.2

;; Query time: 30 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 24 23:00:00 2002
;; MSG SIZE rcvd: 132

$
$ dig -x 192.168.69.35

; <<>> DiG 9.2.1 <<>> -x 192.168.69.35
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;35.69.168.192.in-addr.arpa. IN PTR

;; ANSWER SECTION:
35.69.168.192.in-addr.arpa. 86400 IN CNAME 35.32.69.168.192.in-addr.arpa.
35.32.69.168.192.in-addr.arpa. 86400 IN PTR host1.example.com.


;; AUTHORITY SECTION:
32.69.168.192.in-addr.arpa. 86400 IN NS pdns.example.com.
32.69.168.192.in-addr.arpa. 86400 IN NS sdns.ocn.ad.jp.

;; ADDITIONAL SECTION:
pdns.example.com. 86400 IN A 192.168.69.34
sdns.ocn.ad.jp. 85679 IN A 10.20.20.2

;; Query time: 1011 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 24 23:10:00 2002
;; MSG SIZE rcvd: 163

外部ホストの検索

弊社のセカンダリDNS等々で何通りかご確認下さい。

$ dig sdns.ocn.ad.jp.

; <<>> DiG 9.2.1 <<>> sdns.ocn.ad.jp.
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;sdns.ocn.ad.jp. IN A

;; ANSWER SECTION:
sdns.ocn.ad.jp. 86400 IN A 10.20.20.2


;; AUTHORITY SECTION:
ocn.ne.jp. 86400 IN NS pdns.ocn.ad.jp.
ocn.ne.jp. 86400 IN NS sdns.ocn.ad.jp.

;; Query time: 290 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 24 23:20:00 2002
;; MSG SIZE rcvd: 96

$
$ dig -x 10.20.20.2

; <<>> DiG 9.2.1 <<>> -x 10.20.20.2
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;2.20.20.10.in-addr.arpa. IN PTR

;; ANSWER SECTION:
2.20.20.10.in-addr.arpa. 86400 IN PTR sdns.ocn.ad.jp.


;; AUTHORITY SECTION:
20.20.10.in-addr.arpa. 86400 IN NS pdns.ocn.ad.jp.
20.20.10.in-addr.arpa. 86400 IN NS sdns.ocn.ad.jp.

;; Query time: 1121 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 24 23:30:00 2002
;; MSG SIZE rcvd: 121

ゾーンの転送

axfrが転送を試みるオプションでゾーンの転送が試せます。この操作は自分のサーバーに対してのみ実行して下さい。出力された結果が、設定した内容と同じである事が確認出来ます。
digを実行している環境が、ゾーン転送を許可されているIPアドレス帯である必要があります。許可されていなければエラーになります。前述の自DNS内の正引き逆引きで、[Non-authoritative answer:]が出力されている場合も、lsコマンドはエラーになります。

$ dig example.com. axfr

; <<>> DiG 9.2.1 <<>> example.com. axfr
;; global options: printcmd
example.com. 86400 IN SOA pdns.example.com.
postmaster.example.com. 1 10800 3600 604800 86400
example.com. 86400 IN NS pdns.example.com.
example.com. 86400 IN NS sdns.ocn.ad.jp.
example.com. 86400 IN A 192.168.69.34
example.com. 86400 IN MX 10 pdns.example.com.
host1.example.com. 86400 IN A 192.168.69.35
localhost.example.com. 86400 IN A 127.0.0.1
mail.example.com. 86400 IN CNAME pdns.example.com.
pdns.example.com. 86400 IN A 192.168.69.34
www.example.com. 86400 IN CNAME pdns.example.com.
example.com. 86400 IN SOA pdns.example.com.
postmaster.example.com. 1 10800 3600 604800 86400
;; Query time: 200 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 24 23:40:00 2002
;; XFR size: 12 records

$ dig -x 192.168.69.32 axfr

; <<>> DiG 9.2.1 <<>> -x 192.168.69.32 axfr
;; global options: printcmd
32.69.168.192.in-addr.arpa. 86400 IN SOA pdns.example.com.
postmaster.example.com. 1 10800 3600 604800 86400
32.69.168.192.in-addr.arpa. 86400 IN NS pdns.example.com.
32.69.168.192.in-addr.arpa. 86400 IN NS sdns.ocn.ad.jp.
34.32.69.168.192.in-addr.arpa. 86400 IN PTR pdns.example.com.
35.32.69.168.192.in-addr.arpa. 86400 IN PTR host1.example.com.
32.69.168.192.in-addr.arpa. 86400 IN SOA pdns.example.com.
postmaster.example.com. 1 10800 3600 604800 86400
;; Query time: 20 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 24 23:50:00 2002
;; XFR size: 7 records

$ dig -x 127.0.0 axfr

; <<>> DiG 9.2.1 <<>> -x 127.0.0 axfr
;; global options: printcmd
0.0.127.in-addr.arpa. 86400 IN SOA pdns.example.com.
postmaster.example.com. 1 10800 3600 604800 86400
0.0.127.in-addr.arpa. 86400 IN NS pdns.example.com.
1.0.0.127.in-addr.arpa. 86400 IN PTR localhost.
0.0.127.in-addr.arpa. 86400 IN SOA pdns.example.com.
postmaster.example.com. 1 10800 3600 604800 86400
;; Query time: 10 msec
;; SERVER: 192.168.69.34#53(192.168.69.34)
;; WHEN: Thu Dec 25 00:00:00 2002
;; XFR size: 5 records

$

WindowsNT,2000環境について補足

BIND付属のdigやnslookupは、"C:\winnt\system32\dns\bin\dig.exe"のようなBINDのインストール先に実行ファイルがあります。(BIND8の場合、インストーラではコピーされないので、ご自分でbinフォルダにコピーする必要があります。)
このパス(C:\winnt\system32\dns\bin)は環境変数のPathに登録されていないので、コマンドプロンプトの位置によっては、digと打っても認識されません。

C:\>dig -h
'dig' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

C:\>

環境変数を操作せずにdigを実行する方法1 -「digまでのフルパスを指定する」

C:\>C:\winnt\system32\dns\bin\dig -h

環境変数を操作せずにdigを実行する方法2 -「cdでdigのあるフォルダに移動して実行する」

C:\>cd C:\winnt\system32\dns\bin
C:\winnt\system32\dns\bin>dig -h

以上までの方法では面倒と言う場合、 環境変数のPathに"C:\winnt\system32\dns"を登録する方法があります。この方法については、お客様で解決して頂けます様お願い致します。(設定を行う際は十分ご注意頂き、お客様の責任で行って下さい。パスの設定の誤りによるトラブルがございましても、弊社では責任は負い兼ねます。)

ページトップへ戻る

3.OCNセカンダリDNSの確認

【ご注意下さい】弊社セカンダリDNSは、OCNご利用開始直後は運用を開始しておりません。関連FAQはこちら

セカンダリDNSにゾーンデータが転送されている事を確認する方法として、SOAレコードのSerial番号を比較する方法を紹介します。nslookup又はdigを使う時のポイントは以下です。

  • resolv.conf(Winの場合TCP/IPの設定)のDNS指定には頼らず、明示的にセカンダリに問合せます。
  • SOAレコードを指定して検索します。
    非再帰的な問合せ(no recurse)を行う事で、セカンダリがプライマリから答えを得てしまう事を防ぎます。

nslookupの場合

逆引きの場合 32.69.168.192.in-addr.arpa の様に逆引きゾーン名で検索します。

$ nslookup
Default Server: pdns.example.com
Address: 192.168.69.34
Aliases: 34.69.168.192.in-addr.arpa

> server sdns.ocn.ad.jp.
Default Server: sdns.ocn.ad.jp
Address: 10.20.20.2

> set type=soa
> set norec
> example.com. ※調べるゾーン名
Default Server: sdns.ocn.ad.jp
Address: 10.20.20.2 ←ここに[Non-authoritative answer]が出てはNG
example.com
  primary name server = pdns.example.com
  responsible mail addr = postmaster.example.com
  serial = 2 ←ここがプライマリと同じである事.
  refresh = 10800 (3 hours)
  retry = 3600 (1 hour)
  expire = 604800 (7 days)
  default TTL = 86400 (1 day)
example.com nameserver = sdns.ocn.ad.jp
example.com nameserver = pdns.example.com
pdns.example.com internet address = 192.168.69.34
sdns.ocn.ad.jp internet address = 10.20.20.2
>

digの場合

逆引きの場合「dig @sdns.ocn.ad.jp. -x 211.130.90.80 soa +norec」の様に検索します。

$ dig @sdns.ocn.ad.jp. example.com. soa +norec

; <<>> DiG 9.2.1 <<>> @sdns.ocn.ad.jp. example.com. soa +norec
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;life-complete.co.jp. IN SOA

;; ANSWER SECTION:
example.com. 86400 IN SOA pdns.example.com. postmaster.example.com.
2 10800 3600 604800 86400
↑ここがプライマリと同じである事.
;; AUTHORITY SECTION:
example.com. 86400 IN NS pdns.example.com.
example.com. 86400 IN NS sdns.ocn.ad.jp.

;; ADDITIONAL SECTION:
pdns.example.com. 86400 IN A 192.168.69.34
sdns.ocn.ad.jp. 85679 IN A 10.20.20.2

;; Query time: 420 msec
;; SERVER: 10.20.20.2#53(sdns.ocn.ad.jp.) セカンダリが答えている事.
;; WHEN: Sat Feb 01 23:03:05 2003
;; MSG SIZE rcvd: 111

転送されない場合

ケースとして4つの例を紹介します。

ページトップへ戻る