Русский
Русский
English
Статистика
Реклама

Ripe ncc

Конференция ENOG17 состоится online

19.09.2020 00:21:00 | Автор: admin

В этом году ENOG17 и Региональная Встреча RIPE NCC будут проходить с 9 по 13 ноября в форме виртуального мероприятия.

Традиционно, главными темамиENOGявляются технологии интернет, передовые подходы к управлению сетями, взаимодействие сетей, а также вопросы сотрудничества и координации между игроками Интернет-рынка.

Впервые конференция ENOG прошла в 2011 году в Москве. С тех пор она проводилась в разных городах и странах: России (Москва, Санкт-Петербург и Казань), Украине (Киева и Одесса), Азербайджане (Баку), Армении (Ереван), Беларуси (Минск), Грузии (Тбилиси). В онлайн-формате конференция проводится впервые, хотя формат удаленных докладов для неё не нов (например, в 2018 году Женя Линькова из Google в Москве рассказывала про IPv6 в корпоративных сетях из Австралии).

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

Программному комитету конференции ищет доклады о проблемах, инструментах, опыте работы и тенденциях в таких областях, как:

  • Ключевые интернет- и сетевые технологии

    • Новые протоколы и технологии: сегментная маршрутизация, QUIC, 5G и др.

    • Протоколы внутренней и внешней маршрутизации

    • Опыт внедрения новых технологий (например, IPv6 и DNSSEC), тенденции и статистика

    • Программно-определяемые сети и автоматизация сети

    • Интернет вещей (IoT)

  • Тенденции развития интернета

    • Новые технологии, области их использования и эволюция экосистем Интернета

    • Интернет-измерения, аналитика и прогнозы развития Интернета

  • Координация, управление и регулятивная практика в интернете

    • Относящееся к Интернету законодательство и его влияние, многосторонняя модель, препятствия и возможности

    • Общественные инициативы и проекты в области управления использованием Интернета, координации, исследования и внедрения новых технологий

  • Пиринг и точки обмена трафиком

    • Коммерческие, технические и социальные аспекты сетевого взаимодействия

  • Эксплуатация сетей и сетевая безопасность

    • Практический опыт и лучшие передовые методы, тенденции в сетевой безопасности и сопутствующих технологиях, обзор рисков.

    • Предотвращение DDoS-атак

  • Доставка контента (CDN)

    • Технологии, архитектура и бизнес-модели

Если вы хотите предложить свой доклад для включения в программуENOG17, пожалуйста, предоставьте тезисы доклада и черновой вариант презентации с помощью онлайн-системы:
https://www.enog.org/ru/submit-topic/submission-form/.

Докладчики должны указать, сколько времени требуется на доклад. Обычно время выделяется согласно формату доклада:

  • Пленарный доклад: 20-25 минут презентации и 5-10 минут обсуждения

  • Учебные курсы и мастер-классы: до трех часов

  • BoF-сессия: приблизительно один час в вечернюю сессию

  • Блиц-доклад: 10 минут в сумме на презентацию и обсуждение

(Конечно, при необходимости можно обсудить и создание нового формата)

В случае возникновения сомнений, к какому именно формату относится ваш доклад, не стесняйтесь обращаться за уточнениями в Программный комитет.

Правила подачи заявок и форматы презентаций опубликованы здесь.

Для участия с докладом в пленарной части конференции или семинаром просим вас прислать тезисы не позднее 11 октября. Тезисы и доклады принимаются на русском и английском языках. Во время конференции обеспечивается синхронный перевод всех пленарных докладов. Доклады рекламного или коммерческого характера не принимаются.

Если вы можете порекомендовать интересный доклад и докладчика, пришлите, пожалуйста, свое предложение в Программный комитет.

Подробнее..

Из песочницы RIPE Atlas

22.07.2020 18:16:54 | Автор: admin
Всем доброго времени суток! Свою дебютную статью на habr хочу посвятить весьма интересной теме системе контроля качества сети Интернет RIPE Atlas. Частично поле моих интересов затрагивают вопросы исследования Интернета или киберпространства (термин стремительно набирает популярность, особенно в научных кругах). Материалов по RIPE Atlas в интернете, в том числе на habr, предостаточно, но мне они показались недостаточно целостными. По большей части в статье использовалась информация с официального сайта RIPE Atlas и собственные соображения.

image

Вместо предисловия


Региональным интернет регистратором (RIR), поле ответственности которого распространяется на Европу, Центральную Азию и Ближний Восток является RIPE NCC (Rseaux IP Europens Network Coordination Centre Сетевой координационный центр Европейских IP сетей). RIPE NCC некоммерческая организация, расположенная в Нидерландах. Поддерживает работу Интернета. Предоставляет IP-адреса и номера автономных систем местным интернет провайдерам и крупным организациям.

Одним из ведущих проектов RIPE NCC, направленных на исследование состояния Интернета, является RIPE Atlas (начат в конце 2010 года), который стал развитием Службы тестового измерения трафика (Test Traffic Measurement Service), прекратившей свою работу в 2014 году.

RIPE Atlas глобальная сеть датчиков, которые производят активные измерения состояния Интернета. В настоящее время в сети RIPE Atlas тысячи датчиков и их число постоянно растет. RIPE NCC агрегирует собираемые данные и условно бесплатно предоставляет их в удобном виде пользователям.

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

Как правило RIPE Atlas используют:

  • для отслеживания доступности своей сети с различных точек в Интернете;
  • для исследования и устранения неполадок в сети с помощью быстрой и гибкой проверки подключения;
  • в системе мониторинга собственной сети;
  • для мониторинга доступности инфраструктуры DNS;
  • проверки подключения по протоколу IPv6.

RIPE Atlas


Как уже говорил, RIPE Atlas представляет собой систему датчиков, которые расположены в сети Интернет и находятся под единым административным управлением. Помимо обычных датчиков (Probes) бывают более продвинутые якоря (Anchors).

На середину 2020 года система RIPE Atlas насчитывает более 11 тысяч активных датчиков и более 650 активных якорей, которые в совокупности производят более 25 тысяч измерений и получают более 10 тысяч результатов в секунду.

На графиках ниже показан рост числа датчиков и якорей.

image

image

А на следующих рисунках представлена карта Мира с указанием местоположения датчиков и якорей, соответственно.



image

Несмотря на региональный статус RIPE NCC, сеть RIPE Atlas покрывает практически весь мир, при этом Россия входит в топ-5 по количеству установленных датчиков (568), наряду с Германией (1562), США (1440), Францией (925) и Великобританией (610).

Управляющие серверы


При изучении работы датчика обнаружилось, что он периодически (каждые 4 минуты) проверяет связь с некоторыми объектами в сети, в число которых входят корневые DNS-серверы и узлы, с доменными именами вида ctr-sin02.atlas.ripe.net, полагаю, которые являются управляющими серверами сети RIPE Atlas.

На официальном сайте информации об управляющих серверах я не нашел, но можно предположить, что в их задачи входит управление датчиками, а также агрегирование и обработка данных. Если моя догадка верна, то существует по крайней мере 6 управляющих серверов, из них расположены в США 2, Нидерландах 2, Германии 1, Сингапуре 1. На всех серверах открыт порт 443.

Если кто-то обладает большей информацией о управляющих серверах сети RIPE Atlas прошу внести ясность в этот вопрос.

Датчик


image

Датчик RIPE Atlas представляет собой небольшое устройство (TP-Link 3020), которое запитывается от USB и подключается к порту Ethernet маршрутизатора с помощью сетевого кабеля. В зависимости от модели датчик может иметь чипсет Atheros AR9331, 400 МГц, 4 МБ flash и 32 Мб ОЗУ или чипсет MediaNek MT7628NN, 575 МГц, 8 МБ flash и 64 Мб ОЗУ.

Якорь


image

Якорь это усовершенствованный датчик, обладающий гораздо большей производительностью и измерительной способностью. Представляет собой устройство в стандартном 19-дюймовом исполнении на аппаратной платформе APU2C2 или APU2E2 с 4-х ядерным процессором 1 ГГц, 2 Гб ОЗУ, 3 портами Gigabit Ethernet и 250 Гб SSD-накопителем. Стоимость якоря составляет порядка 400 $.

Установка и управление датчиком


Как уже говорил, датчики распространяются бесплатно с целью их установки в свою инфраструктуру. При запросе датчика указывается страна, город и номер автономной системы, где он будет располагаться. В ответ на мой запрос RIPE NCC прислал такое сообщение.

К сожалению, ваша заявка не соответствует нашим критериям для получения аппаратного датчика в настоящее время. Хотя наша цель состоит в том, чтобы как можно шире распространять датчики RIPE Atlas, похоже, что уже имеется достаточно устройств, подключенных либо в пределах указанной вами ASN, либо в сети, в которую вы подали заявку, либо в стране, в которой вы подали заявку.

Не беда. В таком случае можно установить программный датчик, например, на виртуальную машину, домашний сервер или маршрутизатор ограничений на местоположение и автономную систему нет. Поддерживаются CentOS, Debian, Raspbian и Turris OS. Для развертывания нужно скачать и установить соответствующее программное обеспечение, например из репозитория на GitHub.

Установка программного датчика достаточно проста. Например, для установки в CentOS 8 нужно выполнить команды:

curl -O 'https://ftp.ripe.net/ripe/atlas/software-probe/centos8/noarch/ripe-atlas-repo-1-2.el8.noarch.rpm'

yum install ripe-atlas-repo-1-2.el8.noarch.rpm

и зарегистрировать датчик, при этом необходимо предоставить SSH-ключ, который находится в /var/atlas-probe/etc/probe_key.pub, а также указать номер автономной системы и свой город. В письме напомнили о необходимости корректного указания местоположения датчика.

Управление датчиком ограничивается возможностью разделения измерительного ресурса с другими пользователями, настройки уведомлений о простоях, а также стандартными сетевыми настройками (адрес, шлюз по умолчанию и т.д.).

Измерения


Наконец добрались до проведения измерений. Настройка заданий на проведение измерений производится из личного кабинета. Там же можно обратиться к результатам.

Формирование задания на измерение состоит из трех шагов: выбор типа измерения, выбор датчика, выбор периода измерения.

Измерения могут быть следующих типов: ping, traceroute, DNS, SSL, HTTP, NTP. Детальные настройки конкретного типа измерения, исключая специфические, обусловленные конкретным протоколом или утилитой, включают: целевой адрес, протокол сетевого уровня, количество пакетов в измерении и время между измерениями, размер пакета и время между пакетами, степень случайного смещения времени начала отправки пакетов.

Выбор датчиков возможен по их идентификатору или стране размещения, региону, автономной системе, тегу и т.д.

Период проведения измерений задается временем начала и окончания.

Результаты измерений доступны на сайте в личном кабинете, которые также возможно получить в формате json. В общем, результаты измерений представляют собой количественные показатели, характеризующие доступность некоторого узла или сервиса.

Для пользователя возможности измерений представлены широким, но весьма ограниченным спектром. Однако, очевидно, что возможности системы предполагают генерацию пакетов практически любой конфигурации, что открывает куда более широкие возможности для измерения состояния сети Интернет.

Ниже представлен пример необработанных результатов однократных измерений с настройками по умолчанию. В измерениях типа ping, traceroute и SSL в качестве цели был выбран IP-адрес habr.com, DNS IP-адрес DNS сервера Google, NTP IP-адрес NTP сервера ntp1.stratum2.ru. Во всех измерениях использовался один датчик, расположенный во Владивостоке.

