DNSサーバーとは何ですか?


22

私の/etc/resolv.confは次のようになります。

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1

# OpenDNS Fallback (configured by Linux Mint in /etc/resolvconf/resolv.conf.d/tail).
nameserver 208.67.222.222
nameserver 208.67.220.220   

nslookupを使用するとき、127.0.1.1を使用するようです。

moose@pc08 ~ $ nslookup www.google.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Non-authoritative answer:
Name:   www.google.com
Address: 173.194.44.17
Name:   www.google.com
Address: 173.194.44.16
Name:   www.google.com
Address: 173.194.44.19
Name:   www.google.com
Address: 173.194.44.18
Name:   www.google.com
Address: 173.194.44.20

しかし、ネットワークマネージャーを右クリックして[接続情報]をクリックすると、次のようになります。

接続情報

whois 217.0.43.129 ISPのDeutsche Telekom AGに属していることが明らかになりました。

ネットワークマネージャーがこの情報を表示するのはなぜですか?現在使用しているDNSサーバーは何ですか?

dnsmasq

はい、dnsmasqを実行しているようです:

moose@pc08 ~ $ ps aux | grep dnsmasq
nobody    1479  0.0  0.0   5468  1404 ?        S    14:16   0:00 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.1.1 --conf-file=/var/run/nm-dns-dnsmasq.conf --cache-size=0 --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

回答:


17

あなたは使用しているdnsmasq、NetworkManagerのの制御下でローカルに実行軽量転送DNSサーバを。Dnsmasqは、DNSクエリを、アドレスがDHCPサーバーによって提供されたDNSサーバーに転送します。接続エディターを使用して、これらのDNSサーバーアドレスを静的に設定することもできます。

dnsmasq実行可能ファイルは、ネットワークマネージャパッケージが依存するDNSMASQベースパッケージによって提供されます。また、dnsmasq-baseに依存する「dnsmasq」というパッケージもありますが、この「dnsmasq」パッケージはdnsmasq、単なるDNS転送以外の機能を利用するためにNetworkManagerとは独立して実行する場合にのみインストールする必要があります。


@jdthood-変更は非常に広範囲であり、OPの意図を超えると解釈される可能性があります。あなたの考えをサポートする必要がある場合は、独自の答えを作成してください。ありがとう。
fossfreedom

@jdthood:正解を確保するための努力に感謝します。ただし、NetworkManagerと統合されたdnsmasqのデフォルトの動作は、それぞれのTTL設定に従って150エントリをキャッシュすることです。
ロイ

デフォルトでは、NM-dnsmasqのキャッシュは無効になっています。ps -ef|grep dnsmasqオプションを探してください--cache-size=0
jdthood

1
これは私の12.04ボックスには当てはまりませんが、Google検索では、あなたが正しいことが示されています。これは、12.04と12.10の両方のデフォルトです。そのため、キャッシングを無効にしたキャッシングDNSサーバー:)
Roy

設定で2つ以上を指定すると、dnsmasqは最も近いDNSサーバー(つまり、最も速く到達できるサーバー)を使用しているように見えます。ユーザーエクスペリエンスの観点から(より高速に)理にかなっています。さらに、resolv.confファイルには、OpenDNSがプライマリではなくフォールバックとして示されています。
セルギーKolodyazhnyy

17

happyskepticの答えの拡張として、インターフェイスを指定する必要はありません。これは私のためにそれをします:

> nmcli dev show | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1

Ubuntu 14.04以前の使用の場合 nmcli dev list | grep DNS

> nmcli dev list | grep DNS
IP4.DNS[1]:                             172.22.216.251
IP6.DNS[1]:                             2a01:4f0:400c:1::1

1
私のUbuntu 16システムが望んでいますnmcli dev show
通常、

だとするのでnmcliバージョンはUbuntuの異なるinitシステムへの移行に伴う15.04以降に変更されているので、はい、新しいリリースでは、コマンドがわずかに異なっている
Sergiy Kolodyazhnyy

NetworkManagerとVPNCを使用して仕事用ネットワークにログインすると、明らかに解決されているにもかかわらず、この出力に仕事のDNSサーバーが表示されません。私は(まだ)VPN DNSサーバーを見る方法を知りません。
ピーターV.モーヒ

1
dnsmasqが使用しているDNSを表示するには、USR1シグナルを送信してから、統計などをsyslogにダンプします。だから、実行します tail -F /var/log/syslog | grep dnsmasq.\*Server & sudo pkill -USR1 dnsmasq
アレクサンダーSkwar

7

Kubuntu 14.04では、KDEのNetworkManagerアプレット(またはプラズマと呼ばれるもの)の接続詳細の下にDNSサーバー情報が表示されないことがわかりました。

この場合、それを見つける方法は、コマンドラインで次を実行し、「IP4.DNS」の行を探すことです。

nmcli dev list iface wlan0

(wlan0を、ネットへの接続に使用するインターフェースに置き換えます)


すばらしいです!DNSが消えたときに役立ちます
...-空手犬

1
nmcli device show wlan0私の場合
Searene

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