Вопрос или проблема
Я недавно обновил свой Ubuntu и внезапно потерял DNS. Судя по всему, это связано с https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1674532. Но я не могу запустить обновление, чтобы исправить проблему, потому что не могу использовать DNS для проведения обновления. Есть ли какая-либо документация о том, как снова заставить работать DNS, чтобы я мог запустить обновление и исправить проблему? Я пробовал изменить DNS-сервер и многое другое, но ничего не работает.
cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
cat /etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=false
dpkg -l dns | grep ii
ii avahi-dns confd 0.6.32~rc+dfsg-1ubuntu2 amd64 инструмент конфигурации DNS для Avahi
ii dnsmasq-base 2.75-1ubuntu0.16.04.1 amd64 Маленький кэшированный прокси DNS и сервер DHCP/TFTP
ii dnsutils 1:9.10.3.dfsg.p4-8ubuntu1.5 amd64 Клиенты, предоставленные с BIND
ii libavahi-compact-libdnssd1:amd64 0.6.32~rc+dfsg-1ubuntu2 amd64 Библиотека совместимости Avahi Apple Bonjour
ii libdns-export162 1:9.10.3.dfsg.p4-8ubuntu1.5 amd64 Экспортированная библиотека DNS
ii libdns162:amd64 1:9.10.3.dfsg.p4-8ubuntu1.5 amd64 Общая библиотека DNS, используемая BIND
ii libnss-mdns:amd64 0.10-7 amd64 Модуль NSS для разрешения имен Multicast DNS
host -v www.apple.com
Пробую "www.apple.com"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1102
;; flags: qr rd ra; QUERY: 1; ANSWER: 4; AUTHORITY: 0, ADDITIONAL: 0
;;SECTION ВОПРОСА:
;www.apple.com. IN A
;;SECTION ОТВЕТА:
www.apple.com. 1126 IN CNAME www.apple.com.edgekey.net.
www.apple.com.edgekey.net. 21568 IN CNAME www.apple.com.edgekey.net.globalredir.akadns.net
www.apple.com.edgekey.net.globalredir.akadns.net. 3599 IN CNAME e6858.dsce9.akamaiedge.net
e6858.dsce9.akamaiedge.net. 19 IN A 172.226.108.101
Получено 182 байта от 8.8.8.8#53 за 152 мс
Пробую "e6858.dsce9.akamaiedge.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:428
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY:0, ADDITIONAL: 0
;;SECTION ВОПРОСА
;e6858.dsce9.akamaiedge.net. IN AAAA
;;SECTION ОТВЕТА:
e6858.dsce9.akamaiedge.net. 19 IN AAAA 2001:559:19:988d::1aca
e6858.dsce9.akamaiedge.net. 19 IN AAAA 2001:559:19:988d::1aca
Получено 100 байт от 8.8.8.8#53 за 70 мс
Пробую "e6858.dsce9.akamaiedge.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:34978
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY:1, ADDITIONAL: 0
;;SECTION ВОПРОСА:
;e6858.dsce9.akamaiedge.net. IN MX
;;SECTION АВТОРИТЕТА:
dsce9.akamaiedge.net. 179 IN SOA n0dsce9.akamaiedge.net. hostmaster.akamai.com. 1490629947 1000 1000 1000 1800
Получено 109 байт от 8.8.8.8#53 за 32 мс
dpkg -l | grep libc6
ii libc6:amd64 2.23-0ubuntu7 amd64 Библиотека C GNU: Общие библиотеки
ii libc6-dev:amd64 2.23-0ubuntu7 amd64 Библиотека C GNU: Библиотеки разработки и заголовочные файлы
Файл, который хранит информацию о том, какие DNS-серверы нужно запрашивать при разрешении доменных имен, это /etc/resolv.conf
. Но проблема с этим файлом в том, что настоятельно рекомендуется не редактировать его вручную, потому что если вы это сделаете, он вскоре будет автоматически перезаписан программой resolvconf
. Тем не менее, вы можете добавить следующие строки в файл /etc/resolvconf/resolv.conf.d/head
:
# Публичные DNS-серверы Google
nameserver 8.8.8.8 # Основной DNS-сервер
nameserver 8.8.4.4 # Вторичный DNS-сервер
Этот файл используется при построении /etc/resolv.conf
. В частности, его содержимое добавляется в начало файла /etc/resolv.conf
.
Когда обновление решит проблему, это не должно быть слишком сложно добиться без DNS. Возможно, обойти это можно, узнав IP-адрес вашего сервера обновлений и введя его в ваш /etc/apt/sources.list вместо полностью квалифицированного доменного имени.
Ответ или решение
Причины проблемы с разрешением DNS после обновления Ubuntu
При обновлении системы Ubuntu вы столкнулись с проблемой, когда DNS-запросы перестали работать. Это может быть связано с различными аспектами конфигурации системы и поведения службы управления сетями, особенно в контексте использования dnsmasq
и изменения конфигурации resolv.conf
.
Анализ конфигурационных файлов
-
Файл
/etc/resolv.conf
В вашем файле содержатся записи DNS-серверов Google:nameserver 8.8.8.8 nameserver 8.8.4.4
Это нормальная конфигурация, которая должна обеспечить доступ к DNS. Однако, если ваш клиент не может разрешить имена хостов, значит, проблема может быть связана с другими уровнями сетевого стека.
-
Конфигурация NetworkManager
В файле/etc/NetworkManager/NetworkManager.conf
у вас заданы параметры:[main] plugins=ifupdown,keyfile,ofono dns=dnsmasq [ifupdown] managed=false
Указание
dns=dnsmasq
подразумевает, что NetworkManager используетdnsmasq
для обработки DNS-запросов. Однако, еслиdnsmasq
не правильно настроен или не работает, это может привести к недоступности DNS.
Возможные решения проблемы
-
Проверка работы dnsmasq
Убедитесь, что службаdnsmasq
запущена и работает корректно:systemctl status dnsmasq
Если служба не работает, попробуйте ее перезапустить:
sudo systemctl restart dnsmasq
-
Обновление файла
/etc/resolv.conf
Рекомендуется не редактировать файл/etc/resolv.conf
вручную, так как он может быть перезаписан. Вместо этого добавьте DNS-серверы в файл/etc/resolvconf/resolv.conf.d/head
:sudo nano /etc/resolvconf/resolv.conf.d/head
Вставьте:
# Google's public DNS servers nameserver 8.8.8.8 nameserver 8.8.4.4
Затем обновите конфигурацию:
sudo resolvconf -u
-
Проверка настройки
/etc/apt/sources.list
Для временного обхода проблемы с DNS, вы можете использовать IP-адреса вместо доменных имен в файле/etc/apt/sources.list
. Для этого выполните команду:ping -c 1 archive.ubuntu.com
После получения IP-адреса замените в файле
/etc/apt/sources.list
archive.ubuntu.com
на его IP-адрес.
Запуск обновления
После внесения изменений попробуйте снова выполнить обновление:
sudo apt-get update
Заключение
Проблемы с разрешением DNS могут иметь различные источники, включая неверные настройки dnsmasq
, конфликты в конфигурации NetworkManager или проблемы с Интернет-соединением. Следуя вышеизложенным советам, вы сможете устранить проблему и продолжить обновление системы Ubuntu. Если проблема останется, стоит рассмотреть возможность получения дополнительной информации из логов системных служб и, возможно, обратиться к сообществу Ubuntu для получения поддержки.