はじめに
DNS(ドメインネームシステム)は、ドメイン名に関連する情報を分散データベースとして格納します。クライアントサーバーサービスは、ドメイン名をIPアドレスに、またはその逆に変換します。
Web、電子メール、ファイル転送など、他のほとんどのネットワークサービスはDNSを使用します。誤って構成されたDNSサーバーは、重大な接続の問題を引き起こす可能性があります。ありがたいことに、DNSの問題のトラブルシューティングは、従うべき重要で比較的簡単なプロセスです。
このチュートリアルに従って、DNSの問題をトラブルシューティングするための実際的な手順を学びます。

前提条件
- 安定したインターネット接続。
- コマンドライン/ターミナルへのアクセス。
- 管理者/sudo権限を持つユーザーアカウント。
DNSトラブルシューティング
DNSのトラブルシューティングは、基本的なネットワークのトラブルシューティングからより詳細な分析までの論理的な手順に従います。ネットワークサービスは、詳細なDNSトラブルシューティングを必要としない理由でDNSの問題を報告することがよくあります。
DNSの問題が発生している場合は、詳細なトラブルシューティングに進む前に、次の手順を実行することから始めてください。
- ケーブルを確認してください
有線接続を使用する場合は、すべてが正しく接続されていることを確認してください。ワイヤレスネットワークでは、WiFiがオンになって接続されているかどうかを確認します。すべてのケーブルが機能しているかどうか、ルータを確認してください。イーサネットケーブルのポートを切り替えて、接続をテストしてみてください。
- ルーターを再起動します
ルーターの電源を切り、2分以上待ってから、再度電源を入れます。ルーターが完全に起動するまで待ってから、接続を再確認してください。
- マルウェアをスキャンする
ウイルスがインターネット接続をブロックすることがあります。スキャンを実行して、疑わしいものが表示されるかどうかを確認し、それに応じて処理します。
- ウェブサイトを確認してください
特定のWebサイトまたはWebサイトの一部に接続するときに問題が発生する場合は、接続の問題がWebサイト自体にあるかどうかを確認してください。これを行う1つの方法は、pingコマンドを使用することです。

コマンド出力は、接続の問題の理由を特定するのに役立ちます:
1. ping
の場合 応答が表示されない場合、問題はサーバー側で発生している可能性があります。
2.応答のエラーの一般的な原因は、DNSサーバーまたはファイアウォールの制限が適切に構成されていないことです。 「名前解決の一時的な失敗」エラーを解決する方法を学びます。
3.出力に応答が表示される場合、問題はDNSにある可能性が高いです。
以下の包括的なリストは、DNSの問題をトラブルシューティングするための貴重なヒントを提供します。
TCP/IP設定を確認する
誤って構成されたDNSサーバーアドレスは一般的な問題です。設定をリセットし、通信が正常に戻ったかどうかを確認してください。使用しているOSによって、手順は異なります。
Windowsの場合:
1.ネットワークステータスを検索します 開始で メニューをクリックしてツールを開きます。

2.プロパティを選択します ネットワーク接続の詳細の下。

3.編集をクリックします ボタンをクリックしてIP設定を変更します。

4.IP割り当ての場合 手動です 、 IPを再確認してください 、推奨 、および代替DNS アドレス。 IP割り当てを変更する 自動(DHCP)を選択する ドロップダウンメニューから通常にリセットします。

5.終了したら設定を保存します。
Linuxの場合:
1.右上隅にある接続アイコンをクリックします。

2.メニューを開き、有線設定を選択します 。

3.接続ペインの歯車アイコンをクリックして設定を開きます。

4. IPv4に移動します 設定メニューのタブ。
5.手動で割り当てる場合は、アドレスを再確認します およびDNSIPアドレス リスト。 自動(DHCP)を選択します オプションを選択し、DNSスイッチを自動に変更します 通常にリセットします。

終了したら設定を適用し、ウィンドウを閉じます。最後に、接続をチェックして、すべてが正しく機能することを確認します。
DNSキャッシュをフラッシュする
人気のあるWebサイトへのIPマッピングは、多くの場合、悪意のある攻撃の標的になります。 DNSは情報をキャッシュして読み込み速度を向上させ、間違ったアドレスをキャッシュした可能性があります。 DNSキャッシュをクリアすると、すべてのルックアップ情報が削除され、後続のリクエストで更新されます。
DNSキャッシュのフラッシュは、一般的に実行するのに適したセキュリティ対策です。詳細でOS固有の手順については、チュートリアルに従ってください:macOS、Windows、およびLinuxでDNSキャッシュをフラッシュする方法。
DHCPサーバーIPの解放と更新
IPアドレスを解放して更新すると、キャッシュされた情報を更新することで、IPの競合と古いDNS情報を解決するのに役立ちます。リリースと更新を実行する最も簡単な方法は、コマンドプロンプト/ターミナルを使用することです。
警告: IPをリセットすると、コンピューターがインターネットから切断されます。
コマンドプロンプトを使用してWindowsのIPを更新するには:
1.次のコマンドを実行して、現在のIPを解放し、情報を更新します。
IPCONFIG /RELEASE
IPCONFIG /RENEW
2.次の情報で新しい情報を確認します:
IPCONFIG /ALL
ターミナルを介してLinuxでIP更新を強制するには:
1.ターミナルを開き、次のコマンドを使用して現在のIPを解放します。
sudo dhclient -r
端末が確認メッセージを出力し、接続が閉じられます。
2. dhclient
を実行します IPを更新するオプションなし:
sudo dhclient

