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 или другим сетевым менеджером.
Решение:
- Отключите автоматическое обновление.
- Настройте 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.