Digは、DNSサーバーに情報を照会できるネットワーキングツールです。 これは、ドメインポインティングの問題を診断するのに非常に役立ち、構成が機能していることを確認するための良い方法です。

この記事では、digを使用してドメイン名の設定を確認し、インターネットがドメインをどのように認識しているかに関するデータを返す方法について説明します。 また、「whois」や「ping」など、他のいくつかの関連ツールについても検討します。

このガイドのコマンドをテストするためにUbuntu12.04VPSを使用しますが、最新のLinuxディストリビューションも同様に機能するはずです。

Digの使い方

digを使用する最も基本的な方法は、クエリするドメインを指定することです。

dig example.com

「duckduckgo.com」をテストして、どのような情報が返されるかを確認できます。

dig duckduckgo.com
; <<>> DiG 9.8.1-P1 <<>> duckduckgo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;duckduckgo.com.		IN	A

;; ANSWER SECTION:
duckduckgo.com.	99	IN	A	107.21.1.61
duckduckgo.com.	99	IN	A	184.72.106.253
duckduckgo.com. 99	IN	A	184.72.106.52
duckduckgo.com.	99	IN	A	184.72.115.86

;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug 23 14:26:17 2013
;; MSG SIZE  rcvd: 96

これはたくさんの情報です。 小さなチャンクで調べてみましょう。

; <<>> DiG 9.8.1-P1 <<>> duckduckgo.com
;; global options: +cmd

上記の行は、実行されるクエリのヘッダーとして機能します。 バッチモードでdigを実行することが可能であるため、正しい分析を可能にするには、出力に適切なラベルを付けることが不可欠です。

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64399
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

次のセクションでは、クエリ結果の技術的な概要を示します。 クエリが成功し、特定のフラグが使用され、4つの「回答」が受信されたことがわかります。

;; QUESTION SECTION:
;duckduckgo.com.		IN	A

;; ANSWER SECTION:
duckduckgo.com.	99	IN	A	107.21.1.61
duckduckgo.com.	99	IN	A	184.72.106.253
duckduckgo.com.	99	IN	A	184.72.106.52
duckduckgo.com.	99	IN	A	184.72.115.86

出力の上記のセクションには、私たちが探していた実際の結果が含まれています。 クエリを再記述してから、そのドメイン名に一致するDNSレコードを返します。

ここでは、「duckduckgo.com」に4つの「A」レコードがあることがわかります。 デフォルトでは、「A」レコードが返されます。 これにより、ドメイン名が解決されるIPアドレスがわかります。

「99」は、DNSサーバーがドメイン名とIPアドレスの間の関連付けを再チェックする前のTTL(存続時間)です。 「IN」は、レコードのクラスが標準のインターネットクラスであることを意味します。

;; Query time: 33 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Aug 23 14:26:17 2013
;; MSG SIZE  rcvd: 96

これらの行は、実際のクエリ結果に関する統計を提供するだけです。 クエリ時間は、DNSサーバーに問題があることを示している可能性があります。

Digを使用してDNSレコードをテストする方法

DigitalOcean ドメイン名を設定している場合は、digを使用して情報を照会できます。

「A」レコードが正しく設定されていることをテストするには、次のように入力します。

dig your_domain_name.com

メールサーバーが正しく送信しているかどうかを確認する場合は、次のように入力します。

dig your_domain_name.com MX

一般に、クエリのドメイン名の後に、クエリするタイプのレコードを発行できます。

すべてのレコードに関する情報を受け取りたい場合は、次のように入力します。

dig your_domain_name.com ANY

これにより、設定したベースドメインに一致するすべてのレコードが返されます。 これらには、「SOA」レコード、「NS」レコード、「A」レコード、および「MX」レコードが含まれます。

注:TTLとDNSの動作方法により、作成した変更がネームサーバーに反映されるまでに時間がかかる場合があります。 レコードを作成しても表示されない場合は、TTLが0に達するまで待って、レコードが表示されるかどうかを確認してください。

ドメインが指す実際のIPのみを返したい場合は、次のように入力できます。

dig your_domain_name.com +short

「dig」の代わりに「host」コマンドを使用する

digの代わりに、「host」というコマンドがあります。 このコマンドは、同じオプションの多くを使用して、掘るのと非常によく似た方法で機能します。

基本的な構文は次のとおりです。

host domain_name_or_IP_address

機能を通常のDNSルックアップから逆引きDNSルックアップに変更するためにフラグが必要ないことに注意してください。

digと同様に、関心のあるレコードのタイプを指定できます。 これは「-t」フラグを使用して行われます。

Googleのmxレコードを返すには、次のように入力します。

host -t mx google.com
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.

他のタイプのレコードも同様に簡単に取得できます。

「-a」フラグを使用してすべてのレコードを返すことができます。 このコマンドの出力は非常に長くなる可能性があるため、投稿しません。

host -a google.com

ホストに関する追加情報が必要な場合は、「-v」フラグを使用して詳細出力をオンにできます。

host -v google.com

これにより、拡張情報が提供されます。

他のツールを使用してDNS情報を照会する

ping

ドメイン名が正しく解決されているかどうかを確認する簡単な方法は、「ping」です。

使い方は信じられないほど簡単です。

ping your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.026 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.038 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.037 ms
. . .

これは、「CTRL-C」と入力するまで情報を出力し続けます。

また、特定の回数だけpingを実行するようにソフトウェアに指示することもできます。 これは3回pingします:

ping -c 3 your_domain_name.com
PING your_domain_name.com (192.241.160.34) 56(84) bytes of data.
64 bytes from 192.241.160.34: icmp_req=1 ttl=64 time=0.027 ms
64 bytes from 192.241.160.34: icmp_req=2 ttl=64 time=0.059 ms
64 bytes from 192.241.160.34: icmp_req=3 ttl=64 time=0.042 ms

--- your_domain_name.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2002ms
rtt min/avg/max/mdev = 0.027/0.042/0.059/0.015 ms

このコマンドを使用すると、ドメイン名が割り当てたIPアドレスに解決されることを簡単に確認できます。

誰が

whoisプロトコルは、使用するように構成されているネームサーバーなど、登録されているドメイン名に関する情報を返します。

ほとんどの情報はドメインの登録に関するものですが、ネームサーバーが正しく返されることを確認すると役立つ場合があります。

次のようなコマンドを実行します。

whois your_domain_name.com

これにより、情報の長いリストが返されます。 フォーマットは、情報を含むwhoisサーバーによって異なります。

下の方に、通常、正しいIPアドレスへのドメイン転送を提供するドメインサーバーが表示されます。

結論

dig、ping、whoisはすべて、ドメイン名の基本的なチェックを実行するシンプルなツールですが、非常に便利です。 ドメイン名を設定するときは、digを使用してターミナルを開いておくと、当て推量を大幅に節約できます。

ジャスティン・エリングウッド