dnsmasqを再び機能させるためにresolvconfを削除する必要があるのはなぜですか?


8

昨日、Preciseにアップグレードしたところ、dnsmasqが機能しなくなりました。つまり、dnsmasqがリッスンしているlocalhost(127.0.0.1)へのDNSクエリは拒否されました。

resolvconf(apt-get remove resolvconf)を削除して再起動すると問題が解決しました(Googleのどこかでその提案が見つかりました)。/etc/resolv.confresolvconfがある場合とない場合で問題なく見えました。全然違いません。

  1. なぜresolvconfを使用するのですか?何かメリットはありますか?resolvconfに関するWikipediaの記事はひどいです。
  2. resolvconfがdnsmasqを妨害したのはなぜですか?これは既知の問題ですか?

bla @ blubb:〜$ [-f /usr/share/doc/resolvconf/README.gz] && echo "見つかった" || echo "見つかりません"見つかりませんでした。知ったかぶり。
lightxx

回答:


10

(1)への簡単な答えは次のとおりです。resolvconfは、この情報を提供するプログラム(ifupとifdown、DHCPクライアント、PPPデーモン、ローカルネームサーバーなど)とこの情報を使用するプログラム(DNSなど)の間の仲介者として設定されます。キャッシュとリゾルバライブラリ)。Ubuntu 12.04以降、resolvconfはサーバーとデスクトップの両方のバリアントのデフォルトインストールの一部です。resolvconf(8)と/usr/share/doc/resolvconf/README.gzを読んでいないため、resolvconfを削除する必要はなく、削除した人は通常それを理解しません。

2番目の質問に対する答えは、resolvconfはおそらくdnsmasqに干渉しなかったということです。私の推測では、あなたはバグ#959037に遭遇していました。

説明:Ubuntu 12.04では、dnsmasqを実行する方法が2つあります。すべてのアドレスをリッスンする従来のスタンドアロンバージョンのdnsmasqがあります。そして、127.0.0.1でのみリッスンするNetworkManager制御の新しいdnsmasqプロセスがあります。前者を再構成しない限り、後者は前者と競合します。この問題は、NMが制御するdnsmasqプロセスが127.0.0.1ではなく127.0.1.1でリッスンするようにし、スタンドアロンのdnsmasqプロセスがインターフェイスに割り当てられたアドレスでのみリッスンするように強制することにより、Ubuntu 12.10で解決されました。


私はマナページを読みましたが、それでも自分のネームサーバーをに追加する信頼できる方法を見つけることができませんresolv.conf
Michael Mior 2013年

resolvconfがインストールされている場合は、/ etc / resolvconf / resolv.conf.d / headに入力することにより、ネームサーバーアドレスを付加できますnameserver x.x.x.x。ただし、これは通常は必要ないか、推奨されないことに注意してください。一般に、「nameserver」行をresolv.confに追加するより正確な方法があります。一般に、ネットワークインターフェースを構成するユーティリティは、resolvconf -aまたはresolvconf -dをそれぞれ実行することにより、そのインターフェースを介して使用可能なネームサーバーアドレスを追加または削除します。この方法で追加されたネームサーバーアドレスの優先順位付けは、によって管理され/etc/resolvconf/interface-orderます。
jdthood 2013年

実際にはhead、デフォルトのネームサーバーの後にネームサーバーの行を追加しました。
Michael Mior 2013年

私はそれをテストしていませんがecho x.x.x.x | resolvconf -a lo、すべてのインターフェースで最初にしたいネームサーバーを追加するためのトリックを行うようです。
Michael Mior 2013年

Resolvconfは常にの内容をhead先頭(先頭、先頭)に置きresolv.confます。
jdthood 2013年

2

インストール時に削除しました。私は手動でpppdを使用して3Gモデム接続にダイヤルし、カスタムDNSを使用したいときにプロバイダーDNSを自動的に追加することにより、resolvconfがDNS設定に干渉していました。pppdにはこれを制御するオプションがありますが、resolvconfは独自の設定でそれらを壊しました。この質問への回答も知りたいですか?これはいくつかの簡単なものの代わりに複雑なもののようなパッケージのようですか?

PS私はこのバグレポートを見つけました:https : //bugs.launchpad.net/ubuntu/+source/resolvconf/+bug/922578


ご入力いただきありがとうございます。私はそれを賛成していたと思いますが、担当者が不足しています。
lightxx

@lightxx:あなたのためUpvoted;)
トマスツ・ジーリンスキー

resolvconfを削除する代わりに、pppdからのネームサーバー情報を無視するようにresolvconfを構成できます。
jdthood 2012年

resolv.confの通常の内容は非常に単純です。マシンがサーバーまたはラップトップ以外のワークステーションである場合はいつでも、resolvconfで使用される可能性のある半ダースの異なるファイルの代わりに、単一のresolv.confを追跡する方が明らかに簡単であるように見えます。
ericx 2016

@jdthood-resolvconf.confのmanページでこれを行う方法がわかりません。実装の詳細に興味があります。
dps

1

(1)への簡単な答えは次のとおりです。resolvconfは、この情報を提供するプログラム(ifupとifdown、DHCPクライアント、PPPデーモン、ローカルネームサーバーなど)とこの情報を使用するプログラム(DNSなど)の間の仲介者として設定されます。キャッシュとリゾルバライブラリ)。

パッケージの説明からです。デスクトップでは、NetworkManagerと連携して動作し、接続の作成とドロップをスムーズに処理します。

したがって、デスクトップバージョンでのDNS情報の処理の信頼性を高めるために、12.04ではrensconfがdnsmasqとともに使用されています。したがって、状況によっては状況は改善されますが、状況全体では適切な場所にドキュメントが不足しています。サーバーの世界で。

グーグルの負荷にもかかわらず、私はサーバーのインストールで何が推奨されているかを確認することができませんでした。

(2)に関する限り、あなたは私とは逆の問題を抱えています。Dnsmasqは私のマシンのresolvconfでうまく機能し、127.0.0.1を含むように/etc/resolv.confファイルを更新しますが、dnsmasqがeth0(これはゲートウェイです)のdhclientからISPネームサーバーを取得しないため、他の問題もありません/ etc / network / interfacesのeth0スタンザに手動で入力したネームサーバーを取得します。

なぜdnsmasqを使用するのですか?2 NICのゲートウェイも実行していますか?それとも単なるプレーンデスクトップですか?その場合、resolvconfはnetwork-managerと調整します。


ご回答有難うございます。私はそれを賛成したでしょう、残念ながら、あなたは賛成するために15の評判を必要とします。lol
lightxx

1
知っておくべきことがわかっている場合は、manページが最適です。そうしないと、控えめに言っても困惑する可能性があります。ハウツー、例、およびFAQは、地域での経験がない場合に必要です。
アダム

あなたに代わって@lightxxに賛成:)
2015年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.