Ping
[{"fw":4790,"lts":18,"dst_name":"178.248.237.68","af":4,"dst_addr":"178.248.237.68","src_addr":"192.168.0.10","proto":"ICMP","ttl":55,"size":48,"result":[{"rtt":122.062873},{"rtt":121.775641},{"rtt":121.807897}],"dup":0,"rcvd":3,"sent":3,"min":121.775641,"max":122.062873,"avg":121.882137,"msm_id":26273241,"prb_id":4428,"timestamp":1594622562,"msm_name":"Ping","from":"5.100.99.178","type":"ping","group_id":26273241,"step":null,"stored_timestamp":1594622562}]

Traceroute
[{"fw":4790,"lts":19,"endtime":1594622643,"dst_name":"178.248.237.68","dst_addr":"178.248.237.68","src_addr":"192.168.0.10","proto":"ICMP","af":4,"size":48,"paris_id":1,"result":[{"hop":1,"result":[{"from":"192.168.0.1","ttl":64,"size":76,"rtt":7.49},{"from":"192.168.0.1","ttl":64,"size":76,"rtt":1.216},{"from":"192.168.0.1","ttl":64,"size":76,"rtt":1.169}]},{"hop":2,"result":[{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.719},{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.507},{"from":"5.100.98.1","ttl":254,"size":28,"rtt":1.48}]},---DATA OMITED---,{"hop":10,"result":[{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.891},{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.873},{"from":"178.248.237.68","ttl":55,"size":48,"rtt":121.923}]}],"msm_id":26273246,"prb_id":4428,"timestamp":1594622637,"msm_name":"Traceroute","from":"5.100.99.178","type":"traceroute","group_id":26273246,"stored_timestamp":1594622649}]

DNS
[{"fw":4790,"lts":146,"dst_addr":"8.8.8.8","af":4,"src_addr":"192.168.0.10","proto":"UDP","result":{"rt":174.552,"size":42,"abuf":"5BGAgAABAAEAAAAABGhhYnIDY29tAAABAAHADAABAAEAAAcmAASy+O1E","ID":58385,"ANCOUNT":1,"QDCOUNT":1,"NSCOUNT":0,"ARCOUNT":0},"msm_id":26289620,"prb_id":4428,"timestamp":1594747880,"msm_name":"Tdig","from":"5.100.99.178","type":"dns","group_id":26289620,"stored_timestamp":1594747883}]

SSL
[{"fw":4790,"lts":63,"dst_name":"178.248.237.68","dst_port":"443","method":"TLS","ver":"1.2","dst_addr":"178.248.237.68","af":4,"src_addr":"192.168.0.10","ttc":106.920213,"rt":219.948332,"cert":["-----BEGIN CERTIFICATE-----\nMIIGJzCCBQ+gAwIBAg ---DATA OMITED--- yd/teRCBaho1+V\n-----END CERTIFICATE-----"],"msm_id":26289611,"prb_id":4428,"timestamp":1594747349,"msm_name":"SSLCert","from":"5.100.99.178","type":"sslcert","group_id":26289611,"stored_timestamp":1594747352}]

NTP
[{"fw":4790,"lts":72,"dst_name":"88.147.254.230","dst_addr":"88.147.254.230","src_addr":"192.168.0.10","proto":"UDP","af":4,"li":"no","version":4,"mode":"server","stratum":2,"poll":8,"precision":0.0000076294,"root-delay":0.000518799,"root-dispersion":0.0203094,"ref-id":"5893fee5","ref-ts":3803732581.5476198196,"result":[{"origin-ts":3803733082.3982748985,"receive-ts":3803733082.6698465347,"transmit-ts":3803733082.6698560715,"final-ts":3803733082.5099263191,"rtt":0.111643,"offset":-0.21575},{"origin-ts":3803733082.5133042336,"receive-ts":3803733082.7847337723,"transmit-ts":3803733082.7847442627,"final-ts":3803733082.6246700287,"rtt":0.111355,"offset":-0.215752},{"origin-ts":3803733082.6279149055,"receive-ts":3803733082.899283886,"transmit-ts":3803733082.8992962837,"final-ts":3803733082.7392635345,"rtt":0.111337,"offset":-0.2157}],"msm_id":26289266,"prb_id":4428,"timestamp":1594744282,"msm_name":"Ntp","from":"5.100.99.178","type":"ntp","group_id":26289266,"stored_timestamp":1594744289}]

Заключение


Сеть RIPE Atlas является удобным инструментом, позволяющим в режиме времени близком к реальному отслеживать доступность объектов и служб в сети Интернет.

Данные, получаемые с помощью сети RIPE Atlas, могут быть полезны для операторов связи, исследователей, технического сообщества и всех, кто интересуется здоровым функционированием Интернета и хочет узнать больше о базовых сетевых структурах и потоках данных, которые поддерживают работу Интернета в глобальном масштабе.

P.S. RIPE Atlas не одинок в своем роде, существуют аналоги, например этот.
Подробнее..

Открыт прием заявок на соискание грантов от RIPE NCC

27.07.2020 00:14:29 | Автор: admin
Фонд общественных проектов (Community Projects Fund) RIPE NCC ежегодно оказывает финансовую поддержку инициатив, имеющих значение для работы и устойчивости Интернета. Как и в прошлые годы, в 2020 году организация выделяет на эти цели 250 000 евро. Гранты Фонда распределяются среди нескольких лучших проектов.



