外部DNSを使用しているときに、digがDNSサーバーを127.0.0.1と報告するのはなぜですか?


11

私はunboundを使用しており、通常はDNSサーバーとしてopenDNSを使用しています。

私が走るdig google.comと私は得ると言うSERVER: 127.0.0.1#53(127.0.0.1)。これは正確にポート#53でリッスンしているものですか?これはバインドされてdnsmasq.confいませんか、それともdnsmasqと関係がありますか(dnsmasqがインストールされていないように見え/etcますか?)

resolv.confにはありますnameserver 127.0.0.1が、ネットワークマネージャーには、2つのopenDNSアドレスを指すDNSサーバーがあります。ここで何が起こっているのでしょうか?ローカルネームサーバーはdnsmasqをポイントし、ネットワークマネージャーからの値を使用しますか?それとも実際に聞いているのは束縛されていないのですか?


あなたは何を成し遂げようとしているのですか?
Rahul Patil、

3
本当に理解しているだけ
fpghost

このUbuntuサーバーのエディションは何ですか?
Rahul Patil、

デスクトップだけではない
fpghost

回答:


15

インストールされている場合、NetworkManagerはデフォルトでDNSリゾルバーとしてDnsmasqを使用します。これはDebianベースのシステムのデフォルトです。したがって、Dnsmasqはデフォルトの構成で実行され、コマンドラインオプションで指定された上流サーバー(およびの内容/etc/hosts)に基づいて名前のみを解決します。/etc/dnsmasq.confそのファイルはオプションパッケージdnsmasqにのみ存在するのでありません。

システムが現在DNSクエリにDnsmasqまたはUnboundを使用しているかどうかを確認するには、を実行しnetstat -ulnp | grep ":53 "ます。

Ubuntuの12.04では、NetworkManagerは、他のDNSリゾルバ(参照とうまく再生されないバグ959037 - トーマス・フッドの要約ほとんどカバーそのすべてを)。UnboundをNetworkManagerと一緒に実行し続けるには、NetworkManagerにDnsmasqを実行しないように指示することをお勧めします(NetworkManagerが使用しないDnsmasqの機能を使用している場合を除き、Unboundに加えて必要ありません)。それを行うには:

  1. /etc/NetworkManager/NetworkManager.confを含む行を編集してコメント化しますdns=dnsmasq#その行の先頭にa を追加します)。
  2. でNetworkManagerを再起動しservice network-manager restartます。

Ubuntuは現在、どのようにUnboundを使用することを知っていますか(実際に使用しているようです)。私はなぜ私のようなものは必要ありませんされた時に何を取得していますdns=unboundでは/etc/NetworkManager/NetworkManager.conf?そして、私が現在dns=dnsmasqそのファイルにあることを考えると、Ubuntuが実際にunboundを使用しているのはなぜですか?
fpghost

@fpghostどちらを取得するかは、最初に開始したものによって異なります。ネットワークなしで起動すると、Unboundが最初に開始されるため、Unboundが表示されます。あなたがネットワーク接続で起動するなら、それはトスアップだと思います。
Gilles「SO-悪をやめなさい」

OK、しかし私が本当に疑問に思っていたのはdns=...、dnsmasqの使用を停止する行を完全にコメントアウトするのではなく、その行を次のように置き換えた場合はdns=unboundどうなるのでしょうか。それ以外の場合、NetworkManagerは、アンバインドがローカルリゾルバになることをどのようにして知るのでしょうか。
fpghost

1

ubuntu 12.04では、dnsmasqは、にハードコードされているため、デフォルトで実行されますnetwork-manager。デスクトップインストールでデフォルトでローカルリゾルバとしてdnsmasqを使用するこれは、このリリースの2番目の大きな変更です。デスクトップインストールでは、DNSサーバーは "127.0.0.1"になり、NetworkManagerが管理するdnsmasqサーバーを指します。

SERVER: 127.0.0.1#53(127.0.0.1)

これは、ローカルDNS(DNSMASQ)からクエリのansを取得していることを意味します。

ローカルリゾルバーが不要な場合は、次の手順を使用してDNSMASQをオフにできます。

/etc/NetworkManager/NetworkManager.confファイルを編集する必要があります

gksudo gedit /etc/NetworkManager/NetworkManager.conf

から次の行をコメント化します

dns=dnsmasq

#dns=dnsmasq

ファイルを保存して終了します。

network-manager次のコマンドを使用して再起動する必要があります

sudo systemctl restart network-manager

参照リンク


1
わかりました。でも、Unboundもインストールしている場合は、ローカルリゾルバとしてdnsmasqよりも優先されますか?どちらも#53でリッスンしていますか?彼らはどうやって一緒に乗りますか?
fpghost

また、なぜ/etc/dnsmasq.conf欠席しているのですか?
fpghost

@fpghost dnsmasqは127.0.1.1でリッスンしますが、unboundはどちらもポート53で127.0.0.1でリッスンします。ネットワークマネージャーの構成でdns = unboundを設定してunboundを使用できます。
talonx
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.