uz
DF
Daniil Fedorov
июля 8, 2025
Обновлено июля 8, 2025

resolv

В контексте DNS термин resolv относится к процессу разрешения доменных имен (DNS resolution) — преобразования читаемого доменного имени (например, example.com) в IP-адрес (например, 93.184.216.34), необходимый для установления сетевого соединения.

Основные аспекты resolv в DNS

Файл /etc/resolv.conf
Это конфигурационный файл, используемый в UNIX-подобных системах, где указываются параметры для разрешения DNS.

Что содержит файл?

Файл хранит список DNS-серверов, которые операционная система использует для преобразования доменных имен в IP-адреса.
Пример содержимого файла:

nameserver 8.8.8.8
nameserver 8.8.4.4
search localdomain

Где:

  • nameserver указывает IP-адрес DNS-сервера.
  • search определяет домены для автоматического дополнения запросов.

Как работает DNS-резолвинг (DNS resolving)

Процесс выглядит так:

  • Пользователь вводит доменное имя (например, example.com) в браузере.
  • ОС проверяет локальный кеш (например, /etc/hosts).
  • Если запись не найдена, запрос отправляется на DNS-серверы, указанные в resolv.conf.
  • DNS-сервер возвращает IP-адрес, соответствующий имени.

Использование и настройка /etc/resolv.conf

Как изменить DNS-сервер? Вы можете редактировать файл вручную:

sudo nano /etc/resolv.conf

Добавьте, например:

nameserver 1.1.1.1
nameserver 8.8.8.8

Здесь указаны DNS-серверы Cloudflare и Google.

Автоматическое управление файлом

В некоторых системах файл управляется автоматически через:

  • DHCP-клиенты (например, dhclient).
  • Менеджеры сети (например, NetworkManager).

Чтобы запретить изменения, можно сделать файл только для чтения:

sudo chattr +i /etc/resolv.conf

Команды для проверки резолвинга

Проверка DNS-запроса:

nslookup example.com

Более детальная проверка:

dig example.com

Проблемы и их решение

DNS не работает. Что делать?

Проверьте файл resolv.conf — убедитесь, что там указаны рабочие DNS-серверы.
Используйте проверенные серверы, например:

  • Google DNS: 8.8.8.8, 8.8.4.4
  • Cloudflare DNS: 1.1.1.1, 1.0.0.1
  • OpenDNS: 208.67.222.222, 208.67.220.220

Файл resolv.conf постоянно сбрасывается.

Это может быть вызвано:

  • DHCP.
  • NetworkManager или другим сетевым менеджером.

Решение:

  1. Отключите автоматическое обновление.
  2. Настройте DNS через настройки DHCP или NetworkManager.

Задержки при резолвинге доменов.

  • Убедитесь, что указаны быстрые DNS-серверы.
  • Настройте локальный кеширующий DNS-сервер, например, dnsmasq или unbound.

Часто задаваемые вопросы

Как узнать текущие настройки DNS?

Используйте команду:

cat /etc/resolv.conf

Можно ли использовать несколько nameserver?

Да, система обращается к серверам в порядке их указания.

Что такое search в resolv.conf?

Это параметр, который добавляет указанный домен к запросу. Например:

Если указано search example.com, запрос host1 превратится в host1.example.com.

Что делать, если я за NAT и DNS не отвечает?

Проверьте настройки роутера или используйте публичные DNS.

Какие альтернативы DNS-серверам?

Вы можете использовать локальные кеширующие резолверы или встроенные DNS-сервисы, такие как systemd-resolved.