В этой статье мы обсудим DNS-запросы — что это такое, как они работают и как они влияют на конфиденциальность онлайн и цензуру.
DNS-запрос — это процесс сопоставления URL-адреса, который вы вводите в адресную строку браузера (читаемого доменного имени), с соответствующим ему IP-адресом.
Все устройства, подключающиеся напрямую к интернету, идентифицируются числовым ярлыком, известным как IP-адрес. Для удобства людей этот адрес также может быть связан с более читаемыми и запоминающимися доменными именами. Система доменных имен (DNS) сопоставляет эти доменные имена с соответствующими им IP-адресами.
Например, веб-сайт Proton VPN использует доменное имя protonvpn.com, которое соответствует IP-адресу 185.159.159.140. Когда вы вводите www.protonvpn.com в строку URL вашего браузера, доменное имя должно быть преобразовано в соответствующий IP-адрес, чтобы компьютеры могли его понять.
Это преобразование выполняется с помощью DNS. Поэтому, когда вы вводите protonvpn.com, DNS преобразует доменное имя в IP-адрес: 185.159.159.140. Это позволяет вашему браузеру найти нужный веб-сайт и подключиться к нему.
Доменные имена существуют исключительно для удобства людей и не являются обязательными для работы интернета. Если бы вы могли помнить IP-адреса, вы могли бы вводить их напрямую. Чтобы увидеть это в действии, просто введите 185.159.159.140 в строку URL вашего браузера, и вы перейдете на веб-сайт Proton VPN.
- Как DNS-запрос работает
- DNS, цензура и государственная слежка
- Сторонние службы DNS
- DNS и VPN
- NetShield Ad-blocker
- Утечки DNS
- Основные типы записей DNS
- Команды DNS-запросов
- Инструменты для DNS-запросов
Как работает DNS-запрос
DNS часто сравнивают с телефонной книгой, в которой сопоставляются доменные имена и соответствующие им IP-адреса. Это полезная аналогия для понимания того, что делает DNS, но на самом деле все устроено гораздо сложнее.
DNS-резолвер
Когда вы вводите доменное имя в адресную строку браузера, DNS-запрос отправляется на специальный сервер, называемый DNS-резолвером (также рекурсивным DNS-сервером или просто DNS-сервером).
Как следует из названия, DNS-резолвер «разрешает» DNS-запрос, извлекая соответствующий IP-адрес домена и отправляя его обратно в ваш браузер. Теперь, когда браузер знает IP-адрес веб-сайта, который вы хотите посетить, он может подключиться к нему.
Пока все просто. Но как DNS-резолвер получает правильный DNS-адрес для домена (этот процесс усложняется тем, что постоянно создаются новые домены, а IP-адреса часто динамически распределяются между доменами и поэтому регулярно меняются)?
Как домен разрешается с помощью DNS
DNS-запрос для домена верхнего уровня(новое окно) (TLD) обычно состоит из следующих шагов:
1. Вы вводите protonvpn.com в строку URL вашего браузера. Браузер отправляет этот запрос через интернет на DNS-резолвер.
2. DNS-резолвер отправляет запрос к корневому серверу имен DNS. Этот сервер хранит информацию о доменах верхнего уровня TLD (таких как .com или .net, или национальных доменах вроде .ch или .uk). Поскольку наш запрос касался (protonvpn.com), корневой сервер имен DNS укажет на DNS-резолвер для TLD «.com».
3. Получив эту информацию, DNS-резолвер запрашивает TLD-сервер имен .com, который содержит список всех доменов .com. TLD-сервер имен отвечает IP-адресом авторитетного сервера имен домена.
4. Теперь DNS-резолвер может отправить запрос к авторитетному серверу имен домена. Обычно им управляет регистратор доменов(новое окно) — компания, которая сдает в аренду доменные имена и управляет ими (например, GoDaddy или Namecheap). Авторитетный сервер имен является главным источником достоверных данных о домене и может вернуть его IP-адрес DNS-резолверу (в нашем случае это будет 185.159.159.140).
5. DNS-резолвер отправляет правильный IP-адрес в ваш браузер, который теперь может подключиться к 185.159.159.140.

