DNS
Domain Name System — распределённая система, которая переводит доменные имена вида example.com в IP-адреса серверов.
Что такое DNS
DNS (Domain Name System, система доменных имён) — распределённая база данных, переводящая понятные человеку доменные имена в IP-адреса. Браузер не умеет отправлять пакеты на example.com: маршрутизация работает по адресам вида 93.184.216.34. Этот перевод и делает DNS — примерно как телефонная книга, где по имени находят номер.
DNS-сервер («днс-сервер») — узел, отвечающий на такие запросы. Их два принципиально разных класса, и путать их не стоит:
- Рекурсивный резолвер — тот, что прописан в настройках вашей системы (
8.8.8.8,1.1.1.1, резолвер провайдера). Принимает запрос клиента, сам проходит всю цепочку до ответа и кеширует результат. - Авторитативный сервер — хранит зону конкретного домена и является для неё источником истины. Именно его вы указываете NS-записями при делегировании домена у регистратора.
Как резолвится имя
Клиент → резолвер (1.1.1.1): "A-запись для www.example.com?"
резолвер → корневой сервер (.) : "спроси серверы зоны .com"
резолвер → TLD-сервер (.com) : "спроси ns1.example.com"
резолвер → ns1.example.com : "93.184.216.34, TTL 300"
Клиент ← резолвер: 93.184.216.34
Полная цепочка отрабатывает один раз. Дальше ответ лежит в кеше резолвера ровно столько секунд, сколько указано в TTL записи, и все последующие клиенты получают его мгновенно.
Типы записей
| Тип | Что хранит | Пример значения |
|---|---|---|
| A | IPv4-адрес хоста | 93.184.216.34 |
| AAAA | IPv6-адрес хоста | 2606:2800:220:1::1 |
| CNAME | алиас на другое имя | cdn.example.net. |
| MX | почтовый сервер и приоритет | 10 mail.example.com. |
| NS | авторитативные серверы зоны | ns1.example.com. |
| TXT | произвольный текст: SPF, DKIM, верификация | v=spf1 mx -all |
| PTR | обратная зона, IP → имя | mail.example.com. |
| SRV | хост и порт сервиса | 10 5 5060 sip.example.com. |
| CAA | кому разрешено выпускать сертификаты | 0 issue "letsencrypt.org" |
CNAME нельзя повесить на корень домена (example.com без поддомена) — там уже обязаны быть NS и SOA. Для этого случая провайдеры делают нестандартные ALIAS/ANAME-записи.
Диагностика
$ dig +short example.com A
93.184.216.34
$ dig example.com MX +noall +answer
example.com. 3600 IN MX 10 mail.example.com.
$ dig @8.8.8.8 example.com +trace # пройти делегацию с корня
$ dig -x 93.184.216.34 # обратный запрос, PTR
+short оставляет только значение, +trace показывает всю цепочку делегирования — с этого начинают разбор «домен не резолвится». Другие инструменты — в сетевой диагностике.
DNS на практике
- TTL и переезды. За сутки до смены A-записи снизьте TTL до 60–300 секунд, иначе часть клиентов будет ходить на старый сервер, пока не истечёт кеш. После переезда верните обратно.
- Порт и транспорт. DNS слушает порт 53 по UDP; если ответ не влезает в дейтаграмму, клиент повторяет запрос по TCP/53. DoT (853) и DoH (443) прячут запросы внутрь TLS.
- Балансировка. Несколько A-записей на одно имя дают примитивный round-robin, но без health check: упавший сервер продолжит получать свою долю трафика. Настоящая отказоустойчивость — за балансировщиком или CDN.
- Почта. Без корректных MX, SPF, DKIM и PTR письма с вашего VPS уедут в спам — почтовые сервисы проверяют их в первую очередь.
Связанные термины
- Домен — имя, которое DNS превращает в адрес
- FQDN — полностью определённое имя, которым оперируют записи
- IP-адрес — то, что возвращают A- и AAAA-записи
- CDN — подключается к домену через CNAME или смену NS
- DHCP — сообщает клиенту адрес резолвера
- Сетевая диагностика — dig, nslookup, проверка резолвинга
Готовы запустить GPU-задачу?
Запустить GPU-сервер