Удалённый узел K-root в Селектеле
keeper

Прошедший месяц оказался для нас богатым на интересные события. Вот ещё одна новость: теперь у нас размещён один из узлов корневого DNS-сервера K-root. О том, как нам это удалось, мы подробно расскажем в этой статье.

Корневые DNS-серверы: краткая справка

Как известно, система DNS используется в Интернете для обеспечения связи между доменными именами и IP-адресами. Высший уровень иерархии DNS занимают корневые серверы. Они содержат информацию обо всех доменах верхнего уровня (TLD). Эта информация указывает, на какие авторитетные NS-серверы нужно отправлять последующий запрос для рекурсивного разрешения доменного имени.

Система DNS была создана в 1980-х годах. С этого времени и вплоть до 2000-го года система корневых DNS-серверов состояла из первичного сервера (сначала он назывался ns.internic.net, но потом был переименован в a.root-servers.net) и его реплик, впоследствии получившим имена по буквам латинского алфавита: b.root-servers.net, c.root-servers.net и так далее — до m.root-servers.net. Каждый из тринадцати корневых серверов управляется отдельным оператором.

Начиная с начала 2000-х годов в системе корневых серверов используется технология Anycast. Это способствовало существенному расширению её географии и повышению уровня надёжности. Вокруг каждого корневого сервера выстроена система обслуживающих узлов, расположенных по всему миру.

Операторoм системы серверов K-root является некоммерческая организация RIPE NCC. Рассмотрим подробнее, как устроена система K-root с архитектурной точки зрения.

Архитектура системы K-root

Весной этого года система K-root перешла на новую, модернизированную архитектуру. Чтобы лучше понять суть всех последних изменений, рассмотрим вкратце, как всё было устроено раньше.

В старой архитектуре все узлы системы K-root подразделялись на два типа: основные (core nodes) — мощные DNS-серверы с отдельной системой маршрутизаторов и коммутаторов и локальные (local nodes). В состав каждого локального узла входили следующие элементы:

  • роутер, который анонсировал сети k.root участникам точки обмена трафиком;
  • два NS-серверы для обработки запросов;
  • коммутатор.

Графически эту схему можно представить так:

PR-1360-ru

В новой архитектуре понятие «локальный узел» отсутствует вообще. Вместо него используется понятие «удалённый узел» (hosted node). Удалённые узлы организованы на базе серверов Dell (о технических требованиях к этим серверам речь ещё пойдёт ниже). В их состав не входит никакого сетевого оборудования. Серверы, на которых установлено специализированное ПО, сами устанавливают BGP-сессию с маршрутизаторами предоставляющего хостинг оператора и анонсируют префикс K.Root.

Сервер отвечает за анонсирование префикса K.Root от имени AS25152. Благодаря технологии Anycast различие между основным и удалёнными узлами по сути нивелируется.

Управление конфигурациями в новой архитектуре осуществляется с помощью Ansible, что позволяет ускорить и автоматизировать процессы развёртывания ПО. На разных узлах установлены разные DNS-серверы: BIND, NSD и Knot. Узнать, какой сервер именно сервер используется на ближайшем к вам узле k.root, можно с помощью утилиты dig:

$ dig @k.root-servers.net version.bind chaos txt +short
"Knot DNS 1.6.4"

$ dig @k.root-servers.net version.bind chaos txt +short
"NSD 4.1.3"

Изменилась и система внутренней маршрутизации. На смену протоколу OSPF (Open Shortest Path First) пришёл iBGP. Для анонсирования префиксов используется exabgp.

Технические требования к локальным узлам

К серверам, выступающим в качестве локальных узлов K-root, RIPE NCC предъявляет следующие требования:

  • модель семейства Dell Power Edge 2xx (предпочтительнее — R320 или R420);
  • минимум 16 ГБ оперативной памяти;
  • многоядерный процессор;
  • RAID-контоллер PERC H310
  • два SATA-диска ёмкостью 500 ГБ каждый;
  • наличие интегрированного контроллера удалённого доступа iDRAC 7 Enterprise;
  • наличие у сервера двух блоков питания;
  • выделение IP-адресов (как IPv4, так и IPv6).

Хостинг К-root: как это получилось у нас

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

О планах по расширению системы K-root мы узнали в апреле 2015 года. Среди кандидатов на расположение новых узлов системы K-root проводился конкурс, в ходе которого оценивались технические и организационные возможности потенциальных хостеров. Немаловажным критерием отбора на этом конкурсе является наличие хорошей связности. Только хорошая связность может быть гарантией того, что новый сервер сможет обслуживать большое количество клиентов.
Мы оформили все необходимые документы, и вскоре наша кандидатура была одобрена.

После этого мы заказали сервер, соответствующий предъявляемым RIPE NCC требованиям, и к августу он уже был установлен в одном из наших дата-центров.

Размещение узла K-root — проект абсолютно некоммерческий. Перед установкой сервера мы подписали с RIPE NCC протокол о взаимопонимании (образец на английском языке можно посмотреть здесь), в котором прямо указывается, что обе стороны выражают заинтересованность в улучшении связности системы DNS — и при этом ни слова о денежно-коммерческой составляющей.

Какие преимущества даёт участие в этом некоммерческом проекте нам?
Во-первых, мы получили очередное подтверждение стабильности и надёжности нашей инфраструктуры. Во-вторых, нам удалось внести собственный вклад в развитие системых корневых серверов DNS, в повышение уровня её надёжности и отказоустойчивости.

Договор о хостинге узла K-root имеет бессрочный характер. И мы, и RIPE NCC заинтересованы в развитии партнёрских отношений. Надеемся, что и в дальнейшем мы сможем принимать участие в проектах по развитию Интернета.

Что еще почитать по теме

Ульяна Малышева 11 марта 2021

Кейс VCV: как победить HR-рутину

Сервис VCV, клиент Selectel, был создан для того, чтобы сделать найм сотрудников комфортнее, объективнее, быстрее. Как работает VCV, зачем сервису искусственный интеллект и в чем разница российского и…
Ульяна Малышева 11 марта 2021
Владимир Туров 1 сентября 2020

Дело совершенно секретного iPod

Это был обычный серый день в конце 2005 года. Я сидел на рабочем месте и писал код для следующей версии iPod. Вдруг без стука ворвался директор ПО для iPod, начальник моего начальника, и закрыл дверь.
Владимир Туров 1 сентября 2020

Новое в блоге

Ульяна Малышева 22 июля 2021

DCIM-платформа Racks: почему мы отказались от энтерпрайз-решения в пользу самописного приложения

Как вести учет и контроль оборудования, если у тебя более десятка серверных в трех географически разделенных дата-центрах? Как и многие крупные провайдеры, в России и за рубежом, Selectel начал реализ…
Ульяна Малышева 22 июля 2021
Ульяна Малышева 7 июля 2021

Продуктовый дайджест: новые процессоры AMD EPYC™ и управление базами данных через Terraform

Пополнение линейки процессоров AMD EPYC™, управление кластерами «Облачных баз данных» через Terraform-провайдер Selectel и подбор идеальной инфраструктуры под «Битрикс24» и «1С-Битрикс». Подробнее — о…
Ульяна Малышева 7 июля 2021
Эллада Нуралиева 22 июня 2021

Next-Generation Firewall от FortiGate: обзор функций и подключение сервиса

Для защиты инфраструктуры от угроз часто используют межсетевые экраны. Они могут быть как программными, так и аппаратными. Типичный межсетевой экран представляет собой фильтр сетевого трафика, который…
Эллада Нуралиева 22 июня 2021
Ульяна Малышева 18 июня 2021

Selectel развернул 100 виртуальных машин для олимпиады «Я — профессионал»

Завершился четвертый сезон олимпиады «Я — профессионал», на который зарегистрировались 576 012 студентов из 348 вузов России. Selectel стал одним из партнеров трека олимпиады «Робототехника», который …
Ульяна Малышева 18 июня 2021