システム管理に関するFAQ-21
DNS サーバーで名前解決を行い、結果を表示するにはどうすればいいですか?
名前解決の結果を得るには、dig コマンドが有用です。 以下に dig コマンドの書式やコマンドの使用例をいくつかご案内します。
■dig コマンドの書式
(書式)
# dig [@dns_server] [domain / -x ip_address] [query-type]
[@dns_server] - 問い合わせる DNS サーバを指定
[domain / -x ip_address] - 調べるドメイン/IP
[query-type] - 調べるレコードタイプを指定
(query-type)
a - ネットワークアドレスの情報
any - 登録されている全てのレコード情報
mx - メールサーバの情報
ns - ネームサーバの情報
soa - ゾーン権威者の情報
(実行例)
# dig www.example.com (正引きをする場合)
# dig -x 192.168.0.1 (逆引きをする場合)
# dig example.com ns (レコードタイプを指定する場合)
# dig @192.168.0.5 example.com (DNS サーバを指定する場合)
■dig コマンドの出力形式と解説
▼照会と回答に関する情報
; <<>> DiG 9.3.4 <<>> @192.168.0.5 example.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33042
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
status - NOERROR (エラーがないとき)
NXDOMAIN (ドメインが存在しないとき)
SERVFAIL (DNS サーバが正しく応答しないとき)
flags - 各フラグの意味は以下のとおり
qr -> サーバからの返答
aa -> 権威を持つ返答の場合
tc -> 返答内容が長くて切捨てられた場合
rd -> 再帰的問合せの場合
ra -> サーバが再帰的問合せに対応している場合
QUERY: 1 - 問合せ内容が 1つであることを示す
ANSWER: 1 - DNS サーバから回答が 1つ来たことを示す
AUTHORITY: 0 - ドメインに対して権威あるレコードを持つサーバの情報
ADDITIONAL: 0 - その他の関連情報
▼DNS サーバに問い合わせた内容
;; QUESTION SECTION:
;example.com. IN A
▼DNS サーバからの回答内容
;; ANSWER SECTION:
example.com. 82645 IN A 208.77.188.166
▼照会に要した時間や DNS サーバの情報などを
;; Query time: 273 msec
;; SERVER: 192.168.0.5#53(192.168.0.5)
;; WHEN: Tue Jan 20 18:05:35 2009
;; MSG SIZE rcvd: 45
Query time - 返答に要した時間
SERVER - 問合せをした DNS サーバ
WHEN - 問い合わせた時間
MSG SIZE rcvd - 受信したデータのサイズ
■dig コマンドの実行例
▼ドメインの正引きを行う場合。 問合せを行う DNS サーバを指定していない場
合は、システムに設定されている DNS サーバ (/etc/resolv.conf 等) が使用
されます。
# dig www.example.com
; <<>> DiG 9.3.4 <<>> www.example.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2840
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.example.com. IN A
;; ANSWER SECTION:
www.example.com. 172800 IN A 208.77.188.166
;; Query time: 121 msec
;; SERVER: 192.168.0.5#53(192.168.0.5)
;; WHEN: Tue Jan 6 17:11:07 2009
;; MSG SIZE rcvd: 49
▼IP アドレスから逆引きを行う場合。-x オプションを使用します。
# dig -x 208.77.188.166
; <<>> DiG 9.3.4 <<>> -x 208.77.188.166
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46298
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;166.188.77.208.in-addr.arpa. IN PTR
;; ANSWER SECTION:
166.188.77.208.in-addr.arpa. 21600 IN PTR www.example.com.
;; Query time: 247 msec
;; SERVER: 192.168.0.5#53(192.168.0.5)
;; WHEN: Tue Jan 20 17:32:22 2009
;; MSG SIZE rcvd: 74
▼example.com に権威を持つネームサーバ (NS レコード) を調べる場合。
# dig example.com ns
; <<>> DiG 9.3.4 <<>> example.com ns
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22488
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN NS
;; ANSWER SECTION:
example.com. 84472 IN NS b.iana-servers.net.
example.com. 84472 IN NS a.iana-servers.net.
;; Query time: 237 msec
;; SERVER: 192.168.0.5#53(192.168.0.5)
;; WHEN: Tue Jan 20 17:35:08 2009
;; MSG SIZE rcvd: 77
▼DNS サーバ (例: 192.168.0.5) を指定して正引きを行う場合。
# dig @192.168.0.5 example.com
; <<>> DiG 9.3.4 <<>> @192.168.0.5 example.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33042
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 82645 IN A 208.77.188.166
;; Query time: 217 msec
;; SERVER: 192.168.0.5#53(192.168.0.5)
;; WHEN: Tue Jan 20 18:05:35 2009
;; MSG SIZE rcvd: 45
≫ 前のページへ戻る