Перейти к содержанию
  • Лента
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
exlends
Категории
  1. Главная
  2. Категории
  3. Системное Администрирование
  4. DNS/CLI: Could not resolve host — причины и как исправить ошибку

DNS/CLI: Could not resolve host — причины и как исправить ошибку

Запланировано Прикреплена Закрыта Перенесена Системное Администрирование
dnscliresolve host
1 Сообщения 1 Постеры 1 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • kirilljsxK Не в сети
    kirilljsxK Не в сети
    kirilljsx
    js
    написал отредактировано
    #1

    Ошибка Could not resolve host в CLI знакома всем, кто работает с командной строкой. Она выскакивает при попытке пинга, curl или wget — система просто не может перевести доменное имя в IP-адрес. Это мешает скачать файлы, проверить API или развернуть проект.

    Разберёмся, почему это происходит и как починить. Вы узнаете основные причины и шаги исправления для разных систем. После этого команды снова заработают без сбоев, а диагностика сети станет проще.

    Основные причины ошибки

    Ошибка Could not resolve host возникает, когда DNS-резолвер не находит IP для домена. Это может быть из-за кэша, настроек сети или проблем у провайдера. Например, вы запускаете curl api.example.com, и терминал выдаёт ошибку — домен не резолвится, хотя браузер открывает сайт нормально.

    Часто виноват локальный кэш DNS, который хранит устаревшие записи. Или файл hosts содержит неверные записи, переопределяющие DNS. Плюс, если DNS-сервера провайдера барахлят, резолв не проходит. В CLI это заметнее, чем в GUI, потому что инструменты вроде ping напрямую зависят от системного резолвера.

    Вот типичные сценарии:

    • Кэш DNS: После смены IP домена старые записи мешают.
    • Файл hosts: Локальные записи блокируют правильный резолв.
    • DNS-сервера: Медленные или недоступные серверы провайдера.
    Причина Симптомы Быстрая проверка
    Кэш DNS Ошибка на известных доменах nslookup google.com работает, ping — нет
    Файл hosts Только на конкретном домене Проверить /etc/hosts или C:\Windows\System32\drivers\etc\hosts
    DNS-сервера На всех внешних доменах cat /etc/resolv.conf показывает плохие серверы

    Очистка DNS-кэша и проверка hosts

    Сначала стоит сбросить кэш — это решает 70% случаев. На Windows команда ipconfig /flushdns очищает локальный кэш. На macOS и Linux набор sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder или sudo systemd-resolve --flush-caches делает то же самое. После этого протестируйте ping google.com.

    Дальше проверьте файл hosts. Он переопределяет DNS локально, и неверная запись вроде 127.0.0.1 badsite.com ломает всё. Откройте файл в редакторе с правами root: на Linux /etc/hosts, на Windows C:\Windows\System32\drivers\etc\hosts. Закомментируйте (#) подозрительные строки и сохраните.

    Не забудьте: После правок hosts перезапустите сеть или терминал.

    Шаги по очистке:

    1. Выполните flush DNS для вашей ОС.
    2. Откройте hosts: sudo nano /etc/hosts.
    3. Удалите или закомментируйте записи домена.
    4. Тест: curl -I https://example.com.
    ОС Команда flush Путь к hosts
    Windows ipconfig /flushdns C:\Windows\System32\drivers\etc\hosts
    Linux sudo systemd-resolve --flush-caches /etc/hosts
    macOS sudo dscacheutil -flushcache /etc/hosts

    Смена DNS-серверов

    Если кэш чист, проблема в серверах — провайдерские DNS часто тормозят. Перейдите на публичные: Google (8.8.8.8, 8.8.4.4) или Cloudflare (1.1.1.1). На Linux отредактируйте /etc/resolv.conf: добавьте nameserver 8.8.8.8. Но это временно — NetworkManager перезапишет.

    Для постоянных изменений правьте конфиг интерфейса. На CentOS/RHEL: sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0, добавьте DNS1=8.8.8.8. Затем systemctl restart NetworkManager. На Windows зайдите в настройки адаптера, IPv4 → Свойства → Укажите DNS вручную.

    Важно: После смены перезапустите сеть и проверьте nslookup site.com.

    Варианты DNS:

    • Google: 8.8.8.8 (быстрый, надёжный).
    • Cloudflare: 1.1.1.1 (приватность).
    • Яндекс: 77.88.8.8 (для РФ).
    Метод ОС Команда/Шаги
    Временный Все echo "nameserver 8.8.8.8" > /etc/resolv.conf
    Постоянный Linux RHEL/CentOS Добавить в ifcfg-eth0: DNS1=8.8.8.8
    Windows GUI Настройки → Сеть → IPv4 → DNS

    Дополнительные проверки сети

    Иногда ошибка от роутера или предсказания DNS. Перезагрузите роутер — это сбрасывает его кэш. В Chrome отключите DNS prefetching: Настройки → Дополнительно → Системные → Сними галку “Использовать предсказание DNS”. Проверьте URL в CLI: без http:// или с лишним слешем резолв сломается.

    Тестируйте инструментами: dig example.com покажет DNS-цепочку, traceroute — маршрут. Если ничего не помогает, проблема у провайдера — звоните в поддержку.

    • Перезагрузка роутера: Очищает NAT и DNS.
    • Проверка URL: curl https://api.example.com без опечаток.
    • Тест инструментами: nslookup, dig, ping -c 4.
    Инструмент Что проверяет Пример
    nslookup DNS-резолв nslookup google.com
    dig Полную цепочку dig +short example.com
    traceroute Маршрут traceroute ya.ru

    Когда ошибка прячется глубже

    Эти шаги решают большинство случаев, но есть нюансы вроде файрвола или VPN, блокирующих UDP 53. Стоит поэкспериментировать с DoH (DNS over HTTPS) в браузере или systemd-resolved. Или поднять локальный резолвер типа dnsmasq для разработки.

    1 ответ Последний ответ
    0

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@exlends.com
    • Наш чат
    • Наш ТГ канал

    © 2024 - 2025 ExLends, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Лента
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы