DNS: от имени до IP-адреса
Прежде чем браузер установит соединение, имя сайта нужно превратить в IP-адрес. За это отвечает DNS — иерархическая распределённая система имён.
Цепочка разрешения
- Приложение спрашивает системный резолвер (в Ubuntu —
systemd-resolved). - Если ответа нет в кэше, запрос уходит рекурсивному серверу провайдера или публичному.
- Тот обращается к корневым серверам, затем к серверам зоны верхнего уровня и, наконец, к авторитетному серверу домена.
- Ответ возвращается по цепочке и кэшируется на время TTL.
Основные типы записей
| Тип | Назначение |
|---|---|
| A / AAAA | IPv4 / IPv6-адрес узла |
| CNAME | Псевдоним на другое имя |
| MX | Почтовые серверы домена |
| TXT | Произвольный текст: SPF, проверка владения доменом |
| NS | Авторитетные серверы зоны |
TTL и изменение записей
TTL — время в секундах, в течение которого ответ можно хранить в кэше. Если вы планируете переезд на другой IP, заранее уменьшите TTL до 300 секунд, дождитесь истечения старого значения, затем смените адрес.
Диагностика
dig example.com A +short
dig example.com A @1.1.1.1
dig +trace example.com
resolvectl status
resolvectl query example.com
Запрос напрямую к конкретному серверу (@1.1.1.1) помогает понять, где проблема: в локальном кэше, у провайдера или в самой зоне. Команда +trace показывает весь путь от корня до авторитетного сервера.
Частые причины сбоев
- Запись не обновилась — ещё не истёк TTL в кэше.
- Домен указывает на старый IP из-за забытой записи AAAA.
- Резолвер недоступен из-за настроек файрвола на UDP/TCP 53.