Принять участие в отборочном туре может как компания, так и отдельный специалист самостоятельно. Главное, чтобы участник продемонстрировал, как именно его проект будет полезен, и на какую сумму поддержки он рассчитывает. Количество заявок от каждого участника не ограничено. Все заявки проходят первоначальное утверждение к участию, а затем поступают на оценку международного отборочного комитета. В его состав входят пять членов сообщества RIPE и член правления RIPE NCC: Jaya Baloo, Nuno Garcia, Bert Hubert, Andreas Larsen, Tim Wattenberg и Remco van Mook. Уровень финансирования единичного проекта не регламентируется, а выделенная на гранты сумма распределяется по всем проектам-победителям в соответствии с заявками.

Впервые идею поддержки общественных инициатив пользы Интернета обсудили в ходе общего собрания RIPE NCC в ноябре 2014 года, а в 2017 году первые участники получили финансовую поддержку для реализации своих проектов. Опыт показал, что за относительно короткий период приема заявок о своих идеях и начинаниях успевают заявить активисты из трех десятков стран, а число заявок приближается к ста. В 2019 году было выбрано 7 победителей, четыре из которых были посвящены информационной безопасности (Antikraak, ARTEMIS, ASNR, Cryptofuzz), два мониторингу (IRRexplorer v2, Мониторинг здоровья экосистем RPKI) и один внедрению IPv6 (улучшение поддержки IPv6 в сетях Tor). Познакомиться с проектами-победителями прошлых лет можно в архиве.

Ознакомиться с условиями и подать заявку на участие можно до 23 августа 2020 года здесь.
Подробнее..

Перевод Наш первый обзор отключения Интернета в Беларуси

12.08.2020 22:10:19 | Автор: admin
9 августа в Беларуси произошли общенациональные отключения интернета. Вот первый обзор того, что наши инструменты и наборы данных могут рассказать нам о масштабах этих отключений и их влиянии.

Население Беларуси составляет около 9,5 миллионов человек, причем 75-80% из них являются активными пользователями Интернета (цифры варьируются в зависимости от источников, см. здесь, здесь и здесь). Основным поставщиком фиксированной интернет-связи для этих пользователей является национальная телекоммуникационная компания Беларуси Белтелеком, а основными поставщиками мобильной связи МТС и А1 Мобайл.

Что мы видим в RIPE Atlas


В воскресенье 9 августа, в день президентских выборов в стране, произошли масштабные отключения интернета, частично нарушившие способность жителей Беларуси связываться с остальным миром через Интернет. С этого момента постоянно возникают вопросы о масштабах этих отключений и их последствиях.

Предоставляемый нами сервис RIPE Atlas позволяет любому человеку в любом месте создавать различные виды полезных интернет-измерений.
планы наших публикаций
Системе RIPE Atlas будет посвящен цикл наших подробных статей на Хабре в ближайшее время. Впрочем, эта система регулярно упоминается на Хабре, вот несколько статей:
Зонд Atlas RIPE
Зонд Atlas RIPE: использование
Измерения как путь к открытости
RIPE Atlas
Сервис состоит из сети зондов, распределенных по всему миру. В тот день, когда в Беларуси произошли отключения, мы видели, что значительное количество зондов в стране вышло из строя. Данная визуализация от RIPEstat дает представление о масштабах:
ещё планы наших публикаций
Про систему RIPE Stat статьи тоже запланированы.

Как мы здесь видим, 8 августа 19 из 21 зондов, расположенных в Беларуси, работали в штатном режиме. Два дня спустя только 6 из них были все еще подключены к сети RIPE Atlas. Снижение числа подключенных зондов в стране на 70% за один день это заметное явление, которое согласуется с более широкими отчетами о масштабах отключения.

Из всех зондов, которые оставались подключенными, все были расположены в автономной системе (AS) национального поставщика услуг Белтелеком. Карта ниже показывает ситуацию с зондами RIPE Atlas примерно в 16:00 11 августа, когда только один из них, расположенный в другой AS, вернулся в сеть:
По состоянию на утро 12 августа все зонды, которые отключились с 8 августа, снова подключились к системе. Проверить текущее состояние зондов в Беларуси можно на карте покрытия сети зондов RIPE Atlas.

Что мы видим в нашем сервисе информации о маршрутах (Routing Information Service, RIS)


и ещё планы наших публикаций
И про RIS тоже будут наши публикации на Хабре.
Также 9 августа мы видели снижение видимости маршрутов для белорусских сетей. Если мы посмотрим на данные BGP, собранные с помощью нашего сервисе информации о маршрутах (RIS) эти данные доступны в статистике страновых маршрутов RIPEstat для Беларуси, то увидим, что за какое-то время в этот день количество видимых префиксов IPv4 сократилось чуть более чем на 10%, с 1044 до 922. На следующий день их количество восстановилось.

А вот что касается префиксов IPv6, то тут изменение было более выраженным. В общей сложности 56 из 94 префиксов IPv6, которые были видны BGP рано утром в воскресенье, исчезли сразу после 06:00. Это падение на 60%. Эта ситуация продолжалась примерно до 04:45 12 августа, когда число префиксов возросло обратно до 94.

Следует отметить, что префиксы IPv4, в которых размещены отключенные в этот день зонды RIPE Atlas, всё же оставались видимыми. Однако тот факт, что маршрут виден в BGP, сам по себе не свидетельствует о доступности хостов в соответствующих сетях.

Проведите анализ самостоятельно


Будучи нейтральным источником информации, мы активно способствуем поддержанию здоровья и стабильности Интернета. Мы предлагаем целый ряд инструментов и сервисов, которые помогут вам получить более четкое представление о том, как функционирует интернет в любой заданный момент времени.