В реальности все несколько сложнее. Например, многие домены связаны с несколькими IP-адресами (включая как адреса IPv4, так и IPv6), и если вы посещаете субдомен (например, blog.protonvpn.com), потребуются дополнительные шаги.
Информация также регулярно кешируется (сохраняется локально) на всех этапах процесса — вашим браузером, DNS-резолвером и различными серверами имен. Если нужная информация найдена в кеше, то запрос не отправляется, что позволяет пропустить некоторые шаги.
Тем не менее в общих чертах именно так работает DNS при обычном переходе на веб-сайт.
DNS, цензура и государственная слежка
По умолчанию ваш браузер отправляет DNS-запросы на DNS-резолвер, запущенный вашим интернет-провайдером (ISP). Ваш интернет-провайдер может использовать различные методы, чтобы узнать, что вы делаете в интернете, но самый простой (и дешевый) способ — это просто отслеживать ваши DNS-запросы.
Большинство государственных программ массовой слежки обязывают интернет-провайдеров хранить журналы активности своих клиентов. И поскольку это просто и дешево, большинство провайдеров выполняют эти обязательства, сохраняя только журналы DNS.
Аналогичным образом, когда государства хотят подвергнуть цензуре контент в интернете по социальным, религиозным, политическим или «моральным» соображениям, они требуют от местных интернет-провайдеров ввести эти блокировки. И самый простой способ сделать это — блокировать DNS-запросы к определенным веб-сайтам и приложениям.
Сторонние службы DNS
Один из способов избежать хотя бы части этой цензуры и слежки — использовать сторонний DNS-резолвер, например Cloudflare 1.1.1.1 или OpenNIC.
Некоторые из этих сервисов могут иметь хорошую политику конфиденциальности, но если соединения с DNS-резолверами не зашифрованы с помощью DNS over TLS (DoT) или DNS over HTTPS (DoH), ваш интернет-провайдер сможет увидеть эти запросы в виде обычного текста, если решит проверить.
Шифрование DNS-запросов усложняет (и, следовательно, удорожает) отслеживание вашей истории просмотров для интернет-провайдера, но он все равно может довольно легко узнать, к каким веб-сайтам и приложениям вы подключаетесь, если захочет.
DNS и VPN
При использовании VPN (например, Proton VPN) ваше подключение к VPN-серверу шифруется. При некоторых усилиях ваш интернет-провайдер сможет увидеть, что вы подключились к IP-адресу, принадлежащему VPN-серверу, но не более того.
DNS-запросы отправляются через VPN-туннель и разрешаются VPN-провайдером, который может использовать собственный или сторонний DNS-резолвер. Это не влияет на конфиденциальность, поскольку DNS-запросы исходят от VPN-сервера, а не от пользователя VPN.
Стоит отметить, что при использовании VPN нет необходимости в зашифрованном DNS, так как все DNS-запросы в любом случае отправляются через зашифрованный VPN-туннель.
Также не рекомендуется использовать сторонний DNS-резолвер вместе с VPN. При такой настройке системы ваши DNS-запросы могут отправляться в обход VPN-туннеля к стороннему DNS-резолверу.
NetShield Ad-blocker
Proton VPN предлагает NetShield Ad-blocker во всех наших приложениях. Это функция фильтрации DNS, которая блокирует DNS-запросы к доменам, принадлежащим рекламным компаниям, онлайн-трекерам и вредоносным программам. Она (как и другие аналогичные службы фильтрации DNS) работает на уровне DNS-резолвера, просто блокируя разрешение DNS-запросов к доменам из черного списка.
Подробнее о NetShield Ad-blocker
Технически это представляет собой утечку DNS (см. ниже). Это может не быть серьезной проблемой, если DNS-запрос зашифрован и вы доверяете DNS-резолверу, но это привносит в уравнение ненужную третью сторону (и, следовательно, потенциально слабое место).
Утечки DNS
При использовании VPN все DNS-запросы должны отправляться через VPN-туннель для обработки VPN-провайдером. Если по какой-либо причине DNS-запрос отправляется в обход VPN-туннеля стороннему DNS-резолверу, происходит утечка DNS. Неправильная маршрутизация DNS-запросов IPv6 через VPN-туннель — распространенная причина утечек DNS.
Поскольку этой третьей стороной, скорее всего, будет ваш интернет-провайдер, утечки DNS представляют собой серьезную угрозу для конфиденциальности. Само собой разумеется, что все приложения Proton VPN имеют надежную встроенную защиту от утечек DNS.
Распространенные типы записей DNS
Вот некоторые из основных типов записей DNS, которые можно запрашивать:
- Запись A (Address): связывает доменное имя с адресом IPv4. Пример: example.com → 192.0.2.1
- Запись AAAA (Quad A): связывает доменное имя с адресом IPv6. Пример: example.com → 2001:0db8:85a3:0000:0000:8a2e:0370:7334
- Запись CNAME (Canonical Name): связывает доменное имя с другим доменным именем, фактически создавая псевдоним для имени. Пример: www.example.com → example.com
- Запись MX (Mail Exchange): указывает почтовые серверы, отвечающие за прием электронной почты от имени домена. Пример: example.com → mail.example.com (приоритет 10 — числовое значение указывает на приоритет, при этом предпочтение отдается запросам с более низким числовым значением).
- Запись PTR (Pointer): связывает IP-адрес с доменным именем; используется в основном для обратного поиска DNS. Пример: 192.0.2.1 → example.com
- Запись NS (Name Server): указывает авторитетные серверы имен для домена. Пример: example.com → ns1.example.com, ns2.example.com
- Запись SOA (Start of Authority): содержит важную информацию о домене, включая основной сервер имен, адрес электронной почты администратора домена, серийный номер домена (который помогает управлять данными DNS и синхронизировать их на нескольких DNS-серверах), а также таймеры обновления, повторных попыток и истечения срока действия (Пример: example.com → ns1.example.com, admin.example.com, 2024041501)
- Запись TXT (Text): содержит произвольные текстовые данные, часто используемые для проверки электронной почты (например, SPF или DKIM) и других целей проверки. Пример: example.com → “v=spf1 include:example.com ~all”
- Запись SRV (Service): указывает местоположение серверов для определенных служб, таких как протокол интернет-телефонии SIP(новое окно), протокол обмена сообщениями XMPP(новое окно) и т. д. Пример: _sip._tcp.example.com → 0 5 5060 sipserver.example.com
- Запись CAA (Certification Authority Authorization): указывает, каким центрам сертификации (CA) разрешено выпускать сертификаты для домена. Пример: example.com → 0 issue “letsencrypt.org”
- Запись NAPTR (Naming Authority Pointer): используется для разрешения URL-адресов и определения правил перезаписи для различных служб, таких как VoIP. Пример: example.com → 100 50 “s” “SIP+D2U” “” _sip._udp.example.com
- DNSKEY: содержит открытый ключ подписи, используемый в DNSSEC (набор спецификаций, предназначенных для добавления дополнительного уровня безопасности для DNS).
- . Пример: example.com → 256 3 13 …
- Запись DS (Delegation Signer): содержит хеш записи DNSKEY для защиты делегирования в DNSSEC. Пример: example.com → 12345 13 2 …
- Запись SPF (Sender Policy Framework): используется для определения того, каким IP-адресам разрешено отправлять электронные письма от имени домена. Пример: example.com → “v=spf1 ip4:192.0.2.0/24 -all”
Команды DNS-запросов
Команды DNS используются для отправки запросов, тестирования и устранения неполадок в работе DNS-серверов и записей. Эти команды необходимы сетевым администраторам для обеспечения корректной работы служб DNS, поскольку DNS имеет решающее значение для разрешения доменных имен в IP-адреса.
Ниже приведены некоторые часто используемые команды DNS. Вы можете запускать эти команды в окне терминала (Linux), Терминале (macOS), командной строке (cmd) или PowerShell (Windows), либо даже в приложении эмулятора терминала на мобильном устройстве. Не все эти команды могут быть доступны «из коробки» на вашей платформе, но практически во всех случаях их легко установить.
nslookup
Команда nslookup — это инструмент для отправки запросов к DNS с целью получения сопоставления доменного имени или IP-адреса. Вы также можете указать конкретный DNS-сервер для использования и выполнить обратный поиск DNS.