パブリックDNSサーバーへの変更
DNSサーバーをパブリックドメインアドレスに変更します。いくつかの標準オプションは次のとおりです。
- Googleの
8.8.8.8
プライマリとしてのアドレスと8.8.4.4
二次として。 - Cloudflareの
1.1.1.1
プライマリとしてのアドレスと1.0.0.1
二次として。
パブリックドメインアドレスは一般的に信頼性が高く、無料で利用できます。ただし、これは一時的な解決策としてのみ使用してください。
一方、一部のパブリックドメインDNSサーバーは、悪意のあるWebサイトからのトラフィックをブロックします。パブリックDNSは、フラグが立てられたWebサイトを疑わしいものとして検出し、使用しているパブリックDNSがアクセスをブロックしている可能性があります。
digを使用
digコマンド(ドメイン情報groper)は、DNS情報を提供し、問題の診断に役立ちます。ユーティリティの生の出力により、DNSの問題をトラブルシューティングするための推奨される方法になります。
このプログラムは、デフォルトでmacOSとLinuxで利用でき、Windowsに無料でインストールできます。
ドメインの掘り出し情報を取得するには、ターミナルで次のコマンドを実行します。
dig <domain name or IP>
たとえば、 phoenixnap.com
の情報を表示するには 、実行:
dig phoenixnap.com

status
クエリが成功したかどうかを示します。ANSWER SECTION
QUESTION SECTION
で送信されたリクエストへの応答を示します 。SERVER
パブリックDNSサーバーのアドレスを表示します。
デフォルトでは、digはドメインのAレコードを検索し、名前を解決するときにドメインが指すIPアドレスを示します。
掘り出しツールは、包括的な検索のための多くの高度なオプションを提供します。たとえば、 +trace
を追加します タグを付けて、宛先へのフルパスを確認します:
dig phoenixnap.com +trace

+trace
オプションは、目的地へのルートでのトラフィックの低下を特定するのに役立ちます。
委任されたネームサーバーを確認するには、 ns
を使用します オプション:
dig phoenixnap.com ns

ns
を使用する 委任の問題の特定とトラブルシューティングに役立つオプション。
nslookupを使用する
nslookupコマンドは、さまざまなDNSレコードとサーバーをチェックするための機能を提供します。このツールは、デフォルトでmacOS、Linux、およびWindowsオペレーティングシステムで使用でき、DNSをクエリするための最初のツールでした。
ドメインのnslookup情報を取得するには、コマンドライン/ターミナルで次のコマンドを使用します。
nslookup <domain name or IP>
たとえば、 nslookup
を実行します phoenixnap.com
の場合 :
nslookup phoenixnap.com

出力には、DNSサーバーのアドレスとAレコードの応答が出力されます。 nslookup
コマンドは、その可用性のためにWindowsに適しています。
ホストを使用
ホストユーティリティは、DNSルックアップを実行するための簡単なプログラムです。このコマンドは、macOSおよびLinuxシステムで使用できます。
ホストの基本的な構文は次のとおりです。
host <domain name or IP>
例:
host phoenixnap.com

host
コマンドは、ドメイン名が存在するかどうかをすばやく確認し、アドレスに解決するのに最適です。 host
の一般的な使用例 bashスクリプトにあります。
追加のオプションを使用して、より多くの情報を表示します。たとえば、 -a
を追加します タグを付けて、 dig
と同様の出力を表示します コマンド:
host -a phoenixnap.com

出力には、NS、SOA、MX、その他の利用可能なレコードなど、回答セクションの追加情報が表示されます。
tracerouteまたはtracertを使用する
tracerouteおよびtracertツールは、送信元から宛先までのルートをトレースするのに役立ちます。 DNSの問題をトラブルシューティングする場合、コマンドはパケットがネットワーク上で停止した場所を特定するのに役立ちます。 traceroute
コマンドはmacOSとLinuxで使用できますが、Windowsで同等のコマンドは tracert
。
ネットワークをマッピングするには、ターミナルで次のコマンドを実行します。
traceroute <domain name or IP>
Windowsマシンを使用している場合は、次を実行します。
tracert <domain name or IP>

traceroute
の詳細については / tracert
コマンドと出力の読み方については、Linux、Windows、macOSでTracerouteを実行する方法に関する包括的なチュートリアルを確認してください。
ISPに連絡する
コンピューターがISPのDNSを使用している場合、自分の側で問題を解決することはできません。 ISPに連絡することで、問題を特定し、ISP側の問題を特定することができます。