#Когда возникает ошибка в Debian и какие условия важны
После обновления пакетов Debian исчезает доступ по имени сайта, хотя IP-адреса всё ещё доступны. На рабочих станциях DNS может задаваться NetworkManager, на серверах — ifupdown либо systemd-networkd; systemd-resolved не гарантированно установлен или включён.
#Причины и как отличить их друг от друга
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| DNS недоступен через текущий сервер | ping по IP работает, getent ahosts по домену не возвращает адреса. | Найти конкретный сервер имён в resolv.conf и сетевом менеджере. |
| Смена владельца /etc/resolv.conf | Файл стал ссылкой либо стал обычным файлом с устаревшим адресом. | Определить, кто его создаёт, не подменяя глобально. |
| Конфликт настройщика сети | Интерфейс поднят, но DNS, полученные по DHCP, не доходят до системного разрешения. | Сравнить настройку интерфейса и текущего менеджера. |
#Пошаговая диагностика и устранение
- 1. Отделите неисправность DNS от потери сетиНа компьютере Debian откройте Терминал или SSH. Проверьте IP, основной маршрут и доступность узла по адресу, который разрешено тестировать. Если не проходит даже маршрут до шлюза, сначала устраняйте сетевое соединение: смена DNS бессмысленна и может скрыть настоящую причину.
- Чтение данных и диагностикаLinux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
ip -br addressip routegetent ahosts debian.org
- 2. Сохраните текущий файл разрешения имёнПроверьте, является ли /etc/resolv.conf символической ссылкой, на какой путь она ведёт и какие nameserver перечислены. Не удаляйте ссылку: её может поддерживать NetworkManager, systemd-resolved либо пакет resolvconf. Скопируйте найденное содержимое в личные заметки без внутренних адресов.
- Чтение данных и диагностикаLinux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
ls -l /etc/resolv.confreadlink -f /etc/resolv.confcat /etc/resolv.conf
- 3. Определите действующего управляющего сетьюВыполните проверку сервисов без sudo. Если NetworkManager отсутствует, его команда nmcli не сработает — это нормально для минимальной серверной установки. Для ifupdown изучите /etc/network/interfaces и вложения interfaces.d, для networkd — конфигурации в /etc/systemd/network.
- Чтение данных и диагностикаLinux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
systemctl is-active NetworkManagersystemctl is-active systemd-networkdsystemctl is-active systemd-resolvedcat /etc/network/interfaces
- 4. Проверьте конкретную службу разрешения имёнЕсли systemd-resolved действительно активен и утилита установлена, посмотрите DNS на интерфейсах и выполните проверку домена. Не используйте resolvectl на Debian без этого сервиса как обязательный шаг; вместо него ориентируйтесь на системный getent и настройки реального менеджера.Linux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
resolvectl statusresolvectl query debian.org
- 5. Проверьте, что произошло во время обновленияИстория apt позволяет установить, какие пакеты сети изменялись и когда. Журнал NetworkManager или systemd-networkd покажет проблему DHCP/DNS. Не выполняйте массовое обновление пакетов во время диагностики и не вписывайте чужой публичный DNS в конфигурацию организации.
- Чтение данных и диагностикаLinux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
grep -A 5 -B 2 "Upgrade:" /var/log/apt/history.logjournalctl -b -u NetworkManager -u systemd-networkd --no-pager -n 90
- 6. Изменяйте DNS только в управляющем компонентеДля NetworkManager откройте «Настройки» → «Сеть» (названия зависят от окружения), выберите активное соединение и посмотрите поля IPv4/IPv6 и DNS; зафиксируйте исходные значения до правки. На сервере ifupdown или networkd изменяйте именно тот файл, который использует интерфейс; при SSH не перезапускайте сетевой демон без запасной консоли.
- Чтение данных и диагностикаLinux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
nmcli -f GENERAL,IP4,IP6 device show 2>/dev/null || true
- 7. Проверьте домен и устойчивость результатаПосле исправления конкретного источника DNS дважды выполните getent по домену и откройте доступный сайт. Если IP выдан, но программа всё ещё не соединяется, проверьте прокси, TLS и межсетевой экран отдельно. После согласованной перезагрузки повторите эти проверки, не меняя параметры наугад.Linux · Терминал (Bash)КомандаЧтение данных и диагностика. Изменений нет.
getent ahostsv4 debian.orggetent ahostsv6 debian.orgip route
#Проверка результата и действия при неуспехе
Восстановление подтверждено, когда Debian получает ожидаемые адреса домена через системный resolver, приложения соединяются, а конфигурация не сбрасывается после переподключения.