Какие вышестоящие серверы имен действительно используют dnsmasq / NetworkManager?

Я пытаюсь устранить неполадки и установить dnscrypt (-proxy) на свой ноутбук. Я хочу выяснить, какие DNS-серверы эффективно используются моей стандартной установкой Ubuntu (конечно, с NetworkManager и dnsmasq). Однако я нашел конфигурацию dnsmasq лабиринт. Я не мог выяснить, какие DNS-серверы он должен запрашивать.

Сначала я проверил /etc/resolv.conf, который, конечно же, настроен на запрос 127.0.1.1, где dnsmasq-base прослушивает. Итак, пришло время проверить конфигурацию dnsmasq, для каких серверов он настроен на запрос. Однако /etc/dnsmasq.d/ пусто, за исключением network-manager с одной записью: bind-interfaces. Там не так много помощи. Поэтому я проверяю, как NetworkManager вызывает dnsmasq:

$ pgrep -a dnsmasq
1786 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

Хорошо, поэтому он не использует /etc/resolv.conf, он игнорирует /etc/hosts/, его конфигурационный файл установлен на /dev/null и /etc/NetworkManager/dnsmasq.d также пуст. Так что никаких подсказок там тоже нет. Должны ли мы возвращаться к некоторым значениям по умолчанию или к чему-то еще?

Другие файлы, которые я нашел:

  • /run/NetworkManager/resolv.conf говорит nameserver 127.0.1.1
  • /run/resolvconf/resolv.conf говорит nameserver 127.0.1.1 [ 1124]
  • /etc/resolv.conf говорит nameserver 127.0.1.1
  • /etc/resolvconf/base пусто, ./head имеет только комментарии
  • /var/ и /run/ больше не имеет файлов с именем resolv.conf ]

Запустив wireshark, я вижу, что он запрашивает у моего домашнего маршрутизатора ответы DNS (как и ожидалось). Но где он получает этот IP и где я могу изменить его, не используя все остальные функции dnsmasq и NetworkManager (например, разделенный DNS для VPN)?

3
задан 10 June 2017 в 15:52

2 ответа

Выяснили, где хранится эта информация после получения через DHCP:

/var/lib/NetworkManager/*lease

Для изменения этих настроек см. Документацию NetworkManager :

nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
nmcli con mod test-lab ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod test-lab ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
0
ответ дан 10 June 2017 в 15:52

Мы знаем, что вы получаете ваш IP-адрес, DNS-серверы имен и т. Д. Из транзакции DHCP с вашим маршрутизатором, коммутатором или другой точкой доступа. Если бы у вас был статический адрес, вам пришлось бы указать DNS-серверы имен, и вы бы уже знали, что DNS-серверы эффективно используются.

В транзакции DHCP DNS-серверы в маршрутизаторе передаются на ваше соединение. Фактически они могут исходить от модема или интернет-устройства, предоставленного вашим интернет-провайдером.

Вероятно, вы можете указать серверы имен, которые вы предпочитаете, зайдя на страницы администрирования маршрутизатора следующим образом. enter image description here

Кроме того, вы можете настроить Network Manager на использование предпочтительных серверов имен, например так: удалить предоставленные isp dns

Поскольку DNS-серверы DNS различаются в зависимости от соединения; то есть вы получите другой DNS-сервер имен, подключенный на работе, от сервера имен, подключенного дома, предоставленные номера показаны в / etc / NetworkManager / system-connections / foo, где foo - имя соединения. Например, одним из моих соединений является Проводное соединение 1 , и оно сообщает, среди прочего, что:

[ipv4]
dns=8.8.8.8;8.8.4.4;
dns-search=
ignore-auto-dns=true
method=auto
0
ответ дан 10 June 2017 в 15:52

Другие вопросы по тегам:

Похожие вопросы: