RIPE OBJECTS

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

Объекты БД RIPE

object mntner, object as-set, object aut-num, object route object inetnum, object person, object domain, object role


Справка: Локальный Интернет-реестр (LIR – Local Internet Registry) – термин, используемый для описания членов RIPE NCC.

Их называют локальными Интернет-реестрами (LIR) потому что они несут ответственность за распределение адресного пространства и регистрацию адресного пространства на локальном уровне.Локальные Интернет-реестры также утверждают общеобязательные политики и процедуры на локальном уровне. Организации, которые становятся локальными Интернет-реестрами — это в основном Интернет-провайдеры (ISP), которые выделяют и назначают адресное пространство своим клиентам, телекоммуникационные организации и коммерческие предприятия наряду с академическими учреждениями. Академические учреждения – это организации, которым требуются большие блоки адресного пространства, которые не могут быть получены у вышестоящего провайдера.


ALLOCATION vs ASSIGNMENT

Для начала разберем два понятия:

  • ALLOCATION - выделенное провайдеру адресное пространство. Оно закреплено за ним в БД
  • ASSIGNMENT - текущее, одобренное RIPE, используемое провайдером адресное пространство так же описанное в БД

С первым вроде все понятно, RIPE выделил вам какой-то блок для дальнейшего использования, а вот со вторым не все так просто.

После того как RIPE сделал ALLOCATION какого либо блока вам необходимо согласовать с ними сколько и под какие нужды вы будете использовать адресное пространство. Вам придется заполнять форму в которой расписывать ADDRESS PLAN, что бы перевести часть адресного пространства из статуса ALLOCATED в статус ASSIGNED. Статус ASSIGNED будет означать, что RIPE одобрил вам использование адресного пространства под описанные вами нужды.

Советы по заполнению ADDRESS PLAN:

  • не указывайте сети под конечного пользователя более чем /30, т.к. иначе RIPE напишет вам, сеть более чем /30 считается как End User`s infrastructure и заставит ваших пользователей так же заполнять форму на выделение адресного пространства.
  • можно просить как минимум /24 под P2P (сети /30), в которые будут входить ваши каналы
  • так же две сети /24 можно попросить под активное оборудование: маршрутизаторы, сервера, voip железки и прочее, главное не переборщите.
  • RIPE очень любит когда пишут про NAT (адресное пространство ipv4 стремительно заканчивается), не разочаровывайте их, просите, опять таки не менее /24, под NAT сервера.
  • В кач-ве оборудования пишите все: сервера, циски (даже Catalyst), VoIP шлюзы, железные firewall`ы вообще все что можно :) , все для чего можно доказать необходимость внешнего адреса (если спросят ;) )

Вы заполнили ADDRESS PLAN и отправили его в RIPE… ждем ответа… варианта два:

  • их удовлетворит ваш запрос и они выставят статус ASSIGNED PA на сети которые они одобрили
  • скажут что именно их не устраивает и вам придется бодаться с ними далее.

Зачем все это ? Можете ли вы использовать адресное пространство в статусе ALLOCATED ?

Использовать то вы его сможете, но если у вас кончится адресное пространство и вы заходите получить ещё блок адресов, то RIPE откажет вам, сославшись на то, что вы в текущий момент не используете свой первый ALLOCATED блок адресов. Посмотреть как RIPE видит текущее ваше использование выделенного вам адресного пространства можно с помощью утилиты Web Asused, указав свой Regid (например: ru.myisp) вам на email (указанный в lirportal) придет письмо содержащие отчет об использовании вами вашего адресного пространства. Объекты в БД

Наиболее важные объекты

БД состоит из многих объектов, мы рассмотрим некоторые из них. Для примера возьмем хорошего магистрального провайдера: Транстелеком.

Объект person

[описание полей объекта]

Это описание человека. Пример:

person:          Yaroslav V Kapsalov
address:         JSC TransTeleCom
address:         7, Dolgorukovskaya st.
address:         127006 Moscow Russia
e-mail:          y.kapsalov@transtk.ru
phone:           +7 495 7846670
nic-hdl:         YARK-RIPE
source:          RIPE # Filtered

Объект person используется для указание административных (admin-c) и технических (tech-c) контактов где необходимо указать NIC-HDL, это уникальный инеднтификатор присваемый объекту person в БД. В данном примере nic-hdl это YARK-RIPE.


Объект role

[описание полей объекта]

Похож на объект «person«, но предназначен для описания не только контактного лица, но и роли, которое оно выполняет. Кроме того, объект «role» позволяет объединить несколько персон, выполняющих общую функцию (например отдел тех. поддержки, системных администраторов и т.д.). Для задания административных и технических контактов рекомендуется по возможности применять именно объект «role«. Пример:

role:            TTC NOC
address:         Company TransTeleCom Network Operation Center
address:         7, Dolgorukovskaya st.
address:         127006 Moscow Russia
remarks:         phone:          +7 095 7846677
phone:           +7 495 7846677
remarks:         phone:          +7 095 7846670
phone:           +7 495 7846670
remarks:         fax-no:         +7 095 7846671
fax-no:          +7 495 7846671

............[skiped]....................
mnt-by:          TRANSTELECOM-MNT
source:          RIPE # Filtered
............[skiped]....................

Одноименные поля, заполняются так же, как и в объекте «person«. Обратите внимание, что в отличие от объекта «person» поле «e-mail» здесь является обязательным.

В поле «role» указывается название службы, к которой относится объект.

В полях «admin-c» и «tech-c» указываются nic-handle персон, отвечающих за административные и за технические вопросы. Таких полей может быть несколько.

Объект inetnum

[описание полей объекта]

Этот объект описывает ASSIGNMENT блок (блоки, подсети) адресов. Пример:

inetnum:         217.150.32.0 - 217.150.32.255
netname:         TTK-OFFICE-NET
descr:           Transtelecom Office Network
descr:           Moscow, Russia
country:         RU
admin-c:         KTTK-RIPE
tech-c:          KTTK-RIPE
status:          ASSIGNED PA
remarks:         INFRA-AW
mnt-by:          TRANSTELECOM-MNT
source:          RIPE # Filtered

Статус (status)- атрибут объектов inetnum , которые содержат информацию о выделении и назначении пространства IP-адресов (более подробная информация находится в документе ripe-387). В следующей таблицы приведена расшифровка значений статусов блоков IP-адресов. Пояснение:

  • ALLOCATED PA Данное адресное пространство выделено локальному реестру (LIR), и никакие назначения (assignments) и суб-выделения (sub-allocation) , сделанные в этом пространстве , не являются портабельными (portable) при перемещении (конечного пользователя , которому назначены адреса из этого пространства) к другому провайдеру.
  • ALLOCATED PI Данное адресное пространство было выделено локальному или региональному реестру , и все назначения , сделанные в нем , портабельны. Назначения (после перемещения к другому провайдеру ) могут быть сохранены так долго , пока выполняются критерии первоначального назначения. Никакие суб-выделения не могут быть сделаны в данном адресном пространстве.
  • ASSIGNED PA Данное адресное пространство было назначено конечному пользователю для использования с услугами , предоставляемыми соответствующим локальным реестром. Оно не может быть сохранено при отказе от услуг , предоставляемых локальным реестром.
  • ASSIGNED PI Данное адресное пространство было назначено конечному пользователю и оно может быть сохранено так долго , пока выполняются критерии первоначального назначения
  • EARLY REGISTRATION Адресное пространство с данным статусом используется администрацией базы данных RIPE при перемещении пре-RIR регистраций из базы данных ARIN. Это значение может быть изменено пользователями базы данных (RIPE) (кроме значения ALLOCATED PA) . Объекты с подобным статусом могут создавать только администраторы базы данных RIPE.
  • NOT-SET Это значение показывает , что соответствующие адресные пространства (точнее , соответствующие объекты типа Inetnum) были зарегистрированы до того , как атрибут «статус» стал обязательным для объектов типа Inetnum. Соответствующий объект не был обновлен с тех пор. Объекты с таким значением статуса не создаются. Данное значение статуса может быть изменено пользователями базы данных.
  • SUB-ALLOCATED PA Данное адресное пространство было выделено локальным реестром нижестоящему сетевому оператору , который будет (сам) назначать адреса (конечным пользователям) из данного пространства. Все назначения из данного пространства являются PA. Они не могут быть сохранены при смене услуги на другую , предоставляемую другим провайдером.
  • ALLOCATED UNSPECIFIED Данное адресное пространство выдлено локальному или региональному реестру. Назначения (assignments) могут быть PI и PA . Этот статус предназначен для адресных пространств , выделенных согласно устаревшим на данный момент документам , когда существовали одновременно назначения (assignments) обоих типов. Присваивания данного статуса новым выделенным адресным пространствам избегают. Суб-выделения адресных пространств в данном типе адресного пространства не могут быть совершены.
  • LIR-PARTITIONED PA Данный статус позволяет локальным реестрам документировать распределение и делегировать управление выделенным пространством внутри своих организаций. Адресное пространство с данным статусом не считается используемым. Когда адреса из такого пространства используются , должен быть зарегистрирован более конкретный объект типа Inetnum для этих адресов.
  • 0 Данный статус не является статусом , официально утвержденным RIPE NCC, значение 0 («нуль») всего лишь отмечает , что статус данного блока адресов неизвестен , это значение используется только данной релизацией базы данных географической привязки


Объект route

Этот объект указывает на то, какой автономной системе принадлежит сеть. Пример:

route:           217.150.32.0/19
descr:           RU-TRANS-TELECOM-20010213
origin:          AS20485
mnt-by:          TRANSTELECOM-MNT
source:          RIPE # Filtered

Из этого следует, что сеть 217.150.32.0/19 оглашается автономной системой с номером 20485. Ключом route объекта являются одновременно два поля: route и origin . В поле route указывается диапазон адресов, за маршрутизацию которых в Интернет будет отвечать автономная система, номер которой указан в поле origin .

Объект aut-num

Этот объект описывает автономную систему. Пример:

aut-num:         AS20485
as-name:         TRANSTELECOM
descr:           JSC Company TransTeleCom
descr:           Moscow, Russia
............[skiped]....................

В нем описывают не только кому принадлежит данный номер, административные и технические контакты, но и описание пиров (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), префиксы каких автономных систем принимаются от указанных пиров. Может быть указано как и одиночная AS так и as-set.

…………[skiped]………………
export: to AS174 announce AS-TTK;
export: to AS786 announce AS-TTK;
export: to AS1290 announce AS-TTK;
export: to AS2110 announce AS-TTK;
export: to AS2119 announce AS-TTK;
export: to AS2529 announce AS-TTK;
…………[skiped]………………

Показывает какие маршруты оглашаются автономной системой Транстелекома (AS20485) своим пирам. Так же может быть указана одна AS или as-set (в данном примере используется именно as-set)

Комъюнити:

…………[skiped]………………

remarks: +==============================================================+
remarks: | BGP COMMUNITIES |
remarks: +—————————————————————
remarks: | Communities for prefix classification |
remarks: +—————————————————————
remarks: | All inbound prefixes are marked with BGP communities |
remarks: | which describe their source and geographical region. |
remarks: | The format for the second component of community |
remarks: | (number after 20485:) is set at five digits. |
remarks: | This format is 20485:SNNRR where the fields are: |
remarks: | |
remarks: | S — source of the prefix: |
remarks: | |
remarks: | 1 — Customer |
remarks: | 2 — Upstream |
remarks: | 3 — International peer |
remarks: | 4 — Russian peer |
remarks: | |
remarks: | NN — Upstream, peer or customer number: |
remarks: | |
remarks: | Customers: |
remarks: | 11 — BGP with Internal Internet Access |
remarks: | 13 — BGP with Partial Internet Access |
remarks: | 17 — BGP with Global Internet Access |
remarks: | Static routes from CTTC allocations: 20485:61RR|
remarks: | Upstreams: |
remarks: | 01 — Cable&Wireless (AS1273) |
remarks: | 02 — Telia (AS1299) |
remarks: | 03 — NTT (AS2914) |
remarks: | 05 — PCCW (AS3491) |
remarks: | 07 — UUNET (AS702) |
remarks: | International peers: |
remarks: | 01 — SONG (AS3246) |
remarks: | 03 — GOOGLE (AS15169) |
remarks: | 04 — LINX |
remarks: | 05 — RETN (AS9002, International peers) |
…………[skiped]……………

Описывает как используются/использовать комъюнити с данной автономной системой. Комъюнити может выставляться на все маршруты или только на некоторые. Комъюнити состоит из ASNUM:COMMNUM — номер автономной системы родителя данного комъюнити : 20485:20100 По комъюнити можно понять откуда пришел маршрут и использовать их в своих фильтрах (route-map). Так же с их помощью можно «просить» автономную систему соседа сделать что либо с оглашаемыми вашей AS маршрутами (префиксами).

…………[skiped]………………..
remarks: +—————————————————————+
remarks: | Communities for prefix control |
remarks: +—————————————————————+
remarks: | !!!ATENTION!!! |
remarks: | The using of this communities may cause connectivity |
remarks: | problems and you must clearly understand what you |
remarks: | are doing. TransTeleCom does not bear any responsibility |
remarks: | if there will be such troubles. |
remarks: +—————————————————————+
remarks: | There are two predetermined eBGP session types which |
remarks: | customers may use: |
remarks: | 1 — Global Internet Access. CTTC announce |
remarks: | customer’s prefixes to all customers, |
remarks: | upstreams and peers. |
remarks: | BGP communities are available. |
remarks: | |
remarks: | 2 — Access to customers and Russian peers. |
…………[skiped]………………..
remarks: | — To prepand or deny prefix use 20485:5DNNA, where: |
remarks: | |
remarks: | D — destination of the prepend or deny action: |
remarks: | 2 — Upstreams |
remarks: | 3 — International peers |
remarks: | 4 — Russian peers |
remarks: | 9 — Upstreams and Peers |
…………[skiped]………………..
remarks: | A — action: |
remarks: | |
remarks: | 0 — don’t announce prefix |
remarks: | 1 — announce with one prepend |
remarks: | 2 — announce with two times prepend |
remarks: | 3 — announce with three times prepend |
…………[skiped]………………..

Составив комьюнити, исходя из описания, и, огласив его вместе с исходящим от вас маршрутом(ами), автономная система пира (в данном примере AS20485) выполнит те или иные действия: выполнит prepend (препенд — когда в as-path подставляется N раз ваш номер AS, что увеличивает as-path и соответственно ухудшает маршрут) или вовсе «запретит» (не будет анонсировать своим соседям) этот маршрут (префикс). Это может позволит вам балансировать входящий трафик на ваших внешних каналах.

Объект as-set

Этот объект описывает (включает в себя) несколько автономных систем или других as-set.

Данный объект используется для настройки входящих BGP фильтров, используются или префиксы или as-path. Пример:

as-set: AS-TTK descr: Customers with TransTeleCom Global Access members: AS20485 members: AS-CTTC members: AS-KTTK members: AS-SETTC members: AS-SIBTTK members: AS-STTK members: AS-SUTTK members: AS-TTKNN members: AS-TTKNN-IZHEVSK members: AS-UMN members: AS-UMN-TMN members: AS-VTT members: AS-ZSTTK-SET members: AS33989

............[skiped].................... mnt-by: TRANSTELECOM-MNT source: RIPE # Filtered

Внутри объекта as-set member`ом может быть как и одна AS (например AS33989) так и другие as-set`ы (например AS-CTTC). Воспользовавшись утилитой на нашем сайте вы сможете построить фильтры по as-set (внимание ! Объект as-set должен существовать в БД RIPE).

В данном примере имя as-set`а — AS-TTK.

Объект domain [описание полей объекта]

Этот объект отвечает за DNS сервера. Благодаря ему можно указать DNS сервера отвечающие за обратный резолв (PTR записи) для вашего блока адресов. Пример:

domain: 32.150.217.in-addr.arpa descr: Reverse delegation for TRANS-TELECOM-NET remarks: INFRA AW admin-c: KTTK-RIPE tech-c: KTTK-RIPE zone-c: KTTK-RIPE nserver: dns-prim.transtk.ru nserver: dns-sec.transtk.ru nserver: ns.transtelecom.net nserver: ns1.transtelecom.net mnt-by: TRANSTELECOM-MNT source: RIPE # Filtered

Это необходимо если вы хотите, чтобы на команду nslookup ВАШ-IP-АДРЕС, вы и остальной мир, получали имя.

Пример: nslookup 217.150.32.1 1.32.150.217.in-addr.arpa name = ttk-eth1.transtk.ru.

Объект mntner [описание полей объекта]

Произносится как maintainer.

Этот объект необходим для защиты объектов в БД, основным признаком которого является схема аутентификации. При использовании ссылки на mntner в каком-либо объекте БД (включая сам mntner) объект считается защищенным от несанкционированного изменения/удаления, при этом степень защищенности определяется схемой аутентификации. Им как бы подписывают другие объекты, как сертификатом, подтверждая подлинность данных. В отличие от других объектов, объект mntner имеет пароль и для того, чтобы изменить другие объекты, в которых есть ссылка на mntner (при их создании/редктировании было добавлено поле «mnt-by«), вам необходимо знать его. Кем «подписан» можно видеть по полю mnt-by. Пример:

mntner: TRANSTELECOM-MNT descr: JSC TransTeleCom Maintainer admin-c: KTTK-RIPE tech-c: KTTK-RIPE auth: MD5-PW $1$dkAwA6S5$tP8KkASb5xG7atyTYxpDo/ mnt-by: TRANSTELECOM-MNT referral-by: RIPE-DBM-MNT source: RIPE # Filtered

Строка auth и содержит зашифрованный пароль. Пароль криптуется как и в ОС FreeBSD (/etc/master.passwd), поэтому при создании объекта mntner свой пароль можно скопировать из файла /etc/master.passwd лиюо воспользоваться утилитой Crypted password generation на сайте RIPE.

Видео пример создания объекта: смотреть

Обязательно защищайте свои объекты с помощью mntner (поле «mnt-by«). Посмотрите видео пример как это сделать: смотреть

Надеюсь, что хоть немного стало понятней, т.к. по себе знаю, что с нуля врубаться в это дело сложновато.

Так что дальше ?

Если у вас уже есть номер атономной системы и свой блок адресов, то пора внести в БД недостающие части. Вносить изменения в можно двумя способами:

   отправить письмо с полным описанием объекта на email auto-dbm@ripe.net. В ответ вам придет письмо или «SUCCESS: changes» или «FAILED: changes» с описанием ошибок которые вы допустили.
   воспользоваться online утилитой Webupdates

На вашем месте я бы сначала пользовался 2-ым способом, т.к. там есть подсказки при создании объектов.

Сначала создадим объект person. Заходим на Webupdates, в разделе «Create a new object» выбираем объект person и жмем «Add object». Заполняем все необходимые поля и жмем «Submit update» и читаем создался ли объект или проишошла какая либо ошибка. Если какие либо поля вызывают сомнения то жмем «?» и читаем описание-подсказку. Поле «nic-hdl» можно выставить в AUTO-1, тогда БД сама сгенерит имя для этого объекта.

Теперь создадим mntner. Опять идем в «ADD» на Webupdates и выбираем объект mntner.

В поле «mntner:» пишем MNT-YOUR-PROVIDER-NAME или YOUR-PROVIDER-NAME-MNT. В поле «admin-c:» пишем nic-hdl (которые мы получили после создания объекта person.) — это будет использоваться для административных контактов. В поле «auth:» пишем MD5-PW ВАШ-ПАРОЛЬ-В-MD5 В поле «referral-by:» пишем RIPE-DBM-MNT

После создания объекта mntner можно вернуться к объекту person, но уже редактируя, т.е. раздел «Modify or delete an existing object» — вводим свой nic-hdl. В радактировании добавляем поле «mnt-by» (воспользовавшись формой «Add New Field» внизу страницы), в нем указываем имя которое мы писали создавая объект mntner, например MNT-YOUR-PROVIDER-NAME, но теперь необходимо добавить поле «password» в котором ввести некриптованый пароль, дабы подтвердить владение объектом mntner. «Подписав» объект person своим объектом mntner вы избегаете того, что кто либо изменит ваш объект person без вашего ведома, т.к. теперь для любого изменения этого обекта будет требоваться пароль mntner`а.

Далее необходимо создать объект inetnum.

В поле «inetnum:» вписываем сеть которую мы согласовали с RIPE когда писали Address Plan. Например: 217.150.32.0 — 217.150.32.255

В поле «netname:» вписываем название для своей сети так же указанную в Address Plan.

В поле «status:» пишем ASSIGNED PA

Что писать в поле «mnt-by:» вы уже знаете ;)

Все остальные объекты создаются/редактируются по тому же принципу.

Создайте объекты route, domain, as-set.

В объекте domain добавте столько полей «nserver:» сколько вам необходимо. В них нужно указать DNS имена ваших DNS серверов которые будут отвечать за reverse delegation (обратный просмотр(резолв)) ваших адресов. В «zone-c:» указываем nic-hdl человека который в вашей организации будет отвечать за зоны обраного просмотра.

В объекте as-set добавте поле «members:». Если ваша AS пока не транзитная, то напишите в нем ASНОМЕР_ВАШЕЙ_AS, поле «as-set:» является именем вашего будущего as-set`а. Обычно имя выглядит как AS-PROVIDER_NAME, например AS-TTK.

Создать его нужно для того, что если вас спросят «По какому объекту строить фильтры ?», то вам необходимо говорить что это as-set и его имя. Это для Вашего же удобства.

Важно: если вы отредактировали свой as-set (добавили/удалили что-то), то вам необходимо сообщить об этом вашим peer`ам (соседям), т.к. не у всех есть автоматический апдейт фильтров.

Отредактируйте (если это необходимо) свой объект aut-num например добавив поле(я) «remarks:» или «descr:» с более подробным описанием своей сети или юр.лица которому она принадлежит, а так же, возможно, обновив свой «import:» или «export:» лист.

Таким образом мы сделали все, что необходимо для запуска своей AS с собственным блоком адресов.

Помним, что полное описание полей объекта можно получить выполнив в БД с ключем -v и именем объекта который нас интересует: пример.

Поля, отмеченные как [mandatory] являются обязательными для заполнения, должны обязательно присутствовать в заявке.

Поля, отмеченные как [single] могут присутствовать в заявке только в единственном экземпляре.

Поля, отмеченные как [multiple] могут присутствовать в нескольких экземплярах (например для указания нескольких телефонных номеров).

Поле «changed» должно содержать адрес электронной почты человека, который отправляет данную заявку (или вносит изменения) и дату внесения изменений в формате ГГГГММДД.

Поле «source» должно содержать значение «RIPE».

Поле «mnt-by» применяется для выбора способа авторизации дальнейших изменений в создаваемом объекте (см. объект «mntner«).

Удаление из БД делается точно так же как и создание. Единственное отличие, то что в конце добавляется поле «delete:» в котором вы и указываете причину удаления этого объекта.

Для удобства использования WebUpdates, дабы не вводить пароль от объекта mntner, можно использовать авторизацию до проведения необходимых изменений: смотреть

Пока это все что я хотел вам поведать, комментарии/замечания приветствуются.

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

   RIPE Database Document Library
   Web Asused
   WebUpdates
   IPCount tool
   ASInuse
   PrefixInuse
   BGPlay
   RIPE FTP

Ссылки

Взял тут http://subnets.ru/blog/?p=24