GNU/Linux >> Linux の 問題 >  >> Linux

ネットワーク管理者に役立つ Linux Dig の例

Linux ネットワーク管理者は、Linux dig で解決できるさまざまな問題に遭遇する可能性があります。 (ドメイン情報 Groper) コマンド。 dig がどうなるかわからない コマンドは機能しますか?心配ない!楽しみです!

このチュートリアルでは、dig を使用して実際の問題を解決する方法のいくつかの有用な例を学びます。

掘り下げて、この強力なツールと友達になりましょう!

前提条件

このチュートリアルは実践的なデモンストレーションです。先に進みたい場合は、Linux システムを使用していることを確認してください。このチュートリアルでは Ubuntu 20.04 を使用していますが、最新の Linux ディストリビューションであればどれでも動作します。

Linux dig のインストール コマンド

Linux dig コマンドを使用すると、DNS の問題のトラブルシューティングに役立つ DNS 情報を収集できます。しかし、ネームサーバーを掘る前に、まず dig をインストールする必要があります

1. 以下の apt update コマンドを実行して、システムのパッケージ インデックスを更新します。

apt update -y

2. 次に、次の apt install コマンドを実行して、マシンに dnsutils をインストールします。 DiG は、BIND ネーム サーバーと共にインストールされる DNS ユーティリティ パッケージ (dnsutils) の一部です。

dnsutils は、Ubuntu チームが提供する一連のツールであり、dig などのさまざまなクライアント側 DNS ユーティリティが含まれています。

apt install dnsutils -y

3. 最後に、以下の dig コマンドを実行して、DiG のインストールを確認します。

dig -v

以下、DiG のバージョンは 9.16.1 を示していますが、あなたのバージョンは異なる場合があります。

基本的な DNS クエリに Linux Dig を試す

dig がインストールされたので、dig を試すことができます。 基本的な DNS クエリのコマンド。 dig コマンドを使用すると、DNS サーバーにクエリを実行して、DNS の問題のトラブルシューティングと修正に使用できるいくつかの情報を収集できます。

基本的な DNS クエリの構文は次のとおりです。

  • server – IP アドレスまたはドメイン名を照会する DNS サーバー。サーバーを指定しない場合、DiG はコンピューターの事前構成された DNS を使用します。
  • name – 検索するドメイン名または IP アドレス
  • type – 探している DNS レコードのタイプ
dig [server] [name] [type]

次のコマンドを実行して、google.com の DNS レコードをクエリします。 .

dig を実行すると フラグや引数のないコマンド、dig 引数として DNS クエリを実行し、指定されたホスト名の A レコードを返します。

dig [google.com]()

dig を使用した基本的な DNS クエリ 次のようないくつかの異なるタスクに役立ちます:

  • ドメインの DNS レコードを確認する。
  • ドメインに使用されている DNS サーバーを調べる
  • コンピュータが正しい DNS サーバーを使用しているかどうかを確認してください。

google.com のクエリ

基本的な DNS クエリの出力について

照会したドメイン名に関する多くの情報が DiG から返されたことを考えると、そのドメインで何が起こっているかをすでに確認できます。それともいいえ?おそらくそうではありません。しかし、心配しないでください。基本的な DNS クエリの出力に表示される各セクションの内訳について説明します。

以下の最初の行は、DiG のバージョンと照会されたドメイン名 (google.com) を示しています。 )。同時に、2 行目には、クエリの実行に使用されるグローバル オプションが表示されます。

この場合、使用された唯一のオプションは +cmd でした