dig
Команда dig (Domain Information Groper) — более мощный и гибкий инструмент для поиска IP-адресов в DNS, чем nslookup. Сетевые администраторы часто предпочитают ее из-за подробного вывода информации и расширенных параметров.

С помощью dig вы также можете запрашивать определенный тип записи DNS, опрашивать конкретный DNS-сервер и выполнять обратный поиск DNS.
host
Команда host — еще один инструмент для выполнения DNS-запросов. Она проще, чем dig, но предоставляет достаточную информацию для решения базовых задач, включая опрос конкретного DNS-сервера и выполнение обратного поиска DNS.

ping
Команда ping в первую очередь используется для проверки доступности хоста в IP-сети, но в процессе работы она также выполняет разрешение имен DNS.

traceroute / tracert
Команды traceroute (в Linux и macOS) и tracert (в Windows) используются для отслеживания пути прохождения пакета от источника к получателю. Команда разрешает доменное имя в IP-адрес и показывает каждый транзитный узел (хоп) на пути к месту назначения.

ipconfig / ifconfig
Команды ifconfig (в Linux и macOS) и ipconfig (в Windows) можно использовать для отображения конфигурации сети, включая DNS-серверы, которые использует система. При самостоятельном использовании команда отображает только активные интерфейсы. Чтобы увидеть все интерфейсы в Windows, используйте команду ipconfig /all.

Инструменты для выполнения DNS-запросов
В дополнение к инструментам командной строки, упомянутым выше, существует множество онлайн-инструментов для выполнения DNS-запросов, предоставляющих графический интерфейс пользователя (GUI) для обращения к DNS. Хорошим примером является наш бесплатный безопасный сканер IP-адресов, который позволяет выполнять обычные DNS-запросы, а также запросы MX, NS, CNAME и TXT.

Он также может выполнять обратный поиск DNS (поиск по IP-адресу).

Заключительные мысли
По сути, DNS — это просто сложная автоматизированная телефонная книга. Она делает интернет удобным для людей, но правительства могут злоупотреблять (и злоупотребляют) ею для слежки за своими гражданами и цензуры контента. Лучший способ обойти подобные злоупотребления DNS — использовать VPN-сервис, такой как Proton VPN.
VPN-сервис безопасно обрабатывает ваши DNS-запросы вместо вашего интернет-провайдера, а большинство заслуживающих доверия VPN-сервисов считают своей главной задачей защиту вашей конфиденциальности.
Конечно, VPN также предлагает множество других преимуществ, таких как скрытие вашего реального IP-адреса от посещаемых вами веб-сайтов, обеспечение повышенной защиты от возможности интернет-провайдеров отслеживать или подвергать цензуре вашу активность в интернете, возможность смотреть любимый контент в путешествиях и многое другое.







