2021: «Ростелеком» запретил использование публичных DNS-серверов Google, Cloudflare и сервиса DoH
13 сентября 2021 года появилась информация о том, что «Ростелеком» направил своим подразделениям официальное письмо, запрещающие применение публичных DNS-серверов , Cloudflare и сервиса DoH (doh.opendns.com).
Согласно документу, подразделениям «Ростелекома» дается указание «запретить к использованию для выдачи абонентам с BRAS/DHCP и в технологических сетях адресов DNS Google (8.8.8.8, 8.8.4.4), Cloudflare (1.1.1.1, 1.0.0.1) и сервиса doh.opendns.com».
Как пишет Telegram-канал «Двач», «Ростелеком», вероятно, действует согласно указаниям Роскомнадзора и таким образом прорабатывается блокировка Рунета.
Как ранее сообщалось, в сентябре Роскомнадзор планирует протестировать блокировку ряда иностранных интернет-протоколов, скрывающих имя сайта, включая DoH, который внедряют Mozilla и Google. Такие протоколы могут затруднить блокировку доступа к запрещенным ресурсам.
«Ростелеком» решил заблокировать DNS-серверы Google, Cloudflare
Чтобы сохранить работоспособность сетей, ведомство рекомендовало компаниям до 9 сентября подключиться к DNS-сервисам российских операторов связи или Национальной системе доменных имен (НСДИ).
Вместо указанных серверов и DoH «Ростелеком» предложил использовать DNS-серверы под собственным управлением или IP-адреса Национальной системы доменных имен.
В пресс-службе компании рассказали, что благодаря этому планируется повысить надежность и оптимизацию работы сетей связи. По словам источника издания на ИТ-рынке, «Ростелеком» хочет унифицировать все DNS-серверы, на которые настроены устройства российских абонентов.
DNS-серверы позволяют обмениваться запросами и ответами по шифрованному протоколу. Они могут использоваться, чтобы, например, ускорить загрузку веб-страниц или обойти блокировку в приложениях.
Технический директор «Роскомсвободы» Станислав Шакиров рассказал РБК, что компании заранее переводят клиентов на другие серверы на случай возможной блокировки публичных DNS-серверов Google и Cloudflare. Анонимный источник издания полагает, что основная цель ограничений — прекратить работу протокола DoH, поскольку на мобильных сетях практически нет проблем с блокировкой доступа к запрещенным сайтам.
Независимый эксперт в области информационной безопасности Алексей Лукацкий считает, что блокирование публичных DNS-серверов — это часть кампании, в рамках которой на прошлой неделе некоторые госкомпании разослали письмо своим «дочкам», а Банк России — финансовым организациям с просьбой проверить, есть ли у компаний корпоративные, технологические сети и приложения, которые используют протоколы шифрования, скрывающие имя сайта (DNS-сервера Google, Cloudflare и сервис DoH). По мнению Лукацкого, такие действия ведут к существенному ограничению публичных DNS-серверов Google и Cloudflare в России.
Настройка DNS-серверов имен на сервере Ubuntu
Раньше всякий раз, когда вы хотели настроить преобразователи DNS в Linux, вы просто открывали файл , редактировали записи, сохраняли файл, и все готово. Этот файл все еще существует, но это символическая ссылка, управляемая службой systemd-resolved, и ее не следует редактировать вручную.
Файлы конфигурации Netplan хранятся в каталоге . Вероятно, вы найдете в этом каталоге один или два файла YAML. Имя файла может отличаться от настройки к настройке. Обычно файл называется или но в вашей системе он может быть другим.
Эти файлы позволяют настроить сетевой интерфейс, включая IP-адрес, шлюз, DNS-серверы имен и так далее.
Чтобы настроить DNS-серверы имен, откройте файл конфигурации интерфейса в текстовом редакторе :
Содержимое файла будет выглядеть примерно так:
/etc/netplan/01-netcfg.yaml
Чтобы настроить серверы имен DNS интерфейса, измените текущие IP-адреса на предпочитаемые DNS-серверы. Например, если вы хотите использовать DNS-серверы Cloudflare, вы должны изменить строку на:
DNS-серверы должны быть разделены запятыми. Вы также можете добавить более двух серверов имен.
После этого сохраните файл и примените изменения с помощью:
Netplan сгенерирует файлы конфигурации для службы, разрешенной systemd.
Чтобы убедиться, что установлены новые преобразователи DNS, выполните следующую команду:
выводит много информации. Мы используем для фильтрации строки «DNS-серверы». Результат будет выглядеть примерно так:
разрешение DNS
DNS-рекурсор
DNS-рекурсор также называется DNS resolver. Это сервер, который отвечает за прием запросов от клиентских машин через приложения, такие как интернет-браузеры.
Корневой сервер имен
Существует 13 корневых серверов, стратегически распределенных по всему миру. Функция перенаправления DNS-рецидива на сервер имен ДВУ. Это очень похоже на индекс, который работает как ссылка для определения IP-адреса узла сайта.
Сервер имен домена верхнего уровня (ДВУ)
В зависимости от ДВУ доменного имени серверы имен ДВУ различают веб-сайты, оканчивающиеся на .com, .net и .org. Затем сервер имен ДВУ перенаправляет ретранслятор на соответствующий уполномоченный сервер имен.
Авторитетный сервер имен
Серверы имен ДВУ имеют уполномоченные серверы имен, которые могут получать определенный IP-адрес для веб-доменов.
Посредством этих компонентов пользователь может получить доступ к веб-сайту, просто набрав имя веб-сайта. Далее процесс разрешения DNS разбит на следующие этапы:
- Пользователь вводит доменное имя в веб-браузер.
- Контакты и запросы устройства DNS повторяются. DNS-рецидивы могут иметь IP-адрес сайта, кэшированный в их базе данных.
- Если информация еще не попала в их систему, DNS запрашивает корневые DNS-серверы имен, которые, в свою очередь, перенаправляют ее на указанный сервер ДВУ на основе ДВУ веб-сайта.
- Каждый ДВУ имеет свой собственный набор серверов имен. Они направляют повторяющиеся запросы на уполномоченный сервер имен, основанный на домене второго уровня, и повторяющиеся запросы на упомянутый уполномоченный сервер имен.
- Рекурсор извлечет данные и сохранит запись в локальном кэше. Затем он посылает IP-адрес на ваш компьютер, который считывает и передает IP-адрес вашему браузеру.
- Теперь ваш браузер имеет доступ к веб-сайту.
Что такое публичный DNS-сервер?
В приведенном выше сценарии мы ссылались на «запрашивающего”. Что же это может значить?
Почти во всех случаях запрашивающим будет являться то, что мы называем «публичный DNS-сервер». Этот сервер настроен на отправку запросов другим серверам. По сути, это посредник для пользователя, который кэширует предыдущие результаты запроса для повышения скорости и знает адреса корневых серверов, способных преобразовать запросы, сделанные для данных, информацией о которых он уже не владеет.
Как правило, пользователь будет иметь несколько публичных DNS-серверов, настроенных на их компьютерной системе. Публичные DNS-серверы обычно предоставляются ISP или другими организациями. Например, Google предоставляет публичные DNS-сервера, которые вы можете запросить. Они могут быть настроены на вашем компьютере автоматически или вручную.
При вводе URL в адресной строке браузера ваш компьютер прежде всего проверяет, может ли он найти, где находится ресурс, на локальном уровне. Он проверяет «узлы» файлов на компьютере и других местах. Затем он отправляет запрос на публичный DNS-сервер и ожидает получить обратно IP-адрес ресурса.
Затем публичный DNS-сервер проверяет свой кэш на наличие ответа. Если он не найдет то, что необходимо, он проделает шаги, указанные выше.
Публичные DNS-серверы по сути сжимают процесс отправки запроса для конечного пользователя. Клиенты просто должны не забывать спрашивать публичный DNS-сервер, где находится ресурс, и быть уверенными, что они найдут окончательный ответ.
Добавление почтового сервера в белые списки
Итак, если всё вышеперечисленное настроено правильно, другие почтовые серверы по-прежнему могут отмечать сообщения как спам и отклонять их. Это бывает, когда IP (или его диапазон) домена попадает в какой-то черный список. Чаще всего причиной этого является использование соседних IP-адресов для рассылки спам-сообщений.
Внесение в белый список в публичных источниках
Итак, сначала проверим IP (и, если необходимо, домен) онлайн на наличие в каких-либо черных списках. Его можно проверить в любом онлайн-чекере, который можно найти через поиск. Например, MXToolBox проверяет самые популярные черные списки. Также, multirbl.valli.org показывает много источников черного списка и доверие к каждому из них.
Затем нужно последовательно просмотреть каждый элемент в результатах и прочитать рекомендации о том, как внести IP-адрес в белый список в конкретном источнике черного списка. Но не все из них могут позволить это сделать бесплатно, например, немецкий UCEPROTECT-Network.
Кстати, тут на habr обсуждалась автоматизация мониторинга IP в блэклистах.
Внесение в белый список определенных почтовых серверов
Некоторые серверы, такие как Outlook, имеют свои собственные черные списки. Проверка проста — приложение почтового сервера уведомит о неудачной доставке в почтовом клиенте. Большинство почтовых серверов предоставляют в ответе URL-адреса разблокировки. Таким образом, нужно открыть такой URL и следовать инструкциям, например, как этот.
Обход черных списков
Если какой-то официальный черный список не разрешает добавление в исключения или когда-нибудь почта перестает отправляться на определенный домен — можно использовать . Они позволяют использовать их в качестве шлюзов (или прокси) при отправке почты.
-
MailerSendОдин из самых дешевых — позволяет бесплатно отправлять 20 тысяч писем в месяц и имеет низкую стоимость дополнительной отправки. Но есть особенность: поля CC и BCC пока не поддерживаются.
-
SendInBlueЭто еще один хороший сервис, который позволяет отправлять 9 тысяч писем в месяц с лимитом 200 в день. Но есть нюансы: встроенное отслеживание электронной почты нельзя отключить и высоковатая цена сверх бесплатного лимита.
В каждой службе нужно зарегистрироваться и получить подтверждение почтового домена. После подтверждения, каждый из них дает указания на то, что должно быть настроено для DNS (DKIM, SPF и DMARK) и почтового приложения (адрес сервера ретрансляции SMTP, порт и учетные данные).
Создание файла зоны DNS
Дальнейшие примеры будут для Ubuntu/Debian, но также подходят и для Centos/RedHat, только директория с настройками зон в CentOS будет находиться в /etc/named/ , а основной файл конфигурации /etc/named.conf . Для начала нам потребуется создать новый файл зоны для домена itproffi.ru. Перейдите в директорию /etc/bind/ . создайте в ней поддиректорию zones/master/ и перейдите в нее, выполнив следующую последовательность команд:
Директория /etc/bind/zones/master будет содержать файл зоны для домена itproffi.ru. При желании можно использовать другую директорию. Файл зоны db.itproffi.ru будет содержать запись DNS, которая поможет серверу имен установить соответствие полного доменного имени IP-адресу. Создайте этот файл со следующим содержимым:
Рассмотрим ключевые строки этого файла:
- Запись SOA: авторитативный сервер имен для itproffi.ru – это ns1.itproffi.ru, адрес ответственного за зону DNS администратора – admin@itproffi.ru
- Записи NS: два сервера имен для зоны itproffi.ru – ns.itproffi.ru
- Запись MX: почтовый сервер для itproffi.ru. Число 10 означает уровень приоритета
- Записи A: A означает «адрес» (address). Другими словами, ns1 в зоне itproffi.ru будет иметь адрес 172.31.1.10
- Запись CNAME (Canonical Name – каноническое имя): привязывает одно доменное имя к другому (каноническому), например, устанавливает соответствие mail.itproffi.ru и itproffi.ru.
Как работает DNS
Доменное имя содержит, как минимум, две части (обычно называются метками), разделённые точкой. Самая правая метка является доменом верхнего уровня (например, для адреса ru.wikipedia.org домен верхнего уровня — org). Каждая следующая метка справа налево является поддоменом (например, wikipedia.org — поддомен домена org, а ru.wikipedia.org — домена wikipedia.org). Теоретически такое деление может достигать глубины 127 уровней, а каждая метка может содержать до 63 символов, пока общая длина вместе с точками не достигнет 254 символов. Но на практике регистраторы доменных имён используют более строгие ограничения.
Система DNS содержит иерархию серверов DNS. Каждый домен или поддомен поддерживается как минимум одним авторизированным сервером DNS, на котором расположена информация о домене. Иерархия серверов DNS совпадает с иерархией доменов.
Рассмотрим на примере работу всей системы.
Предположим, мы набрали в браузере адрес ru.wikipedia.org. Браузер знает только IP-адрес сервера DNS, обычно это один из серверов интернет-провайдера. Он спрашивает у сервера DNS: «какой IP-адрес у ru.wikipedia.org?». Сервер DNS обращается к корневому серверу — например, 198.41.0.4. Этот сервер сообщает — «У меня нет информации о данном адресе, но я знаю, что 204.74.112.1 поддерживает доменную зону org.» Браузер направляет свой запрос к 204.74.112.1, но тот отвечает «У меня нет информации о данном сервере, но я знаю, что 207.142.131.234 поддерживает доменную зону wikipedia.org.» Наконец, браузер отправляет свой запрос к третьему DNS-серверу (который является авторизированным сервером для домена wikipedia.org), и получает ответ — IP-адрес. Этот процесс называется рекурсивным поиском.
Имя хоста и IP-адрес не тождественны — хост с одним IP может иметь множество имён, что позволяет поддерживать на одном компьютере множество веб-сайтов (это называется виртуальный хостинг). Обратное тоже справедливо — одному имени может быть сопоставлено множество хостов: это позволяет создавать балансировку нагрузки.
Запрос на определение имени обычно не идёт дальше кэша DNS, который помнит (ограниченное время) ответы на запросы, проходившие через него ранее. Организации или провайдеры могут по своему усмотрению организовывать кэш DNS. Обычно вместе с ответом приходит информация о том, сколько времени следует хранить эту запись в кэше.
Для повышения устойчивости системы используется множество серверов, содержащих идентичную информацию. Существует 13 корневых серверов, расположенных по всему миру и привязанных к своему региону, их адреса никогда не меняются, а информация о них есть в любой операционной системе.
Протокол DNS использует для работы TCP- или UDP-порт 53 для ответов на запросы. Традиционно запросы и ответы отправляются в виде одной UDP датаграммы. TCP используется в случае, если ответ больше 512 байт, или в случае AXFR-запроса.
Ключевые характеристики DNS
DNS обладает следующими характеристиками:
- Распределённость хранения информации. Каждый узел сети в обязательном порядке должен хранить только те данные, которые входят в его зону ответственности и (возможно) адреса корневых DNS-серверов.
- Кеширование информации. Узел может хранить некоторое количество данных не из своей зоны ответственности для уменьшения нагрузки на сеть.
- Иерархическая структура, в которой все узлы объединены в дерево, и каждый узел может или самостоятельно определять работу нижестоящих узлов, или делегировать (передавать) их другим узлам.
- Резервирование. За хранение и обслуживание своих узлов (зон) отвечают (обычно) несколько серверов, разделённые как физически, так и логически, что обеспечивает сохранность данных и продолжение работы даже в случае сбоя одного из узлов.
DNS важна для работы Интернета, ибо для соединения с узлом необходима информация о его IP-адресе, а для людей проще запоминать буквенные (обычно осмысленные) адреса, чем последовательность цифр IP-адреса. В некоторых случаях это позволяет использовать виртуальные серверы, например, HTTP-серверы, различая их по имени запроса. Первоначально преобразование между доменными и IP-адресами производилось с использованием специального текстового файла HOSTS, который составлялся централизованно и обновлялся на каждой из машин сети вручную. С ростом Сети возникла необходимость в эффективном, автоматизированном механизме, которым и стала DNS.
DNS была разработана Полом Мокапетрисом в 1983 году; оригинальное описание механизмов работы описано в RFC 882 и RFC 883. В 1987 публикация RFC 1034 и RFC 1035 изменили спецификацию DNS и отменили RFC 882 и RFC 883 как устаревшие. Некоторые новые RFC дополнили и расширили возможности базовых протоколов.
Как проверить DNS в Windows
Что ж, чтобы проверить DNS-сервер, который вы используете в Windows, вам нужно использовать CMD. Для этого щелкните правой кнопкой мыши кнопку «Пуск» и выберите «Командная строка (администратор)» .
Теперь в командной строке вам нужно ввести следующую команду
Эта команда отобразит вам текущий DNS-сервер, который вы используете. Вы также можете использовать другой метод, чтобы узнать DNS-сервер в Windows. Для этого вам необходимо ввести следующую команду, указанную ниже.
Как ускорить интернет за 2 минуты изменив DNS на Windows 10, 7, XP
Вы можете выбрать любой домен сайта вместо Google.com. Команда выведет список текущего DNS-сервера. Теперь вы знаете аж две команды CMD, и можете определить DNS на компьютере с Windows.
Как проверить DNS-сервер — Mac и Linux
Что ж, на компьютерах на базе Mac и Linux вам нужно ввести ту же команду CMD, чтобы узнать, какой DNS-сервер вы используете. Просто введите команду, указанную ниже, чтобы выполнить nslookup на любом веб-сайте.
Опять же, вы можете заменить Google.com любым веб-сайтом по вашему выбору. Итак, вот как вы можете проверить DNS-сервер на компьютере Mac и Linux.
Как проверить DNS-сервер на Android
Что касается проверки DNS-сервера на Android, у нас есть множество приложений для сканирования сети в Google Play Store. Вы можете использовать любое приложение сетевого сканера на Android, чтобы узнать, какой DNS-сервер использует ваш Android. Вы можете использовать такие приложения, как Network Info II, которые бесплатны и не показывают рекламы.
В Network Info II вам нужно посмотреть вкладку WiFi, а затем проверить записи DNS1 и DNS2. Это DNS-адреса, которые использует ваш телефон.
Как найти DNS-сервер на iOS
Что ж, как и Android, iOS также имеет множество приложений для сканирования сети для поиска DNS-сервера. Одно из популярных приложений для сканирования сети для iOS известно как Network Analyzer. Network Analyzer для iOS предоставляет много полезной информации о вашей сети Wi-Fi.
Итак, на iOS вы можете использовать Network Analyzer, а затем посмотреть IP-адрес DNS-сервера.
Как узнать DNS-сервер роутера
Ну, для тех, кто не знает, роутер использует DNS-сервер, назначенный интернет-провайдером. Однако это можно изменить, следуя рекомендациям, приведенным в этой статье. В случае, если вы хотите узнать, какой DNS-сервер использует ваш маршрутизатор, перейдите по IP-адресу роутера (192.168.1.1 или 192.168.0.1) и войдите в систему, указав имя пользователя и пароль.
Теперь вы увидите домашнюю страницу маршрутизатора. В зависимости от режима маршрутизатора вам необходимо проверить вкладку «Беспроводная сеть» или «Сеть». Там вы найдете параметры записи DNS 1 и DNS 2. Если вы хотите изменить DNS роутера, там вы можете указать новый адрес DNS.
Уровни DNS
Дерево DNS принято делить по уровням: первый, второй, третий и так далее. При этом начинается система с единственного корневого домена (нулевой уровень). Интересно, что про существование корневого домена сейчас помнят только специалисты, благодаря тому, что современная DNS позволяет не указывать этот домен в адресной строке. Впрочем, его можно и указать. Адресная строка с указанием корневого домена выглядит, например, так: «site.test.ru.» – здесь корневой домен отделен последней, крайней справа, точкой.
Как несложно догадаться, адреса с использованием DNS записываются в виде последовательности, отражающей иерархию имен. Чем «выше» уровень домена, тем правее он записывается в строке адреса. Разделяются домены точками. Разберем, например, строку www.site.nic.ru. Здесь домен www – это домен четвертого уровня, а другие упомянутые в этой строке домены расположены в домене первого уровня RU. Например, site.nic.ru – это домен третьего уровня
Очень важно понимать, что привычный адрес веб-сайта, скажем, www.test.ru, обозначает домен третьего уровня (www), расположенный внутри домена второго уровня test.ru.
Зачем нужен DNS-сервер
Есть две основные функции:
- Хранение информации — какой IP-адрес относится к домену.
- Кеширование записей других серверов.
С первой функцией всё просто и понятно. У DNS-сервера есть список имён и относящихся к ним адресов. Когда он получает запрос, он отдаёт нужную информацию.
С кешированием всё немного сложнее. На большинстве серверов не хранится вся информация обо всех именах и IP, существующих в интернете.
Представим, что пользователь из Китая хочет попасть на веб-ресурс, информация об IP-адресе которого находится на DNS-сервере в Америке. Если каждый раз, когда пользователь открывает ссылку, браузер будет отправлять запрос в Америку, страница будет загружаться очень долго. Поэтому браузер отправляет запрос к серверу, принадлежащему оператору связи. Они обычно располагаются ближе к конечным пользователям.
Сервер оператора связывается с американским, получает адрес ресурса и сохраняет информацию у себя в кеше. И в другой раз, когда пользователь из Китая решит зайти на этот веб-сервис, у DNS-сервера оператора уже будет нужный IP, и страница откроется быстрее.
Это и называется кешированием.
Правда, хранится кеш недолго. Сколько времени данные будут лежать на сервере, зависит главным образом от параметра TTL запрашиваемой ресурсной записи (о том, что такое ресурсные записи, мы расскажем ниже).
Чтобы лучше понять, как всё это работает, давайте сначала разберёмся, какие в принципе существуют DNS-серверы.
Быстрые ДНС-серверы
Само понятие «ДНС» возникло на заре создания глобальной сети «Интернет». Серверы необходимы, чтобы транслировать цифровое значение адреса в буквенный. Так удобнее для восприятия конечного пользователя. Со временем технологии развились, появились другие провайдеры с локальными адресами ДНС.
Каждый поставщик публичных глобальных DNS-серверов предлагает пару: первый – основной, а второй — альтернативный DNS, или резервный.
Использование внешнего ДНС гарантирует «юзеру» бесперебойный доступ к «мировой паутине». Это объясняется тем, что крупные поставщики услуг имеют резервную систему ДНС. То есть, гарантируют конечному потребителю доступность интернета.
Простой вывод команды dig
По-умолчанию при обычном запросе выводятся А записи, как показано ниже в выводе
$ dig google.com ; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35727 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 65494 ;; QUESTION SECTION: ;google.com. IN A ;; ANSWER SECTION: google.com. 73 IN A 172.217.16.142 ;; Query time: 16 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: Sun Jan 05 12:00:54 +03 2020 ;; MSG SIZE rcvd: 55
Команда dig содержит следующие секции:
Заголовок (Header): Здесь отображается версия dig, глобальные параметры, используемые командой dig, и несколько дополнительных сведений о заголовке.
Секция запроса (QUESTION SECTION): Отображает вопрос, который он задал DNS. То есть это Ваш запрос.
Секция ответа (ANSWER SECTION): Отображает ответ, который он получает от DNS. A записи в нашем случае.
Секция полномочий (AUTHORITY SECTION): Здесь отображается сервер DNS, который имеет полномочия отвечать на этот запрос. Отображает доступные NS серверы для google.com в нашем случае.
Секции дополнительные (ADDITIONAL SECTION): Здесь отображается IP адреса серверов имен, перечисленных в разделе полномочия.
В секции Статистика (Stats section) внизу отображается немного информации о команде dig включая сколько времени потребовалось для выполнения этого запроса.