Какой у меня 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 раскрывает, что это принадлежит 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облегченный сервер пересылки DNS, который работает локально под управлением NetworkManager. Dnsmasq перенаправляет DNS-запросы на DNS-серверы, адреса которых были предоставлены DHCP-сервером. Также можно статически установить адреса этих DNS-серверов с помощью редактора подключений.

dnsmasqИсполняемым обеспечивается Dnsmasq-базовый пакет , от которого зависит пакет сетевого менеджера. Существует также пакет, называемый просто «dnsmasq», который также зависит от dnsmasq-base, но этот пакет «dnsmasq» следует устанавливать только в том случае, если вы хотите работать dnsmasqнезависимо от NetworkManager, чтобы использовать преимущества, отличные от простой переадресации DNS.


@jdthood - ваши изменения довольно обширны и могут быть истолкованы как выходящие за рамки намерений ОП. Пожалуйста, создайте свой собственный ответ, если это необходимо, чтобы поддержать ваши мысли. Спасибо.
fossfreedom

@jdthood: я ценю ваши усилия, чтобы обеспечить правильный ответ. Однако я понимаю, что стандартное поведение dnsmasq, интегрированного с NetworkManager, заключается в кэшировании 150 записей в соответствии с их соответствующими настройками TTL.
Рой

По умолчанию кэш NM-dnsmasq отключен. Делай ps -ef|grep dnsmasqи ищи вариант --cache-size=0.
Jdthood

1
Это не относится к моему окну 12.04, но поиск в Google показывает, что вы правы, то есть по умолчанию как 12.04, так и 12.10. Итак, кеширующий DNS-сервер с отключенным кешированием :)
Roy

Похоже, что dnsmasq использует ближайший DNS-сервер (т. е. тот, к которому он может быстро добраться), если в настройках вы указали два или более. Что имеет смысл с точки зрения (обеспечения более быстрого) взаимодействия с пользователем. Плюс, файл resolv.conf упоминал другой, OpenDNS, как запасной, а не основной, верно?
Сергей Колодяжный

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 15.04 была изменена версия из-за перехода на другую систему инициализации, поэтому да, в более новых выпусках команда немного отличается
Сергей Колодяжный,

Когда я вошел в свою рабочую сеть с помощью NetworkManager и VPNC, я не вижу DNS-сервер своей работы в этом выводе, хотя он явно разрешается. Я (пока) не знаю, как увидеть DNS-сервер VPN.
Питер В. Мерк

1
Чтобы dnsmasq отображал DNS, который он использует, можно отправить ему сигнал USR1, а затем он сбросит статистику и тому подобное в системный журнал. Итак, сделайте: tail -F /var/log/syslog | grep dnsmasq.\*Server & sudo pkill -USR1 dnsmasq
Александр Сквар

7

Я обнаружил, что в Kubuntu 14.04 апплет NetworkManager (или Plasma, как бы он ни назывался) в KDE не отображал информацию DNS-сервера под сведениями о соединении.

В этом случае способ найти это - запустить следующую команду в командной строке и найти строки «IP4.DNS»:

nmcli dev list iface wlan0

(замените wlan0 на интерфейс, который вы используете для подключения к сети)


Большой! Это поможет мне, когда пропадет DNS ...
karatedog

1
nmcli device show wlan0в моем случае
Searene

1

Вы используете 217.0.43.129. если ваш основной и дополнительный DNS не найдены, он перейдет к вашему маршрутизатору и будет использовать DNS-сервер, настроенный в маршрутизаторе. Если этот DNS также не работает, он, вероятно, попытается подключиться к серверу openDNS. как настроено в /etc/resolv.conf.

https://lists.isc.org/pipermail/bind-users/2006-October/064570.html

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.