Многое из написанного выше основано на том, что мы видим в RIPEstat, который предоставляет визуализацию для маршрутных данных, собранных в RIS, данных с зондов RIPE Atlas, развернутых по странам и других страновых данных. Их может получить любой, кто хочет отслеживать интернет-события точно так же, как это сделали в этой статье мы. Если вы заинтересованы в дальнейшем самостоятельном расследовании отключений, в RIPEstat доступно ещё много виджетов, которые вы можете использовать для получения дополнительной информации.

Вы также можете покопаться в сырых данных из нашей службы маршрутной информации (RIS), которые мы собираем и предоставляем в распоряжение всех желающих. Или сами исследуйте текущую ситуацию более подробно, создав свои собственные интернет-измерения в RIPE Atlas.

Выводы


Имеющиеся у нас данные об отключениях Интернета, которые происходили в Беларуси в минувшее воскресенье, совместно с другими сообщениями, распространенными с тех пор, указывают на крупномасштабные сбои в работе ряда сетей, которые должны были оказать заметное воздействие на пользователей Интернета в стране. Хотя некоторые их следствия были довольно продолжительны несколько зондов RIPE Atlas не были доступны в течение нескольких дней, и значительное количество префиксов IPv6 исчезло из BGP на тот же период всё, похоже, вернулось в нормальное состояние по состоянию на сегодняшнее утро (12 августа).

Также ясно, что это не было полным отключением, во время которого вся страна потеряла всякую связь с мировым Интернетом. Несколько зондов RIPE Atlas оставались подключенными всё время. И как уже отмечалось, многие маршруты и ASN оставались видимыми в BGP все время; хотя, как уже говорилось, это само по себе не означает, что хосты в соответствующих сетях также были доступны во время отключений.

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

Основы работы с базой данных RIPE

06.11.2020 10:14:52 | Автор: admin


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

Рано или поздно большинство сетевых инженеров сталкиваются с необходимостью взаимодействия с базой данных RIPE. Например, если вы устроились на работу в компанию, предоставляющую доступ в интернет, или организацию, которая владеет собственной автономной системой, то вам с 99%-ной вероятностью потребуется периодически добавлять/удалять и поддерживать актуальной какую-то информацию в БД RIPE. Даже просматривая вакансии при поиске работы, иногда можно наткнуться на требование Умение работать с RIPE.

Также в ходе своей работы, решении каких-то задач или устранении неполадок, вам может потребоваться, например, следующее: узнать контактные данные технических специалистов, администрирующих блоки определенных IP-адресов, уточнить политику маршрутизации, которая применяется в соседней с вами автономной системе, или направить жалобу о неправомерном использовании IP-адресов, принадлежащих какой-то организации и т. д. Когда сталкиваешься с этими задачами впервые, можно немного растеряться. Так что умение работать с БД RIPE и понимание того, как найти в ней необходимую информацию это полезный и нужный навык.

В ходе данной статьи я попробую ответить на вопросы: что из себя представляет БД RIPE? Какие функции она выполняет? Какие основные объекты используются на практике?

Найти более подробную информацию вы всегда можете в официальной документации: https://www.ripe.net/manage-ips-and-asns/db/support/documentation/ripe-database-documentation. В конце статьи также представлена ссылка на замечательный бесплатный курс от RIPE NCC, который включает в себя в том числе интересные интерактивные задачи, которые помогут получить практический опыт.

Начнем с определений:

1. IRR Internet Routing Registry. Это глобальная распределенная база данных маршрутных политик. Задумывалась такая база как инструмент, с помощью которого операторы связи смогут делиться своими маршрутными политиками и информацией о том, какие сети и кому они анонсируют. В совокупности это должно способствовать большей стабильности работы сети Интернет, помогать инженерам при устранении неполадок, связанных с глобальной маршрутизацией. Также эта база может являться источником данных для различных программ, которые помогают автоматически генерировать конфигурацию оборудования на основании доступной там информации. IRR использует так называемый язык спецификации маршрутных политик (RPSL) для описания хранимых в ней данных. БД RIPE в том числе исполняет и функции IRR.

2. RPSL Routing Policy Specification Language. Это язык, с помощью которого описываются маршрутные политики. Этот язык объектно-ориентированный, но к программированию он не имеет никакого отношения. По сути, он описывает классы объектов, а конкретные объекты в своих атрибутах содержат уже конкретную информацию. Например, есть класс aut-num, он описывает автономную систему: ее номер, какой организации принадлежит, к кому можно обратиться в случае проблем связности с этой автономной системой и т. д. Объекты, в свою очередь, являются кирпичиками, из которых состоит БД RIPE.

Подробнее про RPSL можно почитать тут:

https://www.rfcreader.com/#rfc2622

https://www.rfcreader.com/#rfc2650

Функции БД RIPE

Поддержание актуальной контактной информации

Интернет состоит из огромного количество связанных между собой сетей, автономных систем и людей, поддерживающих его работоспособность. Иногда вам может потребоваться узнать, кому принадлежит та или иная автономная система или блок IP-адресов, и как связаться с теми, кто за них отвечает. Вы не можете держать в своей записной книжке все эти контакты. БД RIPE именно то место, где данную информацию можно оперативно найти.

Учет интернет-ресурсов

Под интернет-ресурсами здесь понимаются блоки IP-адресов и номера автономных систем. RIPE NCC, являясь одним из RIR, занимается распределением интернет-ресурсов и их учетом для Европы, Ближнего Востока и Центральной Азии. Информация о выделенных номерах AS, распределенных блоках IP-адресов и т. д. все это учитывается и отображается в БД RIPE.

Публикация маршрутных политик

Как говорилось ранее, БД RIPE выполняет в том числе и функции IRR. Здесь, компании, владеющие своими автономными системами и блоками IP-адресов, могут публиковать свои маршрутные политики, тем самым делясь с остальными участниками информацией об их глобальной политике маршрутизации с внешним миром.

