「名前解決の一時的な失敗」の問題を解決する方法


Webサイトにpingを実行したり、システムを更新したり、アクティブなインターネット接続を必要とするタスクを実行したりしようとすると、端末に「名前解決の一時的な失敗」というエラーメッセージが表示される場合があります。

たとえば、Webサイトにpingを実行しようとすると、次のエラーが発生する可能性があります。

[email protected]:~$ ping google.com
ping: tecmint.com: Temporary failure in name resolution

これは通常、名前解決エラーであり、DNSサーバーがドメイン名をそれぞれのIPアドレスに解決できないことを示しています。 Linuxシステムにソフトウェアパッケージを更新、アップグレード、またはインストールすることさえできないため、これは重大な課題となる可能性があります。

この記事では、「名前解決の一時的な失敗」エラーの原因のいくつかと、この問題の解決策について説明します。

1.resolv.confファイルの欠落または誤った構成

/etc/resolv.conf ファイルは、Linuxシステムのリゾルバー構成ファイルです。 Linuxシステムがドメイン名をIPアドレスに解決するのに役立つDNSエントリが含まれています。

このファイルが存在しないか存在するが、それでも名前解決エラーが発生する場合は、ファイルを作成し、図のようにGoogleパブリックDNSサーバーを追加します。

nameserver 8.8.8.8

図のように、変更を保存してsystemd-resolvedサービスを再起動します。

$ sudo systemctl restart systemd-resolved.service

また、リゾルバーのステータスをチェックして、リゾルバーがアクティブであり、期待どおりに実行されていることを確認することも賢明です。

$ sudo systemctl status systemd-resolved.service

次に、任意のWebサイトにpingを実行してみてください。そうすれば、問題を解決する必要があります。

[email protected]:~$ ping google.com

2.ファイアウォールの制限

最初の解決策がうまくいかなかった場合は、ファイアウォールの制限により、DNSクエリを正常に実行できない可能性があります。ファイアウォールをチェックし、ポート53(DNS –ドメイン名解決に使用)とポート43(whoisルックアップに使用)が開いているかどうかを確認します。ポートがブロックされている場合は、次のように開きます。

UFWファイアウォールのポート53と43を開くには、以下のコマンドを実行します。

$ sudo ufw allow 53/tcp
$ sudo ufw allow 43/tcp
$ sudo ufw reload

CentOSなどのRedhatベースのシステムの場合は、以下のコマンドを呼び出します。

$ sudo firewall-cmd --add-port=53/tcp --permanent
$ sudo firewall-cmd --add-port=43/tcp --permanent
$ sudo firewall-cmd --reload

「名前解決の一時的な失敗」エラーと、いくつかの簡単な手順でそれを修正する方法についてのアイデアが得られたことを願っています。いつものように、あなたのフィードバックは大歓迎です。