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

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

私はDNSサーバーとしてアンバウンドし、通常openDNSを使用します。

私が走ったときにdig google.comそれを得ると言ってくださいSERVER: 127.0.0.1#53(127.0.0.1)。ポート53でリッスンするのは正確に何ですか?これはアンバウンドですか、それともdnsmasqに関連していますか? (dnsmasq.confないようでdnsmasqをインストールしましたか/etc?)

resolv.confにはありますが、nameserver 127.0.0.1ネットワーク管理者はDNSサーバーを2つのopenDNSアドレスとして指定します。だからどうしたの?ローカルネームサーバーはdnsmasqをポイントし、ネットワーク管理者の値を使用しますか?それとも実際に拘束されずに聞いているのでしょうか?

答え1

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

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

Ubuntu 12.04では、NetworkManagerは他のDNSリゾルバとうまく機能しません(参照:エラー 959037Thomas Hoodのまとめほぼすべてを扱います)。 NetworkManagerを使用してUnboundを実行し続けるには、NetworkManagerにDnsmasqを実行しないように指示することをお勧めします(NetworkManagerが使用しないDnsmasq機能を使用しない限り、不要なUnboundを除く)。これを行うことができる必要があります。

  1. /etc/NetworkManager/NetworkManager.conf埋め込み行をコメントアウトするには、編集してください(dns=dnsmasq行の先頭に1つ追加)。#
  2. NetworkManagerの再起動を使用してくださいservice network-manager restart

答え2

network-managerUbuntu 12.04では、デフォルトでdnsmasqがデスクトップインストールでローカルリゾルバとして使用されるようにハードコーディングされ、デフォルトで実行されます。これは今回のリリースの2番目の重要な変更です。デスクトップインストールでは、DNSサーバーはNetworkManagerによって管理されるdnsmasqサーバーを指す「127.0.0.1」です。

SERVER: 127.0.0.1#53(127.0.0.1)

これは、ローカルDNS(DNSMASQなど)からクエリへの回答を受け取っていることを意味します。

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

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

gksudo gedit /etc/NetworkManager/NetworkManager.conf

そして、次の行をコメントアウトしてください。

dns=dnsmasq

到着

#dns=dnsmasq

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

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

sudo systemctl restart network-manager

引用する協会

答え3

アドレスを確認するために実際にどのDNSサーバーが使用されているかを確認するには、DNSMasqを使用するときにのみ報告するDIGため、使用できません127.0.0.1。代わりに:

DNSMasqでログインを有効にします。

sed -i 's/\#log-queries/log-queries/' /etc/dnsmasq.conf
systemctl restart dnsmasq

DNSMasqを記録し、出力を監視します。

journalctl --unit dnsmasq.service -f

pingホスト:

ping google.ca

これにより、私のアップストリームDNSサーバー(192.168.1.1)がこれを解決していることがわかります。

: query[A] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: query[AAAA] google.ca from 127.0.0.1
: forwarded google.ca to 192.168.1.1
: reply google.ca is 172.217.1.3
: reply google.ca is 2607:f8b0:400b:80f::2003
: query[PTR] 3.1.217.172.in-addr.arpa from 127.0.0.1
: forwarded 3.1.217.172.in-addr.arpa to 192.168.1.1
: reply 172.217.1.3 is iad23s25-in-f3.1e100.net
: reply 172.217.1.3 is yyz10s14-in-f3.1e100.net

*.company.comエンタープライズVPNの背後にあるホストをpingします(分割トンネリング中)。

ping box.company.com

結果:

: query[A] box.company.com from 127.0.0.1
: forwarded box.company.com to vpn.ser.ver.ip
: query[AAAA] box.company.com from 127.0.0.1

関連情報