システム管理者としては、物事が美しく見えるのは、そうでないときだけです。危機に瀕した瞬間には、これらの発掘コマンドが役に立ちます。乞うご期待。
システム管理者は毎回大変な仕事をします。 24 時間 365 日オンコール対応するという、システム管理者の仕事の最も基本的な要件でさえ、私は限界を超えて感謝しています。
しかし、私たちは彼らの職業プロフィールを掘り下げるためにここにいるわけではありません。代わりに、DNS の問題をトラブルシューティングするために選択した武器を確認してください。
ディグコマンドとは何ですか?
Domain Information Groper の略称である Dig コマンドは、DNS サーバーに何が機能し、何が機能していないのかを問い合わせる最速の方法の 1 つです。
サーバーのIPアドレス、ネームサーバー、メールのやり取り、TTLの問い合わせなどを覚えやすい文字で確認できます。
いくつかの基本的な dig コマンドを開始する前に、dig ユーティリティがインストールされているかどうかを確認してください。
$ dig -v
これにより、次のように、Dig バージョンを示す結果が返されるはずです。
DiG 9.18.1-1ubuntu1-Ubuntu
同様の応答が得られない場合は、最初に Dig ユーティリティをインストールする必要があります。
Ubuntu と Debian を使用している場合は、次のように入力します。
$ sudo apt-get install dnsutils
そして使用します:
$ sudo yum install bind-utils
…CentOS または RHEL を使用している場合。
次に、
dig -v
を実行して、インストールがスムーズに完了したことを確認します。
最後に、次のセクションに進んで、システム管理者として役立ついくつかの Dig コマンドを確認してください。
IPアドレスを確認する
これは、ドメイン名の基礎となるサーバー IP アドレスを確認する最も簡単な方法の 1 つです。
dig .com
最初の反復です。
$ dig .com
; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> .com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38635
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;.com. IN A
;; ANSWER SECTION:
.com. 67 IN A 172.66.43.163
.com. 67 IN A 172.66.40.93
;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:29:58 UTC 2022
最初に重要なことは、上部の
「回答を得ました」
セクションの
status: NOERROR
です。これは、問題なくうまくいったことを示しています。
ただし、このクエリを実行した情報はサーバーの IP アドレスです。これは 、回答セクション 172.66.40.93 (プライマリ サーバー) と 172.66.43.163 (フェールセーフ) に記載されています。
さらに、元のクエリ ステートメントは [質問] セクション の下にあります。
最後のセクションでは、クエリに関する統計をいくつか示します。
しかし、これは非常に多くの情報なので、毎回必要になるわけではありません。
したがって、次のように入力すると、このクエリに対するより明確な応答を取得できます。
$ dig .com +noall +answer
.com. 53 IN A 172.66.43.163
.com. 53 IN A 172.66.40.93
ここでは、 +noall ですべてを拒否し、 +answer で期待される回答のみを許可します。
以下を使用すると、さらに短い応答を得ることができます。
$ dig .com +short
172.66.43.163
172.66.40.93
これは、 DNS A レコードを返す基本的なクエリでした。さらにいくつか見てみましょう。
特定の DNS レコードを検索する
ドメインの権威 DNS サーバーであるネームサーバーは、
ns
変数で見つけることができます。
$ dig .com ns +short
olga.ns.cloudflare.com.
todd.ns.cloudflare.com.
同様に、
mx
変数はメール サーバーとその優先順位を返します。
$ dig .com mx +noall +answer
.com. 300 IN MX 1 aspmx.l.google.com.
.com. 300 IN MX 10 alt3.aspmx.l.google.com.
.com. 300 IN MX 10 alt4.aspmx.l.google.com.
.com. 300 IN MX 5 alt1.aspmx.l.google.com.
.com. 300 IN MX 5 alt2.aspmx.l.google.com.
同様に、
txt
、
aaaa
、
cname
などを dig コマンド変数として使用して、さまざまな DNS レコードを返すことができます。
DNSをトレースする
見出しから明らかなように、Trace DNS はルート ネームサーバー、権威ネームサーバーからドメイン IP アドレスまでのパスをチェックします。
$ dig .com +trace
; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> .com +trace
;; global options: +cmd
. 322660 IN NS a.root-servers.net.
. 322660 IN NS b.root-servers.net.
. 322660 IN NS c.root-servers.net.
. 322660 IN NS d.root-servers.net.
. 322660 IN NS e.root-servers.net.
. 322660 IN NS f.root-servers.net.
. 322660 IN NS g.root-servers.net.
. 322660 IN NS h.root-servers.net.
. 322660 IN NS i.root-servers.net.
. 322660 IN NS j.root-servers.net.
. 322660 IN NS k.root-servers.net.
. 322660 IN NS l.root-servers.net.
. 322660 IN NS m.root-servers.net.
;; Received 811 bytes from 127.0.0.53#53(127.0.0.53) in 16 ms
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20221121170000 20221108160000 18733 . ZgW2dKMBP6rqIgQSGN5uzFhNFZuIPUg7JrkXzgE9VKh68LOIuQlFgTTV xt3Sz4ytgru8JWcwCHgiqCTjbaN3WeHcrDVf0ItG0Az/01ofBWfoAu9S 1JFYcOrYkTUidn8R4vROkwzsTrZMirnB/4yrA4MD5thWVBr3IczcnFto DbADuw8Qy/RUEUfcu+LcQ4Ge+OzIP8eE1T6+nbMRqFZBSMFoBO1w0Mmk xNGyEclfFkymQ4CsYxnvYVstljpLqh1OhoAEwY6D+0cSh9dKNQ5LKhgq UXqfJ+zmdcvL+cVvMjfcB0Wj6/hmEkpEp1ISawlTjFUDgiKNZxiow02r JL4tsw==
;; Received 1201 bytes from 192.33.4.12#53(c.root-servers.net) in 148 ms
.com. 172800 IN NS olga.ns.cloudflare.com.
.com. 172800 IN NS todd.ns.cloudflare.com.
.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254
.com. 86400 IN RRSIG DS 8 2 86400 20221112051535 20221105030535 53929 com. sbqDGqvxmEAjS4KRx8LvQAG9IusLgRRm5GPDf+AFkXddGgfJN37vJP1H 4JKMriWtgXZHc3g1ANMNjij+5J1K3GgeNy2w0UYc7xHkmvhsd15pDvi9 +BoiBsjC8ffznyli8sV8XVhm65oKDHJRx5YEtXUVA4p9hegO0NHDccvt ujQKMShBWX3nxs7P4onL13gspVScOoZgzXL3470UfDW7MA==
;; Received 601 bytes from 2001:501:b1f9::30#53(m.gtld-servers.net) in 144 ms
.com. 300 IN A 172.66.43.163
.com. 300 IN A 172.66.40.93
.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 .com. tKDYd/FHjs/aRHeOQJlsxXDJYtVcHA4G16QRJKlhFyYkZ2TmLKNIc6eM vXfpO91IVArK67KbyW5lIxI5cCxcQg==
;; Received 183 bytes from 172.64.32.137#53(olga.ns.cloudflare.com) in 16 ms
または、
+short
または
+noall +answer
変数を使用して短い回答を取得することもできます。
DNS 逆引き参照
DNS 逆引き検索により、IP アドレスに関連付けられた PTR レコードが明らかになります。これは DNS A レコードの逆で、IP アドレスとドメイン名を照合します。
ただし、ドメイン名に DNS PTR レコードがない場合、回答セクションはありません。
ここで使用するコマンドは
dig -x IP address
です。
ubuntu@ubuntu:~$ dig yahoo.com +short
74.6.143.26
74.6.231.20
98.137.11.164
98.137.11.163
74.6.143.25
74.6.231.21
ubuntu@ubuntu:~$ dig -x 74.6.143.26
; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> -x 74.6.143.26
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32267
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;26.143.6.74.in-addr.arpa. IN PTR
;; ANSWER SECTION:
26.143.6.74.in-addr.arpa. 600 IN PTR media-router-fp74.prod.media.vip.bf1.yahoo.com.
;; AUTHORITY SECTION:
143.6.74.in-addr.arpa. 172800 IN NS ns3.yahoo.com.
143.6.74.in-addr.arpa. 172800 IN NS ns4.yahoo.com.
143.6.74.in-addr.arpa. 172800 IN NS ns5.yahoo.com.
143.6.74.in-addr.arpa. 172800 IN NS ns2.yahoo.com.
143.6.74.in-addr.arpa. 172800 IN NS ns1.yahoo.com.
;; Query time: 192 msec
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
;; WHEN: Wed Nov 09 04:17:08 UTC 2022
;; MSG SIZE rcvd: 203
ご覧のとおり、回答セクションのドメイン名 media-router-
fp74.prod.media.vip.bf1.yahoo.com/
は、プライマリ IP アドレス 74.6.143.26 にリンクされています。
この URL にアクセスすると、実際には Yahoo 検索のホームページに移動します。
ただし、これはすべての Web ホストに当てはまるわけではありません。場合によっては、このような醜くて長い URL では何も解決されません。
特定の DNS サーバーにクエリを実行する
DNS クエリのために特定のサーバーに ping を実行したい場合があります。
@DNS server IP address
を追加し、特定のクエリに対して任意の DNS サーバーを選択することで、これを簡単に実現できます。
$ dig @1.1.1.1 .com +noall +answer +stats
.com. 300 IN A 172.66.40.93
.com. 300 IN A 172.66.43.163
;; Query time: 156 msec
;; SERVER: 1.1.1.1#53(1.1.1.1) (UDP)
;; WHEN: Wed Nov 09 04:18:56 UTC 2022
;; MSG SIZE rcvd: 74
これは統計セクションで確認できます。このセクションには、Cloudflare に属する Server: 1.1.1.1 が記載されています。
同様に、Google DNS サーバー (8.8.8.8) にクエリを実行できます。
$ dig @8.8.8.8 .com mx +noall +answer +stats
.com. 300 IN MX 1 aspmx.l.google.com.
.com. 300 IN MX 10 alt3.aspmx.l.google.com.
.com. 300 IN MX 10 alt4.aspmx.l.google.com.
.com. 300 IN MX 5 alt1.aspmx.l.google.com.
.com. 300 IN MX 5 alt2.aspmx.l.google.com.
;; Query time: 44 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Wed Nov 09 04:23:16 UTC 2022
;; MSG SIZE rcvd: 157
掘ってみよう⛏️
名前が示すとおり、これらは DNS 情報を掘り出し、関連する問題を特定するために使用されます。 Dig コマンドは通常、高速に動作し、覚えやすいです。
言うまでもなく、Dig ユーティリティを Mac と Windows にインストールして、アプリケーションで汎用化することもできます。






![2021 年に Raspberry Pi Web サーバーをセットアップする方法 [ガイド]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)





