
У меня возникают проблемы с разрешением DNS в различных контекстах, которые, по-видимому, связаны с моей сетевой конфигурацией.
Я запускаю только dnsmasq-base
установку dnsmasq
на двух установках Linux (Lubuntu 12.04 и 12.10). Я не делал ничего особенного для настройки dnsmasq
, но думаю, что некоторые другие изменения, которые я сделал ранее, могли привести к неправильной конфигурации при обновлении.
Рабочая конфигурация на машине 'A' с 12.04 настроена /etc/resolv.conf
на использование 127.0.1.1 (который /etc/hosts
установлен на $HOSTNAME
). На машине 'B', где некоторые приложения, такие как OpenVPN, испытывают проблемы с разрешением DNS, /etc/resolv.conf
установлен на 192.168.1.1, который является IP моего шлюза. Затрагиваются только некоторые приложения. Например, просмотр веб-страниц работает нормально.
Есть ли идеи, является ли эта разница причиной проблем с разрешением DNS, и почему «B» ведет себя по-другому?
Изменения:
Оба устройства «A» и «B» работают dnsmasq
, оба используют DHCP для получения конфигурации DNS, а я использую только dnsmasq для DNS.
Файла нет /etc/dnsmasq.conf
. Я понимаю, что это нормально, когда запущен только dnsmasq-base
.
Содержимое /etc/resolvconf
на двух машинах выглядит идентичным. Никаких посторонних/отсутствующих файлов.
Извините, я не могу более конкретно описать суть проблемы. «Проблема разрешения DNS» была конечной точкой моего обсуждения с технической поддержкой моего VPN-провайдера.
решение1
На машине B, если /etc/NetworkManager/NetworkManager.conf
содержит dns=dnsmasq
, то resolv.conf
должен содержать только одну строку "nameserver", а именно nameserver 127.0.1.1
. 127.0.1.1 — это адрес, по которому слушает локальный сервер имен пересылки, контролируемый NetworkManager. NetworkManager предоставляет этому серверу имен адреса пересылки для использования.
Попробуйте запустить sudo dpkg-reconfigure resolvconf
на машине B. Это восстановит необходимую символическую ссылку с /etc/resolv.conf
на ../run/resolvconf/resolv.conf
.
Вы используете сторонний VPN-клиент? Такие клиенты известны тем, что затирают /etc/resolv.conf
и не восстанавливают его при выходе. Возможно, вам придется делать это sudo dpkg-reconfigure resolvconf
каждый раз, когда вы останавливаете такой клиент.
Еще одна вещь, которую можно попробовать: закомментировать dns=dnsmasq
и /etc/NetworkManager/NetworkManager.conf
перезагрузить. Это отключает контролируемый NetworkManager локальный сервер имен пересылки, у которого есть некоторые известные проблемы.