Обеспечение работы механизма DNS reverse lookup

БД RIPE играет ключевую роль в работоспособности DNS reverse lookup. Мы вернемся к этому вопросу позже.

Способы взаимодействия с БД RIPE

Необходимость взаимодействия с БД RIPE у вас может быть по следующим причинам: вы хотите найти какую-то информацию или вы хотите добавить/изменить/удалить какую-то информацию в ней.

Чтобы получить информацию из БД RIPE, можно воспользоваться сервисом whois прямо на сайте RIPE https://www.ripe.net/, либо одноименной утилитой, которая присутствует почти во всех дистрибутивах Linux.

Существует 4 способа добавить, изменить или удалить информацию:

1. Webupdates. Это самый простой и интуитивный способ работы с объектами. Вы просто заходите на сайт RIPE, авторизуетесь и с помощью веб-формы выполняете необходимые вам действия с объектами (при условии, что вы авторизованы это делать). Сам процесс выглядит так:

Шаг 1. Заходим в панель управления ресурсами, нажимаем Create an Object, выбираем тип создаваемого объекта и нажимаем Create.


Шаг 2. В следующем окне заполняем обязательные поля и нажимаем Submit:


Если вы корректно заполнили все обязательные поля для создаваемого объекта, то все пройдет гладко, в противном случае вы увидите сообщение о том, где вы допустили ошибку.

2. По электронной почте.

Вы отправляете письмо на специальный почтовый адрес auto-dbm@ripe.net, в теле письма полностью описываете атрибуты и значения объекта, который вы хотите добавить, изменить или удалить. Сейчас этот способ применяется редко, куда проще воспользоваться другими методами.

3. Syncupdates.

Этот способ позволяет работать сразу с несколькими объектами одновременно. Его можно использовать как в ручном режиме, так и с собственными скриптами. Подробно данный способ описан в официальной документации.

4. RESTful API.

Также работать с объектами в БД RIPE можно с помощью RESTful API. Данный способ удобно использовать для автоматизации каких-то действий с помощью скриптов. Подробное описание API можно посмотреть тут:

https://github.com/RIPE-NCC/whois/wiki/WHOIS-REST-API

Например, мы используем API БД RIPE следующим образом:

У нас есть IPAM система, в которой мы ведем учет всех наших IP-адресов. Когда нам необходимо выделить новую подсеть для клиента, то мы запускаем скрипт, который через API вытаскивает из IPAM первую свободную подсеть необходимого размера, далее через скрипт мы заполняем краткое описание назначения данной подсети. Затем скрипт с помощью API IPAM добавляет данную подсеть в базу IPAM, а с помощью API RIPE создает объект inetnum(6) в базе RIPE. Таким образом, нам не нужно самим заходить в IPAM, искать там свободную подсеть, затем заходить на сайт RIPE и создавать там новый объект вручную.

Общие свойства всех объектов

Как говорилось ранее, БД RIPE состоит из объектов. Каждый объект представлен двумя колонками: атрибуты (слева) и фактические значения (справа). Атрибуты всегда заканчиваются двоеточием :.

Пример объекта, описывающего вымышленную организацию Sandbox Inc.:


Объекты имеют обязательные и опциональные атрибуты. Обязательные атрибуты должны присутствовать в каждом объекте соответствующего класса, например, атрибут org-name: в объекте organisation из примера выше. Некоторые атрибуты могут повторяться.

Для того, чтобы узнать, какие атрибуты объекта обязательные, какие опциональные, какие можно использовать повторно, а какие нет, можно воспользоваться запросом whois -t object_type:


Здесь видно, что атрибут phone: является обязательным для объектов типа role, а атрибут e-mail: опциональным и может повторяться.

Когда вы создаете объект с помощью webupdates, то обязательные атрибуты сразу же отображаются в веб-форме, вам их нужно просто заполнить. Если же вы будете использовать какой-то скрипт для обновления через API, то уже сами должны позаботиться о том, чтобы не забыть указать обязательные атрибуты и их значения. Для этого удобно использовать шаблоны. Например, так может выглядеть шаблон Jinja2, описывающий объект inetnum в формате:

JSON
{{  "objects": {    "object": [      {        "source": {          "id": "ripe"        },        "attributes": {          "attribute": [                {                        "name": "inetnum",                        "value": "{{ inetnum }}"                },                {                        "name": "netname",                        "value": "{{ netname }}"                },                {                        "name": "country",                        "value": "RU"                },                {                        "name": "admin-c",                        "value": "LXDC"                },                {                        "name": "tech-c",                        "value": "LXDC"                },                {                        "name": "status",                        "value": "ASSIGNED PA"                },                {                        "name": "mnt-by",                        "value": "LINXDC-NOC"                },                {                        "name": "source",                        "value": "RIPE"                }          ]        }      }    ]  }}



Если вы о чем-то забудете, то при попытке добавить объект в БД RIPE вам вернется код ошибки с описанием причины, по которой операция не может быть выполнена.

Также некоторые атрибуты объекта являются ключами. По ключам осуществляется поиск объектов в БД RIPE. Существует 3 типа ключей:

  1. Primary уникальный ID объекта, однозначно определяет его в БД.
  2. Lookup ключи, по которым объект можно найти в БД.
  3. Inverse Lookup ключи, которые ссылаются на какой-то другой объект. Данный тип ключей используется, когда вы, например, хотите найти все объекты route, которые зарождаются в какой-то AS. Для этого в запросе whois используется ключ -i. Пример:


Данный запрос находит все объекты класса route, которые зарождаются в AS48399.

Найти объекты можно только по атрибутам, которые являются ключами, причем в параметрах поиска нужно указать точное значение атрибута. Например, атрибут aut-num: объекта aut-num является primary ключом. Если вы хотите найти объект aut-num, который создан для AS48399, то вам нужно указать в запросе именно as48399, варианты 48399 и as 48399 не дадут должного результата:


Назначение объектов

Объекты по их назначению можно условно разделить на 5 групп:

1. Контактная информация: person, role, organization.

2. Интернет-ресурсы: inetnum, inet6num, aut-num.

3. Маршрутизация, политика маршрутизации: route, route6, as-set, aut-num.

4. Reverse DNS: domain.

5. Безопасность объектов: maintainer.


Далее пройдемся по всем этим объектам, чтобы понять их назначение.

Группа Контакты

Объект person

Служит для описания контактной информации конкретного человека, который так или иначе связан с какими-то интернет ресурсами. Другие объекты, например inetnum, могут ссылаться на объект person в своих атрибутах admin-c или tech-c. Таким образом вы можете узнать контактную информацию человека или группы, которые отвечают за те или иные ресурсы.


В примере выше представлен объект inetnum, который содержит информацию о том, что блок IPv4 адресов 80.12.176.0/22 был выделен организации Sandbox и что в случае возникновения каких-то технических вопросов, связанных с данным блоком адресов, вы можете обращаться к персоне Jean Blue.

Был забавный случай, когда у моего бывшего коллеги раздался неожиданный звонок и человек на том конце трубки, не выбирая выражений, угрожал ему физической расправой. Выяснилось, что ему нагрубил какой-то школьник в онлайн-игре и скинул ему свой IP, который он узнал по запросу узнать мой IP адрес. Разумеется, школьник сидел за NAT. Наш хакер, недолго думая, вбил другой запрос узнать кому принадлежит IP и увидел контактную информацию моего коллеги, которая содержится в RIPE. Пришлось объяснять местному Кевину Митнику, что это немного не так работает :)

Объект role

Похож на объект person, но описывает уже контактную информацию какой-то группы, которая отвечает за определенную роль в организации. Такой группой может быть NOC. Объект role это своего рода контейнер для объектов person. Например, в организации работают 3 сетевых инженера, вы создаете группу NOC и в атрибутах tech-c: указываете ссылки на соответствующие объекты person.


Но также стоит отметить, что атрибуты admin-c: и tech-c: являются для role опциональными, поэтому данный объект может быть самодостаточным, т. е. не ссылаться на объекты person.

Еще одной важной особенностью объекта role является наличие атрибута abuse-mailbox:. В нем указываются контакты, по котором можно обращаться по вопросам злоупотребления вашими ресурсами. Например, если с принадлежащих вам IP-адресов рассылается спам, то вам скорее всего напишут именно по адресу электронной почты, указанному в данном атрибуте.

С практической точки зрения лучше использовать именно объект role вместо person, особенно, если у вас много сотрудников работают с данными в БД RIPE. Почему? Дело в том, что если вы пытаетесь удалить какой-то объект, но при этом есть объекты, которые на него все еще ссылаются, то вам придется убрать все ссылки на удаляемый объект. А теперь представьте, что у вас 1000 объектов inetnum, ссылающихся на объект person, принадлежащий вашему коллеге, который собрался увольняться и больше не отвечает за данные ресурсы. Вам придется во всех 1000 объектах удалить ссылки на него. Кроме того, например, объект organization может ссылаться только на объект role в своем атрибуте abuse-c:.

Объект organization

Во-первых, этот объект, как и объекты person и role, содержит контактную информацию, но уже об организации, которая владеет интернет-ресурсами, например: юридический адрес, телефон и т.д.

Во-вторых, это своего рода контейнер, который связывает все ресурсы организации. Такие объекты, как inet(6)num и aut-num, обязаны иметь атрибут org:, который указывает на то, какой организации выделены данные ресурсы.

Группа интернет-ресурсов

Объект aut-num

Данный объект создается в базе после того, как RIPE выделит какой-то организации определенный номер AS. Он показывает, кому принадлежит AS, и контактную информацию, по которой вы можете взаимодействовать с теми, кто за данную AS отвечает.

В этом объекте вы можете публиковать свою маршрутную политику.

Для этого используются атрибуты import: и export:, в которых вы указываете, от кого и какие маршруты вы принимаете и кому и какие маршруты анонсируете. Также операторы обычно описывают политику BGP community именно в этом объекте. Для наглядного примера попробуйте поискать в БД RIPE номера AS крупных операторов, например, as8359.

Чтобы лучше понять, как описывается маршрутная политика, рассмотрим следующий пример:


Допустим, что вы являетесь небольшим провайдером, у вас есть 2 аплинка и 3 клиента.

Аплинкам вы анонсируете свои сети и сети ваших клиентов, от аплинков принимаете full view.

Клиентам вы анонсируете full view, а принимаете только префиксы, которые им принадлежат.

Описание маршрутной политики при этом может выглядеть так:


Стоит отметить, что политика может описывать не только то, какие префиксы вы анонсируете или принимаете, но и более сложные сценарии. Например, вы указываете, что на какой-то префикс вы вешаете local preference 200. С помощью набора инструментов IRRToolSet вы можете автоматически создавать конфигурацию маршрутизаторов на основе информации, описанной в объекте aut-num. Подробнее тут:

https://github.com/irrtoolset/irrtoolset

Объекты inetnum и inet6num

Являются одними из самых важных объектов в БД RIPE. Данные объекты содержат информацию о том, кому и как были распределены блоки IP-адресов. Когда RIPE выделяет вам какой-то блок iP-адресов, то в RIPE NCC создается объект inetnum, указывающий, что этот блок выделен именно вам.

Когда вы далее выделяете из данного блока какой-то кусок под ваши нужды, например, из выделенной вам подсети /22 одну подсеть /24 вы используете под NAT, то вы также создаете объект inetnum и даете описание в атрибуте netname: что-то вроде NAT for users.