次のセクション (HEADER ) は、クエリの技術的な詳細を示しています:

  • 最初の行はオペコードを指定します クエリに使用されます (この場合は QUERY )、ステータス:NOERROR が続きます クエリと id の 番号(47244 )。 ノーエラー status は、DNS サーバーがクエリを処理し、正常に応答を返したことを示します。 SERVFAIL が発生した場合 DNS サーバー エラーが発生したため、クエリが失敗しました。
  • フラグ セクションには、クエリに設定されたフラグが表示されます。この場合、qr (クエリ応答)、rd (再帰は望ましくありません)、および ra (再帰が利用可能です)。
  • 最後の行は、クエリの数を示しています (QUERY ) が作成されました (1 )。 ANSWER の数も表示されます s (1 )、権限 レコード (0 )、および追加 レコード(1 ) DiG が戻ってきました。

OPT 疑似セクション 以下は、DNS メッセージが EDNS0 プロトコルを使用して拡張されたことを示しています。 フラグ オプションが設定されていないため、フィールドは空ですが、udp フィールドは DNS メッセージの最大サイズを指定します。これは 65,494 です バイト。

さて、答え 以下のセクションは、クエリに対して返された回答を示しています。この場合、google.com の A レコードを照会しました。 、DNS サーバーは 142.250.80.110 の IP アドレスを返しました . google.com を見ることができます レコードはその IP アドレスを指します。

最後に、最後のセクションには、クエリ時間とクエリの処理に使用されたサーバーに関する情報が含まれています。以下では、クエリに 4 ミリ秒 (4 ミリ秒) かかったことがわかります。 ) を完了し、SERVER 使用した IP アドレスは 127.0.0.53 でした .

DNS サーバーがクエリを処理して応答を返すのにかかる時間が短いほど、より良い結果が得られます。 DNS クエリが解決されるまでユーザーを長く待たせたくありません。待ち時間が長いと、ユーザー エクスペリエンスが低下する可能性があります。

簡潔で詳細な回答の取得

一握りの情報を返す DNS にクエリを実行しました。しかし、取得する出力を制御できますか?はい、フラグを追加することにより (+short+noall 、および +answer ) dig に コマンド。

A レコードをクエリしているとします。 DNS サーバーは、A レコードと AAAA レコードの両方を返します。しかし +short では フラグの場合、DNS は A レコードのみを返します。 +short フラグは、すべての追加情報をふるいにかけることなく、DNS サーバーから迅速な回答を取得するのに役立ちます。

以下のコマンドを実行して、google.com をクエリします。 また。ただし、今回は +short を追加します 短い回答のみを取得するためのフラグ。

dig +short google.com

以下では、DiG が Google のサーバー アドレスである短い回答のみを返したことがわかります。

次に、次のコマンドを実行して google.com をクエリします 、詳細な回答を返します。 +noall フラグは、dig の実行時に表示されるすべてのデフォルト情報を省略します コマンド、回答セクション (+answer を除く) ).

dig google.com +noall +answer

ドメイン名を解決するためのネームサーバーの指定

ここまでで、dig の使い方を見てきました。 コマンドをデフォルト設定で実行します。しかし、特定のネームサーバーがドメイン名を解決できるかどうかをテストしたいとします。このような場合、dig を実行するときに DiG が使用する DNS サーバーを指定します。 コマンドが役に立ちます。

デフォルトでは、dig コマンドは、/etc/resolv.conf で指定された DNS サーバーを使用します

ドメイン名の解決時に DiG が使用する DNS サーバーをオーバーライドするには、@ を追加します。 記号の後に DNS サーバーまたは IP が続きます。

以下のコマンドを実行して、ドメイン名 (server) を照会します。 ) 優先 DNS サーバー (dns-or-ip を使用) )。 dns-or-ip は必ず置き換えてください ただし、このチュートリアルでは 8.8.8.8 を使用します .

dig server +noall +answer @dns-or-ip

DNS サーバーがドメイン名を正常に解決し、詳細な回答を返したことを以下に示します。

特定のレコード タイプのクエリ

デフォルトでは、dig レコード タイプを指定しない場合、コマンドは A レコードを照会します。ただし、DiG では、MX、NS、TXT など、他の種類の DNS レコードを照会することもできます。

レコード タイプを指定するには、次の例のように、検索するドメイン名の直後にレコード タイプを追加します。

以下のコマンドを実行して、google.com をクエリします。 MX レコード用。

dig +noall +answer google.com mx

google.com の MX レコードを以下に示します。 smtp.google.com です .

次のコマンドを実行して、google.com をクエリします。 TXT レコード用

dig +noall +answer google.com txt

以下の出力は、google.com のすべての TXT レコードを示しています。

バッチ モードでクエリを実行する

複数のドメイン名の DNS 情報を検索するとします。ドメイン名ごとに情報を 1 つずつクエリするのは、退屈で時間がかかる場合があります。

幸いなことに、dig コマンドは、ドメイン名のリストを含むファイルを指定できるバッチ モードをサポートしています。 DiG は、そのファイルにリストされているすべてのドメイン名に対して DNS クエリをバッチ モードで実行します。

dns-batch-file.txt という名前の新しいテキスト ファイルを開きます 任意のテキスト エディターで、以下に示すように、ドメイン名 (1 行に 1 つ) を追加します。リストに満足したら、ファイルを保存してエディターを閉じます。

ここで、次のコマンドを実行して、指定された (-f ) dns-batch-file.txt バッチ モードでファイルします。

dig -f dns-batch-file.txt +noall +answer

以下に示すように、すべてのドメインの DNS 情報が照会され、表形式で表示されています。

.digrc を使用して DiG の動作を制御する ファイル

DiG は、dig コマンドを実行すると、~/.digrc ファイルからさまざまな設定を読み取ります。このファイルには、dig の動作を制御できるさまざまな設定が含まれています。 コマンドが動作します。 ~/.digrc ファイル 、デフォルトの DNS サーバーを dig に設定できます。 コマンドは、何も指定しない場合、照会するか、デフォルトのレコード タイプを query に設定する必要があります。

おそらく、dig を実行するときに、詳細な回答を得て、他のすべてのセクションをほとんど無視することを目指しています。 指図。このような場合、~./digrc を使用できます。 dig のデフォルトの出力スタイルを設定するファイル コマンド、次の例のように。

echo を実行します 以下のコマンドは、出力を提供しませんが、 +noall +answer を追加します ~/.digrc への行 ファイル。

echo "+noall +answer" > ~/.digrc

次に、dig を実行します 引数なしでドメイン名を照会するコマンド。 domain を置き換えます

dig domain

以下に示すように、出力に回答セクションのみが含まれていることがわかります。 DiG は +noall +answer を使用します ~/.digrc のフラグ dig コマンドを実行したときにフラグを追加しなかった場合でも、ファイルに.

結論

この記事では、Linux dig のさまざまな機能について学習しました。 コマンドを使用して、DNS サーバーに効果的にクエリを実行します。希望の dig のカスタマイズについても触れました 複数のフラグを使用したコマンド出力。

この時点で、Linux の dig を利用する方法はすでにわかっています。 日常業務、特にネットワークの問題のトラブルシューティングに役立ちます。

ただし、ここで停止しないでください。 Linux dig で達成できることは他にもあります 指図。 dig を使用しない理由 IP アドレスに関連付けられたドメイン名を見つけるために逆引き DNS ルックアップを実行するコマンド?


Linux
  1. Linux初心者向けの16の便利な「cp」コマンドの例

  2. LinuxでのSplitコマンドの9つの便利な例

  3. Linuxでidコマンドを使用する方法:5つの便利な例

  1. 12Linux管理者向けの便利な「dmidecode」コマンドの例

  2. UNIX / Linux のパフォーマンス監視に役立つ 10 の Sar (Sysstat) の例

  3. Linux での dig コマンドの例

  1. Linuxシステム用の10の便利なncat(nc)コマンド例

  2. 11Linuxシステムで役立つ分割コマンドの例

  3. LinuxでDigコマンドを使用する方法