Я пытаюсь устранить неполадки и установить 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)?
Выяснили, где хранится эта информация после получения через 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"
Мы знаем, что вы получаете ваш IP-адрес, DNS-серверы имен и т. Д. Из транзакции DHCP с вашим маршрутизатором, коммутатором или другой точкой доступа. Если бы у вас был статический адрес, вам пришлось бы указать DNS-серверы имен, и вы бы уже знали, что DNS-серверы эффективно используются.
В транзакции DHCP DNS-серверы в маршрутизаторе передаются на ваше соединение. Фактически они могут исходить от модема или интернет-устройства, предоставленного вашим интернет-провайдером.
Вероятно, вы можете указать серверы имен, которые вы предпочитаете, зайдя на страницы администрирования маршрутизатора следующим образом.
Кроме того, вы можете настроить 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