digコマンドとはネームサーバに対して問い合わせを行い、その結果を表示するコマンドです。Unix系OSにはデフォルトで入っています。Windowsにあるnslookupよりも詳細な問い合わせを容易に行うことができるため、digコマンドを使って設定確認を行うことを強くお勧めします。
$ dig @コンテンツサーバ タイプ ドメイン +norec |
$ dig @ns1.dns53.jp NS dns53.jp +norec ; <<>> DiG 9.4.3-P2 <<>> @ns1.dns53.jp NS dns53.jp +norec ; (2 servers found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29486 ;; flags: qr aa; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 4 ;; QUESTION SECTION: ;dns53.jp. IN NS ;; ANSWER SECTION: dns53.jp. 86400 IN NS ns1.dns53.jp. dns53.jp. 86400 IN NS ns2.dns53.jp. ;; ADDITIONAL SECTION: ns1.dns53.jp. 86400 IN A 115.30.11.2 ns2.dns53.jp. 86400 IN A 14.128.30.2 ns1.dns53.jp. 86400 IN AAAA 2402:c600:1::2 ns2.dns53.jp. 86400 IN AAAA 2402:3000:1::2 ;; Query time: 1 msec ;; SERVER: 115.30.11.2#53(115.30.11.2) ;; WHEN: Mon Jan 30 16:51:04 2012 ;; MSG SIZE rcvd: 150
$ dig @キャッシュサーバ タイプ ドメイン +rec |
$ dig @115.30.11.1 NS dns53.jp +rec ; <<>> DiG 9.4.3-P2 <<>> @115.30.11.1 NS dns53.jp +rec ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46738 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 4 ;; QUESTION SECTION: ;dns53.jp. IN NS ;; ANSWER SECTION: dns53.jp. 86396 IN NS ns1.dns53.jp. dns53.jp. 86396 IN NS ns2.dns53.jp. ;; ADDITIONAL SECTION: ns1.dns53.jp. 86396 IN A 115.30.11.2 ns2.dns53.jp. 86396 IN A 14.128.30.2 ns1.dns53.jp. 86396 IN AAAA 2402:c600:1::2 ns2.dns53.jp. 86396 IN AAAA 2402:3000:1::2 ;; Query time: 2 msec ;; SERVER: 115.30.11.1#53(115.30.11.1) ;; WHEN: Mon Jan 30 18:01:43 2012 ;; MSG SIZE rcvd: 150
$ dig @コンテンツサーバ AXFR ドメイン |
$ dig @ns1.dns53.jp AXFR example.jp ; <<>> DiG 9.4.3-P2 <<>> @ns1.dns53.jp AXFR example.jp ; (2 servers found) ;; global options: printcmd example.jp. 1111 IN SOA ns1.dns53.jp. support.bit-isle.jp. 2012011901 21600 1800 1209600 300 example.jp. 1111 IN NS ns1.dns53.jp. example.jp. 1111 IN NS ns2.dns53.jp. example.jp. 1111 IN A 192.168.0.1 *.example.jp. 1111 IN A 192.168.110.1 aaa.example.jp. 1111 IN A 192.168.120.1 sss.example.jp. 1111 IN A 192.168.0.4 www.example.jp. 1111 IN A 192.168.0.2 example.jp. 1111 IN SOA ns1.dns53.jp. support.bit-isle.jp. 2012011901 21600 1800 1209600 300 ;; Query time: 102 msec ;; SERVER: 115.30.11.2#53(115.30.11.2) ;; WHEN: Wed Feb 1 16:53:25 2012 ;; XFR size: 9 records (messages 1, bytes 253)
非再帰検索を強制するオプションで、ヘッダー上ではRD(Recursion Desired)フラグに「0」が設定されます。無指定の場合は再帰検索を行います(「+rec」を指定した事になります)。
コンテンツサーバに対して問い合わせを行う場合、原則として「+norec」を付与して問い合わせを行います。キャッシュサーバに対して問い合わせを行う場合、「+norec」の有無で挙動が変わるので注意が必要です。
「+norec」を指定した場合:キャッシュとして保持していればそれを返しますが、保持していなければ名前解決をせずに応答を返します。
「+rec」を指定した場合:キャッシュとして保持していればそれを返し、保持していなければ名前解決を行って応答を返します。
※セキュリティを高めるため、キャッシュサーバによっては非再帰検索を不許可にしている場合があります。
EDNS0を用いた場合の最大UDPパケットサイズを指定します。
UDPは512byteしか運べませんが、応答によっては512byteを超えるものが存在します。その応答を全て受け取るために「+bufsize=4096」といった形で指定します。
TCPを使って問い合わせを行います。
DNSは通常UDPを用いてやり取りを行いますが、「+tcp」を指定することで、TCPによる問い合わせを行うことが可能です。