Sysadminまたは開発者として知っておくべき4つの重要なDigコマンドの例

公開: 2022-11-09

システム管理者として、きれいに見えるのはそうでないときだけです。 危機に駆り立てられた瞬間に、これらの発掘コマンドが役に立ちます。 乞うご期待。

システム管理者は毎回大変な仕事をしています。 24 時間 365 日オンコールであるという最も基本的なシステム管理者の仕事の要件でさえ、私は限界を超えて高く評価しています。

しかし、私たちは彼らの仕事のプロフィールに飛び込むためにここにいるわけではありません。 代わりに、選択した武器を確認して、DNS の問題をトラブルシューティングします。

Dig コマンドとは

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 geekflare.comが最初のイテレーションです。

 $ dig geekflare.com ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.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: ;geekflare.com. IN A ;; ANSWER SECTION: geekflare.com. 67 IN A 172.66.43.163 geekflare.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

最初に重要なのは、上部の [ Got answer ] セクションのstatus: NOERRORです。 これは、問題なくうまくいったことを示しています。

ただし、このクエリを作成した情報は、サーバーの IP アドレスです。 Answerセクション172.66.40.93(プライマリサーバー)および172.66.43.163(フェイルセーフ)で言及されています。

さらに、元のクエリ ステートメントは [質問] セクションの下にあります。

最後のセクションでは、クエリに関するいくつかの統計を示します。

しかし、それは非常に多くの情報であり、毎回必要なわけではありません。

したがって、次のように入力すると、このクエリに対するよりクリーンな応答を取得できます。

 $ dig geekflare.com +noall +answer geekflare.com. 53 IN A 172.66.43.163 geekflare.com. 53 IN A 172.66.40.93

ここでは、 +noallですべてを拒否し、 +answerで期待される回答を許可するだけです。

以下を使用すると、さらに短い応答を得ることができます。

 $ dig geekflare.com +short 172.66.43.163 172.66.40.93

これは、 DNS Aレコードを返す基本的なクエリです。 もう少し見てみましょう。

特定の DNS レコードを見つける

ドメインの権威 DNS サーバーであるネームサーバーは、 ns変数で見つけることができます。

 $ dig geekflare.com ns +short olga.ns.cloudflare.com. todd.ns.cloudflare.com.

同様に、 mx変数は、メール サーバーとその優先順位で応答します。

 $ dig geekflare.com mx +noall +answer geekflare.com. 300 IN MX 1 aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt3.aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt4.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt1.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt2.aspmx.l.google.com.

同様に、 txtaaaacnameなどを dig コマンド変数として使用して、異なる DNS レコードを返すことができます。

DNS のトレース

見出しから明らかなように、Trace DNS は、ルート ネームサーバー、権限のあるネームサーバーからドメイン IP アドレスまでのパスをチェックします。

 $ dig geekflare.com +trace ; <<>> DiG 9.18.1-1ubuntu1-Ubuntu <<>> geekflare.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 geekflare.com. 172800 IN NS olga.ns.cloudflare.com. geekflare.com. 172800 IN NS todd.ns.cloudflare.com. geekflare.com. 86400 IN DS 2371 13 2 CBAA2018F41B29985DAEDE7F127D4F9626ADA609665CEBAB0011903B 7C639254 geekflare.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 geekflare.com. 300 IN A 172.66.43.163 geekflare.com. 300 IN A 172.66.40.93 geekflare.com. 300 IN RRSIG A 13 2 300 20221110051242 20221108031242 34505 geekflare.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

ご覧のとおり、Answer セクションのドメイン名 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 geekflare.com +noall +answer +stats geekflare.com. 300 IN A 172.66.40.93 geekflare.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 geekflare.com mx +noall +answer +stats geekflare.com. 300 IN MX 1 aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt3.aspmx.l.google.com. geekflare.com. 300 IN MX 10 alt4.aspmx.l.google.com. geekflare.com. 300 IN MX 5 alt1.aspmx.l.google.com. geekflare.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 にインストールして、それらのアプリケーションでユニバーサルにすることもできます。

PS: あなたがここにいる間、システム管理者の頭痛のワンストップ ソリューション ハブである Geekflare Sysadmin ライブラリを紹介しないのは犯罪です。