Важным атрибутом этих объектов является атрибут status:. Основные статусы:

ALLOCATED-PA RIPE NCC выделила блок IPv4 для какой-то организации.

ALLOCATED-BY-RIR RIPE NCC выделила блок IPv6 для какой-то организации.

ASSIGNED-PA организация выделила блок IPv4 для каких-то нужд.

ASSIDNED организация выделила блок IPv6 для каких-то нужд.

Группа политика маршрутизации

Объект route(6)

Это также одни из самых важных объектов в БД RIPE, они связывают AS и зарождающиеся в ней префиксы.

Если вы анонсируете какой-то префикс в Интернет, то вам необходимо создать объект route для этого префикса.

Почему важно это делать? Многие провайдеры автоматизируют процесс генерации фильтров BGP, которые вешают на анонсы от своих пиров. Реализуется это, например, с помощью утилиты bgpq3, которая обращается в RIPE и автоматически на основании объектов route генерирует соответствующий кусок конфига для создания фильтров. Все те префиксы, которые не описаны в объектах route, не попадут в конфигурацию, поэтому может возникнуть ситуация, когда из-за этого ваши сети не будут доступны извне. Вам придется обращаться в поддержку вашего аплинка, чтобы он разрешил на своем оборудовании принятие от вас данного префикса или же создать объект route для нового префикса и дождаться следующего запуска скрипта на стороне вашего провайдера.

Объект as-set

Это очень полезный объект, он помогает упростить процесс обновления маршрутных политик, которые описываются в объекте aut-num. Объект as-set позволяет вам группировать различные AS в один объект. Вернемся к примеру:



Для аплинков у нас описана политика, что мы анонсируем им префиксы от AS500, AS1, AS2, AS3.

При каждом обновлении данной политики вам придется менять информацию для всех аплинков.

Но вы можете поступить иначе: создать объект as-set и в его атрибутах members: описать номера AS, префиксы которых вы анонсируете, тогда такая политика будет выглядеть так:


Все, что вам нужно будет делать, когда ваша политика меняется, это удалять или добавлять AS из объекта as-set. Кроме того, атрибут members может ссылаться на другие as-set.

As-set часто используется для генерации фильтров. Скажем, клиент может вас попросить настроить фильтры в соответствии с их as-set, тогда вы опять можете воспользоваться утилитой bgpq3, но указывать уже не номер AS в качестве аргумента, а as-set. Например:


Объект domain

Как уже отмечалось ранее, БД RIPE играет ключевую роль в работе reverse DNS lookup.

В противоположность прямому DNS запросу, когда по доменному имени находится соответствующий ему IP-адрес (A запись), обратный запрос, наоборот, ищет доменное имя, которое соответствует IP-адресу (PTR запись). Зачем нужно отображать IP-адреса в доменные имена? В основном это используется как дополнительная защита от спама в электронной почте, также это помогает при устранении неполадок с помощью traceroute, т. к. если для IP-адреса существует PTR запись, то вместо IP в выводе traceroute вы будете видеть более информативные доменные имена.

Объект domain указывает DNS серверам RIPE на то, какой сервер отвечает за ту или иную обратную зону. Визуально это можно представить так:


Когда вы получаете какой-то блок IPv4 или IPv6 адресов от RIPE, то вы можете создавать объекты domain. Например, вы получили блок IPv4 адресов 192.168.1.0/22. Тогда для данного блока вы можете создать объекты domain, которые будут указывать на ваши DNS сервера, которые являются авторитативными для данных обратных зон. Важно отметить, что объект domain может быть создан только для /16 и /24 ipv4 подсетей, поэтому, если у вас есть блок /22, вам придется создать 4 объекта domain для 4х /24 подсетей и, соответственно, 4 обратные зоны на вашем DNS сервере.

Безопасность объектов

Объект maintainer

Теперь, когда мы разобрались с основными объектами, поговорим про безопасность. БД RIPE это публичная база данных, поэтому очень важно запретить делать что-либо с вашими объектами всем неавторизованным пользователям. Краеугольным камнем в безопасности БД RIPE является объект maintainer. Это своего рода замок, который вы вешаете на каждый объект, и открыть его может только тот, кто имеет от него ключи. Существует 3 типа таких ключей:

  1. Single Sign On (SSO). Самый простой способ, вам просто нужно добавить в объекте maintainer атрибут auth: с указанием почты сотрудника, с помощью которой он авторизуется на сайте RIPE.
  2. MD5 enrypted password.
  3. PGP key.

Каждый объект в БД RIPE имеет атрибут mnt-by:, который ссылается на объект maintainer. Соответственно, если у вас есть доступ к данному maintainer, вы можете работать со всеми объектами, которые им защищены.

Заключение

Данную статью я готовил на основе материала из официального курса от RIPE, который доступен по адресу https://academy.ripe.net. Если вы хотите лучше разобраться в вопросе и попрактиковаться на реальных примерах, то советую его пройти. Курс интерактивный, интересный и бесплатный.

Полезные запросы whois:

whois -t object_type посмотреть шаблон объекта.

whois -T route -i origin ASxxxxx узнать все маршруты, которые происходят из автономной системы.

whois -i mnt-by maintainer_name узнать все объекты, которые защищены объектом maintainer_name.

whois -M subnet узнать, на какие более мелкие подсети поделена подсеть subnet.

whois -L subnet узнать, из какой более крупной подсети образована подсеть subnet.

Полезные ссылки:

  1. https://www.ripe.net/manage-ips-and-asns/db/support/documentation/ripe-database-documentation
  2. https://www.ripe.net/manage-ips-and-asns/db/support/the-ripe-database-business-rules
  3. http://www.irr.net/docs/list.html
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru