All checks were successful
continuous-integration/drone/push Build is passing
78 lines
6.0 KiB
Markdown
78 lines
6.0 KiB
Markdown
---
|
||
aliases:
|
||
- DNS
|
||
tags:
|
||
- maturity/🌱
|
||
date:
|
||
- - 2024-01-13
|
||
---
|
||
## Тезисы
|
||
- **DNS (Domain Name System)** — это система, которая преобразует доменные имена в IP-адреса и наоборот.
|
||
- DNS — это распределенная база данных, состоящая из множества серверов, которые хранят и предоставляют информацию о доменах.
|
||
- Основные компоненты DNS: клиент (resolving), серверы (root, TLD, authoritative), зоны и записи (A, AAAA, CNAME и другие).
|
||
- Процесс DNS-запроса включает несколько этапов, начиная от локального кэша до root-серверов и серверов имен.
|
||
***
|
||
**DNS (Domain Name System)** — это [[../architecture/Распределённая система|распределенная система]], которая позволяет пользователям использовать удобные доменные имена (например, `example.com`) вместо сложных для запоминания [[../../../../knowledge/dev/network/Internet Protocol v4|IP]]-адресов (например, `192.0.2.1`).
|
||
|
||
По умолчанию DNS сервер работает на 53 порту.
|
||
|
||
**Компоненты DNS**
|
||
- **DNS-клиенты (Resolvers)**
|
||
- Это программы или устройства, которые инициализируют DNS-запрос для преобразования доменного имени в IP-адрес.
|
||
- Пример: ваш браузер или операционная система.
|
||
- **DNS-серверы**:
|
||
- **Root-серверы**:
|
||
- Основной уровень в иерархии DNS.
|
||
- Направляют запросы к серверам TLD (Top-Level Domain).
|
||
- Существует 13 логических групп root-серверов (например, `a.root-servers.net`).
|
||
- **TLD-серверы**: Обрабатывают запросы для доменов верхнего уровня (например, `.com`, `.org`, `.ru`).
|
||
- **Authoritative Name Servers**: Хранят окончательную информацию о домене, включая IP-адреса, записи MX и другие.
|
||
- **DNS-зоны**:
|
||
- Фрагменты пространства имен, управляемые конкретным сервером.
|
||
- Пример: зона для `example.com` может включать записи для `www.example.com` и `mail.example.com`.
|
||
- **DNS-записи**:
|
||
- **A**: IPv4-адрес.
|
||
- **AAAA**: IPv6-адрес.
|
||
- **CNAME**: каноническое имя (псевдоним для другого домена).
|
||
- **MX**: почтовые серверы для домена.
|
||
- **TXT**: текстовые данные, используемые для SPF, DKIM, подтверждения владения.
|
||
- **NS**: серверы, обслуживающие зону.
|
||
- **PTR**: обратное преобразование IP в доменное имя.
|
||
|
||
**Как работает DNS?**
|
||
1. **Пользователь вводит доменное имя в браузере.**
|
||
2. **Клиент (resolver)** проверяет локальный кэш. Если запись найдена, используется она.
|
||
3. Если записи нет, запрос отправляется на root-сервер.
|
||
4. Root-сервер перенаправляет запрос на сервер TLD (например, `.com`).
|
||
5. TLD-сервер перенаправляет запрос на authoritative сервер для конкретного домена.
|
||
6. Authoritative сервер возвращает нужную запись (например, IP-адрес).
|
||
7. Клиент получает IP-адрес и устанавливает соединение с сервером по этому адресу.
|
||
|
||
Не рекурсивный поиск
|
||
![[../../meta/files/images/Pasted image 20250128133803.png]]
|
||
|
||
**Проблемы и угрозы DNS**
|
||
- **DNS Spoofing (подмена)**: Атака, при которой злоумышленники подменяют ответ DNS-сервера, перенаправляя пользователей на вредоносные сайты.
|
||
- **DDoS-атаки на DNS**: Направлены на перегрузку серверов, чтобы сделать их недоступными.
|
||
- **Кэш-поизонинг**: Внедрение ложной информации в кэш DNS.
|
||
- **Проблемы с конфиденциальностью**: DNS-запросы могут быть видны третьим сторонам, что создает риски слежки.
|
||
|
||
**Современные улучшения DNS**
|
||
- **DNSSEC (DNS Security Extensions)**: Добавляет цифровую подпись для проверки подлинности записей.
|
||
- **DoH (DNS over HTTPS)** и **DoT (DNS over TLS)**: Шифруют DNS-запросы, повышая конфиденциальность и защищенность.
|
||
- **Anycast**: Используется для распределения запросов на ближайший DNS-сервер, улучшая производительность и устойчивость.
|
||
|
||
## Заметки
|
||
- По умолчанию работает по протоколу [UDP](UDP.md), переходит на [TCP](TCP.md) если размер ответа больше 500 байт.
|
||
***
|
||
## Мета информация
|
||
**Область**:: [[../../meta/zero/00 Сети|00 Сети]]
|
||
**Родитель**::
|
||
**Источник**::
|
||
**Автор**::
|
||
**Создана**:: [[2024-01-13]]
|
||
### Дополнительные материалы
|
||
-
|
||
### Дочерние заметки
|
||
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|