Системата за имена на домейни (DNS) е система, която се използва за преобразуване на името на хоста на компютъра в IP адрес в интернет. Например, ако компютърът трябва да комуникира с уеб сървъра example.net, вашият компютър се нуждае от IP адреса на уеб сървъра example.net. Задачата на DNS е да преобразува името на хоста в IP адрес на уеб сървъра. Понякога DNS се нарича телефонният указател на интернет, защото преобразува името на уебсайта, което хората знаят, в номер, който интернет действително използва.
Системата DNS е дефинирана в документите Request for Comments (RFC). Това са технически документи за компютърните мрежи. DNS е дефинирана основно в RFC 1034 и RFC 1035. Съществуват и по‑късни RFC, които определят промените в системата и разширенията ѝ.
Как работи DNS — основни стъпки
При търсене на име (например example.net) обикновено участват следните участници: вашето устройство (клиент), рекурсивен резолвер (често предоставян от вашия доставчик на интернет), авторитетни DNS сървъри и коренните сървъри. Процесът на разрешаване на името може да се опише опростено така:
- Клиентът пита локалния резолвер дали има запис за example.net (в кеша или чрез рекурсивно запитване).
- Ако резолверът няма информация, той започва рекурсивно запитване към коренните сървъри, които насочват към сървърите на най‑високо ниво (.net).
- Резолверът следва йерархията — коренен → TLD (top‑level domain) → авторитетен за конкретния домейн — докато намери авторитетния сървър, който притежава записа.
- Авторитетният сървър връща искания запис (например A или AAAA), който резолверът кешира и предава на клиента.
Йерархия и коренни сървъри
DNS е йерархична система. Върхът ѝ са коренните сървъри (root servers), които знаят кои сървъри управляват записите за всяко TLD (.com, .net, .bg и т.н.). Следват TLD сървърите и накрая авторитетните сървъри за отделните домейни и зони.
Чести типове DNS записи
- A — връзва домейн с IPv4 адрес.
- AAAA — връзва домейн с IPv6 адрес.
- CNAME — псевдоним на друго име (canonical name).
- MX — описва пощенски сървъри за домейна (използва се за електронна поща).
- NS — указва кои сървъри са авторитетни за зоната.
- TXT — съдържа текстова информация, често използвана за SPF, DKIM и други верификации.
- SRV — посочва сървъри за специфични услуги и портове.
Кеширане и TTL
Резолверите кешират DNS отговорите за определено време, зададено от полето TTL (time to live). Това намалява натоварването и забавянето при последващи запитвания, но означава, че промени в DNS може да се разпространяват с известно закъснение, докато кешовете изтекат.
Рекурсивни и авторитетни сървъри
Резолвер (рекурсивен DNS сървър) приема запитвания от клиенти и е отговорен да намери отговора, като при нужда направи поредица от запитвания към други сървъри. Авторитетен DNS сървър съдържа окончателните записи за дадена зона и дава валидни отговори за домейн, който управлява.
DNS сигурност и съвременни технологии
- DNSSEC — добавя дигитални подписи към DNS записите, за да се гарантира автентичността и да се предотврати подмяна на отговорите (cache poisoning).
- DoT (DNS over TLS) и DoH (DNS over HTTPS) — криптират DNS заявките, за да защитят поверителността и да предотвратят подслушването или манипулацията на заявките в мрежата.
Чести проблеми и атаки
- DNS кеш отравяне (cache poisoning) — злонамерено вмъкване на фалшиви записи в кеша на резолверите.
- DNS спуфинг — представяне за друг сървър, за да се пренасочат потребители към злонамерени ресурси.
- DDoS атаки срещу DNS инфраструктура — претоварване на сървъри, което води до недостъпност на услуги.
Местни настройки
Преди да бъде запитан DNS, операционната система обикновено проверява локалния файл hosts (напр. /etc/hosts в Unix/Linux или C:\Windows\System32\drivers\etc\hosts в Windows). Записите в този файл имат приоритет пред външните DNS запитвания и могат да се използват за локални пренасочвания и тестове.
DNS е основна част от интернет инфраструктурата: улеснява хората при запомняне на адреси, позволява гъвкава администрация на услуги и е предмет на постоянни подобрения и мерки за сигурност. Разбиране на принципите му помага при отстраняване на проблеми, настройка на услуги и защита на мрежите.