Я использую unbound и обычно использую openDNS в качестве своего DNS-сервера.
Когда я бегу, dig google.com
говорю, я получаю SERVER: 127.0.0.1#53(127.0.0.1)
. Что именно эта штука слушает на порту № 53? это не связано или это как-то связано с dnsmasq (у меня вообще установлен dnsmasq, как dnsmasq.conf
будто его нет /etc
?)
В resolv.conf есть, nameserver 127.0.0.1
но затем в сетевом менеджере у меня есть DNS-серверы, указывающие на два адреса openDNS. и так, что здесь происходит? локальный сервер имен указывает на dnsmasq, который затем использует значения из сетевого менеджера? или это несвязанное, что на самом деле слушает?
Ответы:
По умолчанию NetworkManager использует Dnsmasq в качестве распознавателя DNS, если он установлен. Это значение по умолчанию в системах на основе Debian, поэтому Dnsmasq работает в конфигурации по умолчанию, где он разрешает имена только на основе вышестоящих серверов, указанных в параметрах командной строки (плюс содержимое
/etc/hosts
). У вас нет,/etc/dnsmasq.conf
потому что этот файл присутствует только в дополнительном пакете dnsmasq .Чтобы увидеть, использует ли ваша система Dnsmasq или Unbound для DNS-запросов, запустите
netstat -ulnp | grep ":53 "
.В Ubuntu 12.04 NetworkManager не очень хорошо работает с другими распознавателями DNS (см. Ошибку 959037 - резюме Томаса Гуда охватывает все это). Чтобы продолжать работу Unbound вместе с NetworkManager, лучше всего указывать NetworkManager не запускать Dnsmasq (он не нужен вам, кроме Unbound, если только вы не используете функции Dnsmasq, которые NetworkManager не использует). Для этого:
/etc/NetworkManager/NetworkManager.conf
чтобы закомментировать строку, содержащуюdns=dnsmasq
(добавить#
в начале этой строки).service network-manager restart
.источник
dns=unbound
в/etc/NetworkManager/NetworkManager.conf
? и учитывая, что у меня в данный момент естьdns=dnsmasq
этот файл, почему Ubuntu на самом деле использует unbound?dns=...
строку, чтобы прекратить использование dnsmasq, что, если я заменит строку наdns=unbound
? Иначе как NetworkManager узнает, что unbound будет локальным распознавателем?В Ubuntu 12.04 dnsmasq теперь работает по умолчанию из-за жесткого кодирования в
network-manager
. Использование dnsmasq в качестве локального распознавателя по умолчанию в настольных системах Это второе большое изменение в этом выпуске. При установке на рабочем столе ваш DNS-сервер будет иметь значение «127.0.0.1», которое указывает на сервер dnsmasq, управляемый NetworkManager.это означает, что вы получаете ANS вашего запроса от локальных DNS, то есть DNSMASQ.
Если вам не нужен локальный распознаватель, вы можете отключить его DNSMASQ, используя следующую процедуру.
Вам нужно отредактировать
/etc/NetworkManager/NetworkManager.conf
файли закомментируйте следующую строку из
в
Сохраните файл и выйдите.
Теперь вам нужно перезапустить,
network-manager
используя следующую командуСсылка ссылка
источник
/etc/dnsmasq.conf
отсутствует?Чтобы увидеть, какой фактический DNS-сервер использовался для разрешения вашего адреса, при использовании DNSMasq нельзя использовать,
DIG
потому что127.0.0.1
вместо этого он только сообщает :Включить ведение журнала в DNSMasq:
Записать DNSMasq и отслеживать вывод:
Пинг хоста:
Затем вы можете увидеть, что мой вышестоящий DNS-сервер (192.168.1.1) разрешает его:
Пинг хост за компанией VPN (во время разделенного туннеля) для * .company.com
Результаты:
источник