Mnt by что это
RIR поддерживает базу данных распределённых IP-адресов и сопутствующих объектов (далее БД RIR), а также обязывает провайдеров заносить в эту базу информацию об используемых провайдером и его абонентами IP-адресах. Таким образом, в базе данных региональной регистратуры должны присутствовать записи и о провайдерском блоке адресов и о сетях абонентов провайдера, действующего в регионе, попадающем в зону ответственности региональной регистратуры.
Рассмотрим структуру БД RIR на примере RIPE (она также аналогична APNIC).
БД RIPE состоит из следующих записей:
Объект БД определен как список пар в текстовом виде атрибут-значение. Каждая пара пишется в отдельной строке. Имя атрибута начинается в колонке 0, за ним следует знак «:«, а далее пишется значение атрибута. Описание объекта может содержать комментарии. Комментарий начинает со знака «#» и заканчивается концом строки. Комментарий не может начинаться вначале строки. Представление объекта заканчивается пустой строкой. Атрибуты могут быть обязательными и необязательными. Атрибуты могут быть простыми или многозначными. Многозначные атрибуты могут иметь несколько записей атрибут-значение в объекте, в то время как простой атрибут только одну. Каждый объект однозначно определяется некоторым множеством атрибутов, относящихся к классу primary key.
| [mandatory] | По крайней мере один раз этот атрибут должен быть описан в объекте. |
| [optional] | Атрибут не обязателен в объекте и может быть опущен. |
| [generated] | Атрибут автоматически генерируется сервером. |
| [single] | Объект не должен содержать боле одного включения данного атрибута. |
| [multiple] | Объект может содержать более одного включения данного атрибута. |
| [look-up key] | Атрибут индексируется (По нему можно определить данный объект). |
| [inverse key] | Атрибут является внешним ключом. |
| [primary key] | Атрибут является первичным ключом (или его частью). |
| Атрибут является и первичным ключом (или его частью), и индексируемым. |
Рассмотрим объекты inetnum, person, role.
Первая колонка представляет собой атрибут, вторая и третья – определяют тип атрибута, а четвёртая обозначает, является ли атрибут каким-либо ключом в базе данных.
ALLOCATED PA: Это пространство адресов было выделено LIR, и ни одно назначение или суб-выделение, сделанное из него, не является переносимым. Назначения и суб-выделения не могут быть сохранены при переходе к другому поставщику.
ALLOCATED PI: Это пространство адресов было выделено LIR или RIR, и все сделанные оттуда назначения являются переносимыми. Назначения могут быть сохранены, столь долго, сколь сохраняет действие исходный критерий назначения. Суб-выделения из этого типа адресного пространства производиться не могут.
ALLOCATED UNSPECIFIED: Это пространство адресов было выделено LIR или RIR. Назначения могут быть PA или PI. Этот статус предназначен для документирования прошлых выделений, где существуют назначения обоих типов. Он не употребляется для новых выделений. Суб-выделения из этого типа адресного пространства производиться не могут.
SUB-ALLOCATED PA: Это пространство адресов LIR суб-выделил для сетевого оператора, который будет производить из него назначения. Все сделанные оттуда назначения являются PA. Они не могут быть сохранены при переходе на обслуживание к другому поставщику.
LIR-PARTITIONED PA: Это позволяет LIR документировать распределение и передать управление выделенным пространством внутри своей организации. Пространство адресов со статусом LIR-PARTITIONED не считается используемым. Когда адреса используются, более специфичный inetnum должен быть зарегистрирован.
LIR-PARTITIONED PI: Это позволяет LIR документировать распределение и передать управление выделенным пространством внутри своей организации. Пространство адресов со статусом LIR-PARTITIONED не считается используемым. Когда адреса используются, более специфичный inetnum должен быть зарегистрирован.
EARLY-REGISTRATION: Это используется администрацией базы данных RIPE при передаче регистраций эпохи до RIR из базы данных ARIN. Это значение может быть изменено пользователями базы данных. Только администраторы базы данных RIPE могут создавать объекты с таким значением.
NOT-SET: Это означает, что регистрация была произведена, до того как атрибут «status:» стал обязателен для объектов inetnum. Объект не был с тех пор скорректирован. Новые объекты не могут быть созданы с таким значением. Значение может быть изменено пользователями базы данных.
ASSIGNED PA: Это пространство адресов было назначено конечному пользователю для пользования услугами, предоставляемыми выдающей LIR. Оно не может быть сохранено после завершения использования услуг, предоставляемых этой LIR.
ASSIGNED PI: Это пространство адресов было назначено конечному пользователю и может сохраняться за ним сколь угодно долго, пока исходный критерий назначения действителен.
Создание объекта inetnum со статусом «ASSIGNED PA» или «ASSIGNED PI» возможно, только если не существует меньшего или большего по размерам пересекающегося по пространству адресов (специфичного) объекта inetnum со статусом «ASSIGNED».
Пространство адресов без явно прописанного типа в атрибуте «status:» принимается за PI. LIRы должны чётко обозначать все новые назначения в базе данных RIPE как «PA» либо «PI» соответственно.
RIPE NCC более не выделяет пространство адресов PI. Следовательно, у многих LIR нет выделенных им адресов PI, из которых они могут назначать адреса PI. Если у LIR есть конечный пользователь, которому требуется пространство адресов PI, она может поддержать его, отправляя запросы в RIPE NCC от имени конечного пользователя. Эта поддержка включает в себя помощь конечным пользователям в подготовке соответствующим образом документированного запроса. RIPE NCC произведёт назначение адресов PI, когда это оправдано.
Subnets.ru blog
Сети, настройка оборудования, сетевые сервисы.
Объекты БД RIPE (ripe.net): mntner, as-set, aut-num, route, inetnum, person, domain, role
Раз вы добрались до конфигурации протокола BGP значит «общения» с базой данных (далее просто « БД «) RIPE вам не избежать.
В этой статье я попытаюсь рассказать о том, какие объекты в этой БД вам необходимы для запуска и как они используются.
Итак, вы прошли процесс получения статуса LIR, собственного блока IP-адресов и номера автономной системы (ASNum).
Справка:
Локальный Интернет-реестр (LIR – Local Internet Registry) – термин, используемый для описания членов RIPE NCC.
Их называют локальными Интернет-реестрами (LIR) потому что они несут ответственность за распределение адресного пространства и регистрацию адресного пространства на локальном уровне.Локальные Интернет-реестры также утверждают общеобязательные политики и процедуры на локальном уровне. Организации, которые становятся локальными Интернет-реестрами — это в основном Интернет-провайдеры (ISP), которые выделяют и назначают адресное пространство своим клиентам, телекоммуникационные организации и коммерческие предприятия наряду с академическими учреждениями. Академические учреждения – это организации, которым требуются большие блоки адресного пространства, которые не могут быть получены у вышестоящего провайдера.
ALLOCATION vs ASSIGNMENT
Для начала разберем два понятия:
С первым вроде все понятно, RIPE выделил вам какой-то блок для дальнейшего использования, а вот со вторым не все так просто.
Советы по заполнению ADDRESS PLAN :
Вы заполнили ADDRESS PLAN и отправили его в RIPE… ждем ответа… варианта два:
Использовать то вы его сможете, но если у вас кончится адресное пространство и вы заходите получить ещё блок адресов, то RIPE откажет вам, сославшись на то, что вы в текущий момент не используете свой первый ALLOCATED блок адресов. Посмотреть как RIPE видит текущее ваше использование выделенного вам адресного пространства можно с помощью утилиты Web Asused, указав свой Regid (например: ru.myisp) вам на email (указанный в lirportal) придет письмо содержащие отчет об использовании вами вашего адресного пространства.
Объекты в БД
БД состоит из многих объектов, мы рассмотрим некоторые из них. Для примера возьмем хорошего магистрального провайдера: Транстелеком.
Объект person [описание полей объекта]
Это описание человека. Пример:
Видео пример создания объекта: смотреть
Видео пример проверки объекта: смотреть
Похож на объект « person «, но предназначен для описания не только контактного лица, но и роли, которое оно выполняет. Кроме того, объект « role » позволяет объединить несколько персон, выполняющих общую функцию (например отдел тех. поддержки, системных администраторов и т.д.). Для задания административных и технических контактов рекомендуется по возможности применять именно объект « role «. Пример:
Одноименные поля, заполняются так же, как и в объекте « person «. Обратите внимание, что в отличие от объекта « person » поле « e-mail » здесь является обязательным.
В поле « role » указывается название службы, к которой относится объект.
В полях « admin-c » и « tech-c » указываются nic-handle персон, отвечающих за административные и за технические вопросы. Таких полей может быть несколько.
Этот объект описывает ASSIGNMENT блок (блоки, подсети) адресов. Пример:
Этот объект указывает на то, какой автономной системе принадлежит сеть. Пример:
Этот объект описывает автономную систему. Пример:
В нем описывают не только кому принадлежит данный номер, административные и технические контакты,
но и описание пиров (peer) данной автономной системы и комьюнити (communities) которые можно
использовать.
Пиры:
…………[skiped]………………..
import: from AS174 action pref=120; accept AS174:AS-COGENT;
import: from AS786 action pref=120; accept AS-JANETPLUS;
import: from AS1290 action pref=120; accept AS-PSINETUK;
import: from AS2110 action pref=120; accept AS-IEUNET;
import: from AS2119 action pref=120; accept AS-TELENOR;
import: from AS2529 action pref=120; accept AS-DEMON;
…………[skiped]………………..
Составив комьюнити, исходя из описания, и, огласив его вместе с исходящим от вас маршрутом(ами), автономная система пира (в данном примере AS20485) выполнит те или иные действия: выполнит prepend (препенд — когда в as-path подставляется N раз ваш номер AS, что увеличивает as-path и соответственно ухудшает маршрут) или вовсе «запретит» (не будет анонсировать своим соседям) этот маршрут (префикс).
Это может позволит вам балансировать входящий трафик на ваших внешних каналах.
Данный объект используется для настройки входящих BGP фильтров, используются или префиксы или as-path. Пример:
Этот объект отвечает за DNS сервера. Благодаря ему можно указать DNS сервера отвечающие за обратный резолв (PTR записи) для вашего блока адресов. Пример:
Это необходимо если вы хотите, чтобы на команду nslookup ВАШ-IP-АДРЕС, вы и остальной мир, получали имя.
Пример: nslookup 217.150.32.1
1.32.150.217.in-addr.arpa name = ttk-eth1.transtk.ru.
Произносится как maintainer.
Строка auth и содержит зашифрованный пароль. Пароль криптуется как и в ОС FreeBSD ( /etc/master.passwd ), поэтому при создании объекта mntner свой пароль можно скопировать из файла /etc/master.passwd лиюо воспользоваться утилитой Crypted password generation на сайте RIPE.
Видео пример создания объекта: смотреть
Обязательно защищайте свои объекты с помощью mntner (поле « mnt-by «). Посмотрите видео пример как это сделать: смотреть
Надеюсь, что хоть немного стало понятней, т.к. по себе знаю, что с нуля врубаться в это дело сложновато.
Если у вас уже есть номер атономной системы и свой блок адресов, то пора внести в БД недостающие части. Вносить изменения в можно двумя способами:
На вашем месте я бы сначала пользовался 2-ым способом, т.к. там есть подсказки при создании объектов.
В поле « netname :» вписываем название для своей сети так же указанную в Address Plan.
В поле « status :» пишем ASSIGNED PA
Что писать в поле « mnt-by :» вы уже знаете 😉
Все остальные объекты создаются/редактируются по тому же принципу.
В объекте domain добавте столько полей « nserver :» сколько вам необходимо. В них нужно указать DNS имена ваших DNS серверов которые будут отвечать за reverse delegation (обратный просмотр(резолв)) ваших адресов. В « zone-c :» указываем nic-hdl человека который в вашей организации будет отвечать за зоны обраного просмотра.
Важно: если вы отредактировали свой as-set (добавили/удалили что-то), то вам необходимо сообщить об этом вашим peer`ам (соседям), т.к. не у всех есть автоматический апдейт фильтров.
Отредактируйте (если это необходимо) свой объект aut-num например добавив поле(я) « remarks :» или « descr :» с более подробным описанием своей сети или юр.лица которому она принадлежит, а так же, возможно, обновив свой « import :» или « export :» лист.
Таким образом мы сделали все, что необходимо для запуска своей AS с собственным блоком адресов.
Помним, что полное описание полей объекта можно получить выполнив в БД с ключем -v и именем объекта который нас интересует: пример.
Поля, отмеченные как [mandatory] являются обязательными для заполнения, должны обязательно присутствовать в заявке.
Поля, отмеченные как [single] могут присутствовать в заявке только в единственном экземпляре.
Поля, отмеченные как [multiple] могут присутствовать в нескольких экземплярах (например для указания нескольких телефонных номеров).
Поле « source » должно содержать значение «RIPE».
Поле « mnt-by » применяется для выбора способа авторизации дальнейших изменений в создаваемом объекте (см. объект « mntner «).
Удаление из БД делается точно так же как и создание. Единственное отличие, то что в конце добавляется поле « delete: » в котором вы и указываете причину удаления этого объекта.
Пока это все что я хотел вам поведать, комментарии/замечания приветствуются.
Полезные ссылки:
З.Ы.Ы. Мы можем оказать вам содействие в получении статуса LIR, номера автономной системы и собственного блока адресов для Вашей организации на возмездной основе.
АРХИВНАЯ КОПИЯ САЙТА
Проекту 20.8 лет 





инструкция

Описание сервиса WHOIS
Сервис whois позволяет получить информацию о доменном имени. Для различных доменных зон выдается разный набор информации. В общем случае, это сведения о персоне или организации, на которую зарегистрирован домен, дата регистрации домена, дата окончания срока регистрации. В Сети можно найти очень много сайтов, на которых, введя в форму доменное имя и нажав кнопку Ок, за 5 секунд можно получить сведения о домене. Однако, доверять можно только сведениям, полученным от официальных координаторов зон, в которых находятся проверяемые доменные имена.
Вводим для примера доменное имя hostobzor.ru, получаем следующее:
Содержание ответа whois-сервиса в случае регистрации через РосНИИРОС и в случае регистрации через любого другого регистратора, как это не странно, очень различаются.
После блока с информацией о домене выводится блок с более полной информацией о владельце (администраторе) домена. Честно говоря, мы бы получили бы такой блок информации, если бы ввели в форму для проверки не имя домена, а идентификатор (nic-handle) владельца домена.
Строка «Last updated on …» содержит дату и время (по Москве) последнего изменения в базе данных РосНИИРОС, пусть даже и не связанного с Вашим доменом. При нормальном режиме работы базы данных отличается от текущего не более, чем на 10-15 минут.
1.1.1. Описание ответа whois для идентификаторов персон в БД РосНИИРОС
1.1.2. Описание ответа whois для идентификаторов организаций в базе данных РосНИИРОС
Содержание ответа не очень сильно разнится с тем, которое приведено для доменов второго уровня в пункте 1.1. Однако, из-за того, что регистрация данных доменов бесплатная, поле state может иметь только два значения: либо «Delegated», либо «RIPN NCC check in progress». Второе значение можно увидеть сразу после посылки заявки на регистрацию домена до того момента, когда заявка пройдет ручную модерацию и будут протестированы nc-сервера. После этого поле state меняет свое значение на «Delegated», все пьют шампанское и празднуют рождение нового бесплатного домена третьего уровня.
1.4. Редкие и специальные поля в whois ответе
Так как для данных доменных зон уже очень давно действует распределенная система регистраторов, то форма ответа основного whois-сервиса не отличается в зависимости от регистратора.
К примеру, возьмем домен pony.com:
Разберем поля более подробно:
Domain Name: PONY.COM
Собственно имя домена
Registrar: NETWORK SOLUTIONS, INC.
Название регистратора
Whois Server: whois.networksolutions.com
Адрес whois-сервера регистратора
Referral URL: http://www.networksolutions.com
Адрес сайта регистратора
Updated Date: 10-aug-2003
Дата последнего изменения информации о домене
Creation Date: 21-mar-1997
Дата регистрации домена
Expiration Date: 22-mar-2010
Дата истечения срока регистрации домена. Так как в данных зонах возможна регистрация/продление домена сроком не только на один год, но и на любое количество до десяти, дата истечения срока регистрации может отличаться от текущей на 10 и менее лет.
Наверное, Вы удивились почему ничего не указано про владельца домена. Все дело в том, что каждый регистратор ведет собственную базу данных по людям и возможны несоответствия форматов. Поэтому, в случае, если необходима более полная информация о домене и его владельце, необходимо зайти на сайт регистратора (он указан в поле Referral URL), найти там whois-сервис и все проверить.
Так как право владения домена в данных зонах большей частью подтверждается возможностью доступа к почтовому ящику, который указан в данных контакта, очень важно при регистрации домена указывать надежный, проверенный временем, желательно не бесплатный почтовый ящик. До 90% краж доменов происходит именно через взлом или неправомерный доступ к почтовому ящику.
Основы работы с базой данных RIPE
Данная статья задумывалась как отправная точка, которая поможет новичкам быстро вникнуть в суть работы с БД RIPE, чтобы в голове сложилась целостная картина и понимание, для чего в ней используются те или иные объекты. Отмечу, что данная статья дает только общее представление о работе с данной системой, не описывая детальные шаги, но тем не менее я надеюсь, что после прочтения вам будет легче разобраться в вопросе.
Рано или поздно большинство сетевых инженеров сталкиваются с необходимостью взаимодействия с базой данных RIPE. Например, если вы устроились на работу в компанию, предоставляющую доступ в интернет, или организацию, которая владеет собственной автономной системой, то вам с 99%-ной вероятностью потребуется периодически добавлять/удалять и поддерживать актуальной какую-то информацию в БД RIPE. Даже просматривая вакансии при поиске работы, иногда можно наткнуться на требование «Умение работать с RIPE».
Также в ходе своей работы, решении каких-то задач или устранении неполадок, вам может потребоваться, например, следующее: узнать контактные данные технических специалистов, администрирующих блоки определенных IP-адресов, уточнить политику маршрутизации, которая применяется в соседней с вами автономной системе, или направить жалобу о неправомерном использовании IP-адресов, принадлежащих какой-то организации и т. д. Когда сталкиваешься с этими задачами впервые, можно немного растеряться. Так что умение работать с БД RIPE и понимание того, как найти в ней необходимую информацию – это полезный и нужный навык.
В ходе данной статьи я попробую ответить на вопросы: что из себя представляет БД RIPE? Какие функции она выполняет? Какие основные объекты используются на практике?
Найти более подробную информацию вы всегда можете в официальной документации. В конце статьи также представлена ссылка на замечательный бесплатный курс от RIPE NCC, который включает в себя в том числе интересные интерактивные задачи, которые помогут получить практический опыт.
Начнем с определений:
1. IRR — Internet Routing Registry. Это глобальная распределенная база данных маршрутных политик. Задумывалась такая база как инструмент, с помощью которого операторы связи смогут делиться своими маршрутными политиками и информацией о том, какие сети и кому они анонсируют. В совокупности это должно способствовать большей стабильности работы сети Интернет, помогать инженерам при устранении неполадок, связанных с глобальной маршрутизацией. Также эта база может являться источником данных для различных программ, которые помогают автоматически генерировать конфигурацию оборудования на основании доступной там информации. IRR использует так называемый язык спецификации маршрутных политик (RPSL) для описания хранимых в ней данных. БД RIPE в том числе исполняет и функции IRR.
2. RPSL — Routing Policy Specification Language. Это язык, с помощью которого описываются маршрутные политики. Этот язык объектно-ориентированный, но к программированию он не имеет никакого отношения. По сути, он описывает классы объектов, а конкретные объекты в своих атрибутах содержат уже конкретную информацию. Например, есть класс aut-num, он описывает автономную систему: ее номер, какой организации принадлежит, к кому можно обратиться в случае проблем связности с этой автономной системой и т. д. Объекты, в свою очередь, являются кирпичиками, из которых состоит БД RIPE.
Подробнее про RPSL можно почитать тут:
Функции БД 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, либо одноименной утилитой, которая присутствует почти во всех дистрибутивах Linux.
Существует 4 способа добавить, изменить или удалить информацию:
1. Webupdates. Это самый простой и интуитивный способ работы с объектами. Вы просто заходите на сайт RIPE, авторизуетесь и с помощью веб-формы выполняете необходимые вам действия с объектами (при условии, что вы авторизованы это делать). Сам процесс выглядит так:
Шаг 1. Заходим в панель управления ресурсами, нажимаем «Create an Object», выбираем тип создаваемого объекта и нажимаем Create.
Шаг 2. В следующем окне заполняем обязательные поля и нажимаем Submit:
Если вы корректно заполнили все обязательные поля для создаваемого объекта, то все пройдет гладко, в противном случае вы увидите сообщение о том, где вы допустили ошибку.
2. По электронной почте.
Вы отправляете письмо на специальный почтовый адрес auto-dbm@ripe.net, в теле письма полностью описываете атрибуты и значения объекта, который вы хотите добавить, изменить или удалить. Сейчас этот способ применяется редко, куда проще воспользоваться другими методами.
Этот способ позволяет работать сразу с несколькими объектами одновременно. Его можно использовать как в ручном режиме, так и с собственными скриптами. Подробно данный способ описан в официальной документации.
Также работать с объектами в БД RIPE можно с помощью RESTful API. Данный способ удобно использовать для автоматизации каких-то действий с помощью скриптов.
Например, мы используем API БД RIPE следующим образом:
У нас есть IPAM система, в которой мы ведем учет всех наших IP-адресов. Когда нам необходимо выделить новую подсеть для клиента, то мы запускаем скрипт, который через API вытаскивает из IPAM первую свободную подсеть необходимого размера, далее через скрипт мы заполняем краткое описание назначения данной подсети. Затем скрипт с помощью API IPAM добавляет данную подсеть в базу IPAM, а с помощью API RIPE создает объект inetnum(6) в базе RIPE. Таким образом, нам не нужно самим заходить в IPAM, искать там свободную подсеть, затем заходить на сайт RIPE и создавать там новый объект вручную.
Общие свойства всех объектов
Как говорилось ранее, БД RIPE состоит из объектов. Каждый объект представлен двумя колонками: атрибуты (слева) и фактические значения (справа). Атрибуты всегда заканчиваются двоеточием «:».
Пример объекта, описывающего вымышленную организацию «Sandbox Inc.»:
Объекты имеют обязательные и опциональные атрибуты. Обязательные атрибуты должны присутствовать в каждом объекте соответствующего класса, например, атрибут «org-name:» в объекте «organisation» из примера выше. Некоторые атрибуты могут повторяться.
Здесь видно, что атрибут «phone:» является обязательным для объектов типа «role», а атрибут «e-mail:» – опциональным и может повторяться.
Когда вы создаете объект с помощью webupdates, то обязательные атрибуты сразу же отображаются в веб-форме, вам их нужно просто заполнить. Если же вы будете использовать какой-то скрипт для обновления через API, то уже сами должны позаботиться о том, чтобы не забыть указать обязательные атрибуты и их значения. Для этого удобно использовать шаблоны. Например, так может выглядеть шаблон Jinja2, описывающий объект inetnum в формате:
Если вы о чем-то забудете, то при попытке добавить объект в БД RIPE вам вернется код ошибки с описанием причины, по которой операция не может быть выполнена.
Также некоторые атрибуты объекта являются ключами. По ключам осуществляется поиск объектов в БД RIPE. Существует 3 типа ключей:
Данный запрос находит все объекты класса «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.
Далее пройдемся по всем этим объектам, чтобы понять их назначение.
Группа «Контакты»
Служит для описания контактной информации конкретного человека, который так или иначе связан с какими-то интернет ресурсами. Другие объекты, например «inetnum», могут ссылаться на объект person в своих атрибутах «admin-c» или «tech-c». Таким образом вы можете узнать контактную информацию человека или группы, которые отвечают за те или иные ресурсы.
В примере выше представлен объект inetnum, который содержит информацию о том, что блок IPv4 адресов 80.12.176.0/22 был выделен организации Sandbox и что в случае возникновения каких-то технических вопросов, связанных с данным блоком адресов, вы можете обращаться к персоне Jean Blue.
Был забавный случай, когда у моего бывшего коллеги раздался неожиданный звонок и человек на том конце трубки, не выбирая выражений, угрожал ему физической расправой. Выяснилось, что ему нагрубил какой-то школьник в онлайн-игре и скинул ему свой IP, который он узнал по запросу «узнать мой IP адрес». Разумеется, школьник сидел за NAT. Наш хакер, недолго думая, вбил другой запрос «узнать кому принадлежит IP» и увидел контактную информацию моего коллеги, которая содержится в RIPE. Пришлось объяснять местному «Кевину Митнику», что это немного не так работает 🙂
Похож на объект «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:».
Во-первых, этот объект, как и объекты «person» и «role», содержит контактную информацию, но уже об организации, которая владеет интернет-ресурсами, например: юридический адрес, телефон и т.д.
Во-вторых, это своего рода контейнер, который связывает все ресурсы организации. Такие объекты, как «inet(6)num» и «aut-num», обязаны иметь атрибут «org:», который указывает на то, какой организации выделены данные ресурсы.
Группа интернет-ресурсов
Данный объект создается в базе после того, как RIPE выделит какой-то организации определенный номер AS. Он показывает, кому принадлежит AS, и контактную информацию, по которой вы можете взаимодействовать с теми, кто за данную AS отвечает.
В этом объекте вы можете публиковать свою маршрутную политику.
Для этого используются атрибуты «import:» и «export:», в которых вы указываете, от кого и какие маршруты вы принимаете и кому и какие маршруты анонсируете. Также операторы обычно описывают политику BGP community именно в этом объекте. Для наглядного примера попробуйте поискать в БД RIPE номера AS крупных операторов, например, as8359.
Чтобы лучше понять, как описывается маршрутная политика, рассмотрим следующий пример:
Допустим, что вы являетесь небольшим провайдером, у вас есть 2 аплинка и 3 клиента.
Аплинкам вы анонсируете свои сети и сети ваших клиентов, от аплинков принимаете full view.
Клиентам вы анонсируете full view, а принимаете только префиксы, которые им принадлежат.
Описание маршрутной политики при этом может выглядеть так:
Стоит отметить, что политика может описывать не только то, какие префиксы вы анонсируете или принимаете, но и более сложные сценарии. Например, вы указываете, что на какой-то префикс вы вешаете local preference 200. С помощью набора инструментов IRRToolSet вы можете автоматически создавать конфигурацию маршрутизаторов на основе информации, описанной в объекте «aut-num». Подробнее тут:
Объекты «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 для каких-то нужд.
ASSIGNED – организация выделила блок IPv6 для каких-то нужд.
Группа политика маршрутизации
Это также одни из самых важных объектов в БД RIPE, они связывают AS и зарождающиеся в ней префиксы.
Если вы анонсируете какой-то префикс в Интернет, то вам необходимо создать объект «route» для этого префикса.
Почему важно это делать? Многие провайдеры автоматизируют процесс генерации фильтров BGP, которые вешают на анонсы от своих пиров. Реализуется это, например, с помощью утилиты bgpq3, которая обращается в RIPE и автоматически на основании объектов «route» генерирует соответствующий кусок конфига для создания фильтров. Все те префиксы, которые не описаны в объектах «route», не попадут в конфигурацию, поэтому может возникнуть ситуация, когда из-за этого ваши сети не будут доступны извне. Вам придется обращаться в поддержку вашего аплинка, чтобы он разрешил на своем оборудовании принятие от вас данного префикса или же создать объект route для нового префикса и дождаться следующего запуска скрипта на стороне вашего провайдера.
Это очень полезный объект, он помогает упростить процесс обновления маршрутных политик, которые описываются в объекте «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». Например:
Как уже отмечалось ранее, БД 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.0.0/22. Тогда для данного блока вы можете создать объекты «domain», которые будут указывать на ваши DNS сервера, которые являются авторитативными для данных обратных зон. Важно отметить, что объект «domain» может быть создан только для /16 и /24 ipv4 подсетей, поэтому, если у вас есть блок /22, вам придется создать 4 объекта domain для 4х /24 подсетей и, соответственно, 4 обратные зоны на вашем DNS сервере.
Безопасность объектов
Теперь, когда мы разобрались с основными объектами, поговорим про безопасность. БД RIPE – это публичная база данных, поэтому очень важно запретить делать что-либо с вашими объектами всем неавторизованным пользователям. Краеугольным камнем в безопасности БД RIPE является объект «maintainer». Это своего рода замок, который вы вешаете на каждый объект, и открыть его может только тот, кто имеет от него ключи. Существует 3 типа таких ключей:
Заключение
Данную статью я готовил на основе материала из официального курса от RIPE, который доступен по адресу https://academy.ripe.net. Если вы хотите лучше разобраться в вопросе и попрактиковаться на реальных примерах, то советую его пройти. Курс интерактивный, интересный и бесплатный.
Полезные запросы whois:







