web-dev-qa-db-ja.com

localhostサブドメインのDNS解決は、resolvconfの更新後に機能しなくなりました

長年、私はUbuntu(現在18.10)を使用して、ローカルテスト用にfoo.bar.localhostなどのドメインでPHPアプリケーションを開発しています。これらのドメインは127.0.0.1に解決され、Apache 2.4で処理されました。これは常に機能しました。127.0.0.1 localhostという行は、いつものように/etc/hostsにあります。

今日の朝、私は自分のデバイスの電源を入れましたが、これはもう機能しません。 ping localhostはまだ機能していますが、ping foo.bar.localhostは機能していません(昨日も機能していました)。驚いたことに、Chromiumはまだfoo.bar.localhostを解決しています。DNS解決にOSを使用していないと思います。しかし、私は主にFirefoxを使用していますが、これもlocalhostサブドメインの解決を停止しました。

昨日はシステム関連の設定を変更していませんが、昨日のパッケージの更新を覚えているので、ネットワーク関連のいくつかの変更があったと思います。更新された正確なパッケージを見つけることができるように、dpgkにインストール/更新日をリストする方法はありますか?

サブドメインの解決をシステム全体で再び機能させるには、どの設定をチェックすればよいですか?既知のバグはありますか?

追加情報:/var/log/dpkg.logで、最近のエントリupgrade resolvconf:all 1.79ubuntu10 1.79ubuntu10.18.10.1を見つけました。これ以降の行は、「解決」という用語を含む唯一の行です(cat /var/log/dpkg.log | grep resolvで見つかります)。つまり、この数時間でこのDNS関連のパッケージが更新されました。

別の情報:マニュアルman systemd-resolvedには次の行があります:

ホスト名「localhost」および「localhost.localdomain」(および「.localhost」または「.localhost.localdomain」で終わるホスト名)は、IPアドレス127.0.0.1および:: 1に解決されます。

したがって、この明確に定義された動作は機能しなくなりました。また、私はこの低レベルのDNSに関連するものを自分で変更したことをできません

ping foo.bar.localhostを実行するときの正確なメッセージは

ping: foo.bar.localhost: Name or service not known

新しいバージョンのresolvconfで「修正された」唯一のバグは次のようでした: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/18179 ローカルの解決に関連しています。

1
foobar

問題はresolveconfsystemd-resolvedと一緒にインストールされていることでした。 root権限でapt-get purge resolvconfによって削除しました。その後、すべてが再び機能しました。

両方をインストールしたのは、Ubuntuリリース間の以前のメジャーバージョンアップデートの残りであり、この奇妙な動作を引き起こしたと思います。

1
foobar