Как создавать объекты в базе данных RIPE: пошаговая инструкция
Если вы арендуете подсеть, получаете блок IP-адресов или собственную автономную систему (AS), рано или поздно вы столкнётесь с базой данных RIPE. Хостинг-провайдер может попросить вас «создать объект в RIPE» — например, чтобы указать его в качестве контакта при выдаче подсети. В этой статье разберём, что такое база RIPE, какие объекты в ней бывают и как создать свой первый объект за несколько минут.
Что такое RIPE NCC и база данных RIPE
RIPE NCC (Réseaux IP Européens Network Coordination Centre) — один из пяти региональных интернет-регистраторов (RIR). Он отвечает за распределение интернет-ресурсов — IP-адресов и номеров автономных систем — в Европе, на Ближнем Востоке и в Центральной Азии.
База данных RIPE (RIPE Database) — публичный реестр, который выполняет четыре основные функции:
- Хранение контактной информации — кто администрирует конкретные блоки IP-адресов и автономные системы.
- Учёт интернет-ресурсов — какие AS и IP-блоки кому выделены.
- Публикация маршрутных политик — база выполняет роль Internet Routing Registry (IRR): операторы связи описывают в ней, какие префиксы анонсируют их автономные системы. На основе этих данных автоматически строятся BGP-фильтры.
- Обратный DNS (reverse DNS) — делегирование обратных зон для выделенных блоков адресов.
Важно понимать: база RIPE публична. Любой человек может посмотреть содержимое объектов через сервис whois. Поэтому корректные и актуальные данные в ней — это и требование регистратора, и вопрос репутации владельца ресурсов.
Что такое объект RIPE
Объект — это запись в базе данных, описывающая один ресурс или сущность: человека, организацию, блок IP-адресов, автономную систему, маршрут. Каждый объект состоит из набора атрибутов вида «ключ: значение»:
person: Ivan Petrov
address: Amsterdam, Netherlands
phone: +31 20 000 0000
nic-hdl: IP1234-RIPE
mnt-by: EXAMPLE-MNT
source: RIPE
Атрибуты бывают трёх видов:
- обязательные — без них объект не будет создан;
- опциональные — можно добавить при необходимости (например,
remarks:илиabuse-mailbox:); - множественные — могут повторяться несколько раз (например,
address:илиphone:).
Структура объектов описывается языком RPSL (Routing Policy Specification Language). Посмотреть шаблон любого типа объекта можно командой:
whois -t person
Основные типы объектов
Все объекты базы RIPE можно условно разделить на пять групп.
Контактная информация
- person — данные конкретного человека, ответственного за ресурс. На объект person ссылаются атрибуты
admin-c:(административный контакт) иtech-c:(технический контакт) других объектов. У каждого person есть уникальный идентификатор — NIC handle (например,IP1234-RIPE). - role — контакт группы людей, а не одного человека: например, дежурной смены NOC или отдела abuse. В объекте role удобно указывать
abuse-mailbox:— адрес для жалоб на злоупотребления. - organisation — юридические данные организации, владеющей ресурсами. Объект связывает воедино все ресурсы компании: подсети, автономные системы, контакты.
Интернет-ресурсы
- inetnum — описывает блок IPv4-адресов: диапазон, название сети, страну, контакты и статус. Когда RIPE NCC выделяет блок LIR-у (локальному интернет-регистратору, обычно это провайдер), объект получает статус
ALLOCATED PA. Когда провайдер выдаёт часть блока клиенту, для неё создаётся объект со статусомASSIGNED PA. - inet6num — то же самое для IPv6.
- aut-num — описывает автономную систему: номер (например, AS64500), принадлежность, контакты. Здесь же через атрибуты
import:иexport:публикуется маршрутная политика — от кого AS принимает маршруты и кому что анонсирует.
Маршрутизация
- route / route6 — связывает префикс с автономной системой, которая имеет право его анонсировать. Эти объекты критически важны: по ним операторы автоматически генерируют BGP-фильтры (например, утилитой bgpq3/bgpq4). Если для вашего префикса нет объекта route, многие сети просто не примут его анонс.
- as-set — группирует несколько автономных систем в один объект через атрибут
members:. Удобно для провайдеров с клиентскими AS: аплинку достаточно один раз прописать ваш as-set, и при подключении нового клиента вы просто добавляете его AS в members, не прося аплинка менять фильтры.
Обратный DNS
- domain — указывает, какие DNS-серверы авторитетны для обратной зоны вашего блока (in-addr.arpa / ip6.arpa). Для IPv4 объекты domain создаются для зон, кратных /16 и /24.
Безопасность
- mntner (maintainer) — «замок», защищающий объекты от несанкционированного изменения. Каждый объект базы содержит атрибут
mnt-by:со ссылкой на maintainer, и изменить объект может только тот, кто владеет одним из ключей этого maintainer. Ключи бывают трёх типов: SSO (учётная запись RIPE NCC Access), MD5-хэш пароля и PGP-ключ. Рекомендуемый вариант — SSO: доступ привязывается к вашему аккаунту, и пароли нигде хранить не нужно.
Пошаговая инструкция: создаём первый объект
Разберём типовой сценарий: провайдер выдаёт вам подсеть и просит создать объект, который будет указан в качестве контакта. Для этого нужна связка из объектов role (или person) и mntner.
Шаг 1. Регистрация в RIPE NCC Access
RIPE NCC Access — единая система авторизации для всех сервисов RIPE NCC. Учётная запись бесплатна и не требует членства в RIPE NCC.
- Перейдите на страницу регистрации: https://access.ripe.net/registration
- Заполните форму: имя, фамилия, e-mail, пароль с подтверждением — и нажмите Sign up.
- На указанную почту придёт письмо со ссылкой подтверждения — перейдите по ней.
- Авторизуйтесь на сайте с созданными учётными данными.
Шаг 2. Создание пары role + maintainer
Здесь есть классическая проблема «курицы и яйца»: любой объект должен быть защищён maintainer-ом, но сам maintainer — тоже объект, которому нужен maintainer. Поэтому для новых пользователей RIPE сделал отдельную процедуру, создающую сразу пару объектов — role и mntner, ссылающихся друг на друга.
- Откройте раздел создания объектов: https://apps.db.ripe.net/db-web-ui/webupdates/select (в интерфейсе RIPE Database это пункт меню Create an Object).
- В поле Object type выберите role and maintainer pair и нажмите Create.
- Заполните форму — в ней всего четыре поля:NIC handle вводить не нужно — система присвоит его автоматически.
- mntner — имя вашего maintainer. Общепринятый формат:
COMPANY-MNTилиNAME-MNT(например,KOARA-EXAMPLE-MNT); - role — название роли/контакта (например,
Example LLC NOC). Если вместо группового контакта нужен персональный, нажмите ссылку Switch to person рядом с этим полем — тогда вместо role будет создан объект person; - address — почтовый адрес;
- e-mail — контактный e-mail.
- mntner — имя вашего maintainer. Общепринятый формат:
- Нажмите Submit (отправкой формы вы соглашаетесь с RIPE Database Terms and Conditions).
Оба объекта создаются одновременно (частичного успеха не бывает — либо создаются оба, либо ни одного). После создания вы увидите присвоенный NIC handle роли (вида EX1234-RIPE) и имя maintainer. Ссылку на созданный объект или его NIC handle отправьте вашему провайдеру — он укажет его в объекте inetnum вашей подсети.
Шаг 3 (опционально). Создание объекта person
Если нужен персональный контакт, а не групповой:
- На той же странице Webupdates выберите тип объекта person и нажмите Create.
- Заполните обязательные атрибуты:
person: Ivan Petrov
address: Example street 1, Amsterdam, Netherlands
phone: +31 20 000 0000
nic-hdl: AUTO-1
mnt-by: KOARA-EXAMPLE-MNT
source: RIPE
- Нажмите Submit. В
nic-hdl:можно указатьAUTO-1(система назначит handle автоматически) или свой вариант. Учтите: NIC handle нельзя переиспользовать — даже после удаления объекта его идентификатор навсегда остаётся занятым.
Шаг 4 (опционально). Создание объекта organisation
Объект organisation понадобится, если вы получаете независимые ресурсы (PI-адреса, собственную AS) или хотите связать несколько ресурсов с юридическим лицом:
organisation: AUTO-1
org-name: Example LLC
org-type: OTHER
address: Example street 1, Amsterdam, Netherlands
e-mail: info@example.com
abuse-c: EX1234-RIPE
mnt-ref: KOARA-EXAMPLE-MNT
mnt-by: KOARA-EXAMPLE-MNT
source: RIPE
Идентификатор organisation всегда генерируется автоматически (AUTO-1), выбрать свой нельзя. org-type: для обычных компаний — OTHER (тип LIR присваивается только членам RIPE NCC). Атрибут abuse-c: должен ссылаться на role-объект с заполненным abuse-mailbox:.
Способы работы с базой RIPE
Кроме веб-интерфейса, есть ещё несколько способов создавать и изменять объекты:
- Webupdates — веб-форма (https://apps.db.ripe.net), самый наглядный способ. Есть два режима: field mode (форма показывает только обязательные поля, остальные добавляются по кнопке) и text area mode (объект редактируется как текст, обязательные атрибуты выделены).
- Syncupdates — отправка объектов в текстовом виде через HTTPS-запрос. Подходит для массовых операций и скриптов.
- RESTful API — полноценный программный доступ для автоматизации: например, скрипт может забрать свободную подсеть из вашей IPAM-системы и сразу создать для неё объект inetnum в RIPE.
- E-mail — отправка объектов на auto-dbm@ripe.net с подписью PGP. Исторический способ, сейчас используется редко.
Для экспериментов существует TEST Database — песочница с тем же интерфейсом, где можно тренироваться без риска сломать боевые данные.
Полезные whois-команды
Проверить результат и исследовать базу удобно консольной утилитой whois:
# Шаблон объекта с описанием атрибутов
whois -h whois.ripe.net -t person
# Ваш объект по NIC handle
whois -h whois.ripe.net EX1234-RIPE
# Все объекты, защищённые вашим maintainer-ом
whois -h whois.ripe.net -i mnt-by KOARA-EXAMPLE-MNT
# Все route-объекты автономной системы
whois -h whois.ripe.net -T route -i origin AS64500
# На какие подсети разбит блок
whois -h whois.ripe.net -M 192.0.2.0/24
# Частью какого более крупного блока является подсеть
whois -h whois.ripe.net -L 192.0.2.0/24
Частые ошибки
- Утерян доступ к maintainer. Если maintainer защищён только MD5-паролем и пароль потерян, восстановление доступа — долгая процедура через поддержку RIPE NCC. Привязывайте maintainer к SSO-аккаунту.
- Реальные персональные данные в публичной базе. Всё содержимое объектов видно любому через whois. Указывайте рабочие контакты организации, а не личный мобильный телефон.
- Забытый объект route. После получения блока и AS многие забывают создать route-объект — и анонс префикса отфильтровывается у большинства крупных операторов.
- Неактуальные контакты. По адресам из
abuse-mailbox:иe-mail:приходят жалобы и уведомления. Если почта не читается, проблемы с вашими IP вы узнаете последним.
Что дальше
Если хотите разобраться глубже, RIPE NCC предлагает бесплатные интерактивные курсы на https://academy.ripe.net, а полная документация по базе доступна на https://docs.db.ripe.net.
Если вы арендуете подсеть у нас и вам нужно создать объект для её оформления — создайте пару role + maintainer по инструкции выше и пришлите ссылку на объект в тикете. Остальное мы сделаем сами.