#Симптом и границы применимости
После обновления Arch Linux числовые IP-адреса доступны, но имена сайтов не преобразуются в адреса. Используйте свой действующий сетевой менеджер; универсальная замена /etc/resolv.conf может повредить VPN и локальные зоны.
#Возможные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Сбой DNS, не всей сетиМаршрут к IP есть, а запрос домена возвращает ошибку. | ping по IP проходит, getent для домена не возвращает адрес. | Сверить текущие серверы DNS. |
| Неверная связь resolv.confФайл указывает на неработающий локальный резолвер. | Ссылка ведёт к stub-resolv.conf, а systemd-resolved не активен. | Согласовать способ управления DNS с используемым менеджером. |
| VPN подменяет DNSДля корпоративных доменов нужны отдельные серверы. | Проблема появляется после подключения VPN или затрагивает только внутренние имена. | Проверить маршрут DNS, не устанавливать публичные серверы без согласования. |
#Подробная диагностика и безопасные действия
- 1. Отделите DNS от отсутствия подключенияОткройте терминал; первые команды показывают интерфейсы и маршрут без изменений. Для числового адреса 1.1.1.1 ICMP может блокироваться: при неуспехе дополнительно проверьте доступ к своему маршрутизатору или используйте браузер по IP локального устройства.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
ip -br addressip routeping -c 2 1.1.1.1
- 2. Проверьте разрешение имениgetent использует системный механизм NSS и показывает IP для домена, если разрешение работает. Если IP доступен, а getent молчит/возвращает код ошибки, ищите DNS или порядок nsswitch.conf, а не драйвер сетевой карты.Linux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
getent ahostsv4 archlinux.orggrep "^hosts:" /etc/nsswitch.conf
- 3. Узнайте, кто управляет DNSПрочитайте статус NetworkManager и systemd-resolved (отсутствующая служба допустима), тип файла /etc/resolv.conf и текущие nameserver. Не заменяйте файл вслепую: его может изменять NetworkManager, dhcpcd, VPN или systemd-resolved.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
systemctl is-active NetworkManager systemd-resolved systemd-networkdls -l /etc/resolv.confcat /etc/resolv.conf
- 4. Проверьте DNS именно в NetworkManagerЭти команды выполняйте только если NetworkManager активен. Найдите имя активного подключения и полученные DNS, затем сравните их с ожидаемыми от провайдера/VPN. Ошибку с внутренними именами передайте администратору сети вместе с выводом, не ломая маршрут VPN.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
nmcli connection show --activenmcli device show | grep -E "GENERAL.DEVICE|IP4.DNS|IP6.DNS"
- 5. Разберите состояние systemd-resolvedЕсли система использует systemd-resolved, посмотрите резолверы для каждого интерфейса и журнал. При active со сбоями upstream устраняйте доступность именно этих серверов; при inactive и ссылке на stub сначала выясните, должен ли resolved использоваться в вашей конфигурации.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
resolvectl statussystemctl status systemd-resolved --no-pagerjournalctl -b -u systemd-resolved --no-pager -n 60
- 6. Восстановите нужную службу только при подтверждённом сбоеЕсли systemd-resolved был рабочим резолвером до обновления, но остановлен и /etc/resolv.conf ссылается на его stub, попробуйте запустить его, не меняя состав DNS. Если используется другой менеджер, этот шаг пропустите. На удалённой машине предварительно обеспечьте резервный канал.
- Выполнять только при ранее настроенной и необходимой службе systemd-resolvedLinux · Терминал (Bash)С осторожностьюНужен sudoВыполнять только при ранее настроенной и необходимой службе systemd-resolved. Возможны изменения работы DNS.
sudo systemctl start systemd-resolvedsystemctl is-active systemd-resolvedКоманда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.
- Диагностическая команда в терминале Arch Linux, без изменения настроекLinux · Терминал (Bash)КомандаДиагностическая команда в терминале Arch Linux, без изменения настроек.
getent ahostsv4 archlinux.orgresolvectl query archlinux.org - 7. Проверьте результат в приложенияхПосле исправления getent должен выдавать адреса, браузер открывать тот же сайт по имени, а адреса корпоративных служб — разрешаться по VPN. Если работает лишь часть доменов, проверьте split DNS и трассу до корпоративного DNS; не очищайте сетевую конфигурацию целиком.
#Как понять, что проблема устранена
Повторите исходное действие, из-за которого возникла неисправность, и сверяйте не только код завершения команды, но и прикладной результат. Сохраните вывод последней диагностической команды и записи журнала до и после исправления. Если ошибка повторяется, верните только изменённую настройку из резервной копии и передайте специалисту точный симптом, имя программы/службы, версию системы и необходимые фрагменты журнала без паролей и закрытых ключей.
#Что делать, если не помогло
Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.