DNS RU:: Проект ( введение, цель, методика, реализация, результаты)

Цель исследования:
Определение автономных систем резолверов, которыми пользуются пользователи российских автономных систем.

Реализация:

  1. У хостинг-провайдера TimeWeb был арендован виртуальный сервер
  2. На виртуальном сервере была установлена операционная система debian 12
  3. Для сайта измерений и домена измерений в доменах net.ru и org.ru были зарегистрированы домены:
    • resolvers.net.ru
    • resolvers.org.ru
  4. В качестве домена измерений было решено использовать домен resolvers.net.ru
  5. Два домена необходимы согласно требованиям регистратора доменных имен для указания двух авторитетных серверов доменных имен с именами в разных доменах
  6. В качестве программного обеспечения для управления зарегистрированными доменами был выбран сервер BIND 9 (программа-демон named)
  7. Для домена resolvers.net.ru была создана зона этого домена и размещена на сервере под управление named (в качестве авторитетных серверов для этой зоны были указаны ns.resolvers.net.ru и ns.resolvers.org.ru)
  8. Для домена rsolvers.org.ru была создана зона этого домена и размещена на сервере под управление named (в качестве авторитетных серверов для этой зоны были указаны ns.resolvers.net.ru и ns.resolvers.org.ru)
  9. Две зоны были созданы дли того, чтобы можно было у регистратора указать два разных имени доменных имен для одного IP-адреса (минимальное количество серверов по условиям регистратора). как было указано в п.5.
  10. После регистрации имен авторитетных серверов у регистратора и появления их в соответствующих зонах верхнего уровня (net.ru и org.ru) стал осуществляться резолвинг домена измерений в сети Интернет штатным образом
  11. В зоне домена измерений для работы со случайными уникальными поддоменами было размещено wildcard-имя: *.resolvers.net.ru и назначен ему IP-адрес (*.resolvers.net.ru. IN A 178.253.43.227)
  12. В качестве HTTP был выбран и установлен сервер Apache2
  13. Было сконфигурировано два виртуальных сайта (resolvers.net.ru и resolvers.org.ru)
  14. Для этих двух сайтов были определены имена синонимы ( www.resolvers.net.ru и www.resolvers.org.ru)
  15. Большинство современных браузеров выдают ошибки при подключении к сайтам по протоколу HTTP без применения сертификатов TLS, поэтому для сайтов и их синонимов были получены TLS сертификаты центра сертификации Let’s Encrypt:
  16. На сайтах resolvers.net.ru и resolvers.org.ru было настроено автоматическое переназначение http-запросов в https-запросы, т.е. в запросы с использованием TLS-сертификатов
  17. На сайте resolvers.net.ru был размещен Perl-скрипт, который при обращении к нему генерирует JavaScript-код:
  18. 18. На домашних всех страницах сайтов resolvers.net.ru и resolvers.org.ru в заголовке страницы размещен вызов этого скрипта:
  19. Для сбора и обработки статистики была установлена СУБД PostgreSQL 15.6
  20. Была создана база данных dns
  21. Для работы с БД dns были созданы отдельная схема и аккаунты пользователей (роли)
  22. Для анализа логов в ОС был создан отдельный аккаунт с правами запуска скриптов анализа логов и загрузки данных в БД
  23. В этом аккаунте были размещены скрипты анализа логов, выделения из них нужных мета данных и загрузки их в БД
  24. Для данного аккаунта посредством crontab было создано расписание запуска этих скриптов
  25. Были выполнены функциональные тесты контроля всех этапов получения и обработки данных
  26. Были сформулированы формы и типы постоянных отчетов по собранным данным и на их основе созданы таблицы, оптимизированные по времени генерации отчетов
  27. Были написаны скрипты формирования этих таблиц и в crontab было составлено расписание запуска этих скриптов
  28. Для сайта resolvers.net.ru были разработаны страницы:
    1. общее описание проекта
    2. описание целей и задач проекта
    3. общее описание методики
    4. описание реализации
    5. общая статистика проекта
    6. статистика использования резолверов российскими пользователями в виде графиков, диаграмм и таблиц
  29. Для графиков, диаграмм на страницах сайта resolvers.net.ru использовался фреймворк Chart.js
  30. Для получения данных из БД измерений использовались скрипты на языке Perl c драйверами на Perl b Python
  31. Для асинхронной передачи данных из БД измерений на страницы сайта resolvers.net.ru для отрисовки графиков, гистограмм и диаграмм был использован REST API фреймворка Chart.js
  32. Для асинхронной передачи данных для отображения в виде таблиц был доработан (расширен) REST API фреймворка Chart.js
  33. Учитывая ограниченные мощности арендованной платформы виртуального хостинга, было решено размещать измерительные скрипты поэтапно с контролем «насыщения» измерений по каждой площадке измерений
  34. Для размещения на «чужом» популярном сайте скрипта измерений необходимо было с администрацией сайта договориться о легитимном разрешении ограничений CORS, для чего в настройки «чужих» популярных сайтов вносились необходимые изменения
  35. В настоящее время необходимые договоренности достигнуты для следующих сайтов и их синонимов: