Инструкция по настройке RIPEdb для включения в UA-IX

1. Для подключения к точке обмена трафиком UA-IX необходимо выполнить условия договора:

- "Наличие собственной автономной системы (далее - AS), зарегистрированной в RIPE и соответствующим образом оформленной в базе данных RIPE (далее – RIPEdb).
- "Наличие блока адресов, связанного с этой AS соответствующими записями в базе данных RIPE."

2. Для проверки записей в RIPEdb используйте ресурс https://apps.db.ripe.net/search/query.html или программу whois, которая доступна в дистрибутивах *nix совместимых ОС.

3. В RIPEdb зарегистрированный провайдер имеет набор объектов (текстовых записей), администратор сети Участника должен иметь доступ к своим объектам для редактирования, обычно после регистрации автономной системы и блока сетей, LIR выдает пароль для объекта mnt-by:, с помощью этого пароля можно редактировать свои записи, пароль от этого объекта передавать другим лицам нельзя.

4. Типовые настройки объектов:
4.1. Объект aut-num описывает номер автономной системы Участника и способ взаимодействия с другими автономными системами, объект содержит атрибуты:
import - это поле описывает что ПРИНИМАЕТ ваша автономная система от другой автономной системы например: "from (от кого) AS15645 (автономная система соседа) action (действие) pref=50 (приоритет принятой маршрутной информации 50 ); accept ( разрешить) AS-UAIX (автономные системы в as-set: AS-UAIX ), или с автономной системы точки обмена UA-IX принимаем все сети участников приоритетом 50. Еще один типовой пример клиента Участника: "from AS65400 action pref=10; accept AS65400 " означает - с автономной системы моего клиента принять автономную систему моего клиента с приоритетом 10.

export: описывает что ваша автономная система ОТДАЕТ в другую автономную систему, вполне логично что мы должны отдавать свою AS65100 и своих клиентов ( см. п4.2).
Описывается аналогично полю import.

Приоритет pref может принимать значение от 0 до 65535, чем меньше значение приоритета, тем более предпочитаемый маршрут! Обратите, пожалуйста, внимание: многие путают атрибут pref и параметр BGP local-preference, атрибут pref является инверсным по отношению к атрибуту local-pref (т.e. local-pref == 65535-pref).

Настроим для примера взаимодействие нашей AS65100, апстрима AS65000 и точки обмена UA-IX.
пример 1:

aut-num: AS65100
as-name: NNN-AS
descr: TOV NNN
import: from AS65000 action pref=100; accept ANY (от нашего вышестоящего провайдера принимает все маршруты c приоритетом 100)
export: to AS65000 announce AS65100 (вышестоящему провайдеру анонсируем все сети в нашей автономной системе)

import: from AS15645 action pref=50; accept AS-UAIX (принимаем с точки обмена UA-IX сети всех участников с приоритетом 50)
export: to AS15645 announce AS65100

admin-c: NNN-RIPE
tech-c: NNN-RIPE
mnt-by: MNT-NNN
mnt-routes: MNT-NNN

Согласно примера выше мы от AS65000 принимаем все сети интернет , а с AS15645 мы принимаем участников точки обмена UAIX, параметр (объект) AS-UAIX называется as-set (cм п.4.2).

4.2. Объект as-set: описывает группу автономных систем, название может быть произвольным, желательно начинающееся с символов AS-[любое слово на англ.], например AS-GOOGLE
Для примера сеть участника называется NNN, участник имеет aut-num: AS65100, участник имеет канал в интернет через провайдера AS65000, участник имеет два клиента с AS65400 и AS65500. Так как нам надо еще и маршрутизировать двух клиентов, мы создаем as-set: AS-NNN, в котором перечисляем своих клиентов и свою автономную систему:

Пример 2:
as-set: AS-NNN
descr: NNN client
members: AS65100 (указываем свой aut-num)
members: AS65400 ( клиент)
members: AS65500 ( клиент)
tech-c: NNN-RIPE
admin-c: NNN-RIPE
mnt-by: MNT-NNN

Часто в as-set добавляют вышестоящих провайдеров к котором подключен участник, это является грубым нарушением и может привести к печальным последствиям при маршрутизации трафика участника. В as-set описываем только тех, кого мы будем "отдавать" в сеть интернет.

Переделаем пример 1 , но будем анонсировать не только себя а и своих клиентов с помощью as-set: AS-NNN

пример 3
aut-num: AS65100
as-name: NNN-AS
descr: TOV NNN

import: from AS65000 action pref=100; accept ANY (от нашего вышестоящего провайдера принимает все маршруты c приоритетом 100)
export: to AS65000 announce AS-NNN (вышестоящему провайдеру анонсируем все сети в нашей автономной системе и своих клиентов)
import: from AS15645 action pref=50; accept AS-UAIX (принимаем с точки обмена UA-IX сети всех участников с приоритетом 50)
export: to AS15645 announce AS-NNN (анонсируем в точку обмена UA-IX сети из своей автономной ситемы и сети своих клиентов)

import: from AS65400 action pref=10; accept AS65400 (маршруты от наших клиентов всегда должны быть самыми предпочитаемыми)
export: to AS65400 announce ANY (своему клиенту анонсируем всю свою маршрутную инофрмацию)
import: from AS65400 action pref=10; accept AS65400
export: to AS65400 announce {0.0.0.0/0} (а этому клиенту анонсируем маршрут по умолчанию)

admin-c: NNN-RIPE
tech-c: NNN-RIPE
mnt-by: MNT-NNN
mnt-routes: MNT-NNN

 
Согласно этого примера мы в точку обмена UA-IX (AS15645) и вышестоящему провайдеру проанонсируем сети с автономных систем: AS65100 , AS65400, AS65500.
Маршруты принятые с AS15645 имеет большее предпочтение чем маршруты принятые от вышестоящего провайдера, маршруты принятые от наших клиентов самые предпочтительные т.к. они подключены непосредственно к нашей AS65100.

4.3 Автономная система участника должна иметь объекты route, с помощью этих объектов к вашей автономной системе привязываются сети IPv4 и IPV6, если такой привязки нет, то у вас нет возможности включится в точки обмена трафиком или вышестоящим провайдерам.

Пример 4

route: 192.168.0.0/23
descr: Network 1
origin: AS65100
mnt-by: MNT-NNN
source: RIPE #Filtered

В этом примере сказано что сеть 192.168.0.0/24 привязана к вашей автономной системе AS65100, часто его называют route object или объект маршрутизации.

4.4 При регистрации у вашего LIR объектов AS+PI, LIR обязан вам создать объект inetnum

inetnum: 192.168.0.0 - 192.168.1.255
netname: NNN-NET
descr: TOV NNN
country: UA
org: ORG-NNN-RIPE
admin-c: NNN-RIPE
tech-c: NNN-RIPE
status: ASSIGNED PI
mnt-by: RIPE-NCC-END-MNT
mnt-by: NNN-IMC
mnt-lower: RIPE-NCC-END-MNT
mnt-routes: MNT-NNN
mnt-domains: MNT-NNN

5. Часто возникает вопрос - а как настраивать AS если участник подключен к нескольким точкам обмена трафиком, или имеет паритетные каналы с другими провайдерами.
Например вы подключены в точку обмена AS65888, у вас есть пиринг с AS65450, модифицируем пример 3:

пример 4

aut-num: AS65100
as-name: NNN-AS
descr: TOV NNN
remarks:--------External---------- (для удобства чтения в RIPEdb можно добавлять поля с произвольным текстом )
import: from AS65000 action pref=100; accept ANY
export: to AS65000 announce AS-NNN

remarks:--------Internet Exchange ---
import: from AS15645 action pref=50; accept AS-UAIX
export: to AS15645 announce AS-NNN
import: from AS65888 action pref=70; accept AS-XXX-IX (точка обмена XXX-IX менее предпочитаемая чем UAIX)
export: to AS65888 announce AS-NNN

remarks:--------Paritet-----------
import: from AS65450 action pref=30; accept AS65450 (пиринг, или обмен своими сетями и своих клиентов с родственным провайдером)
export: to AS65450 announce AS-NNN

remarks:--------Clients-----------
import: from AS65400 action pref=10; accept AS65400 (маршруты от наших клиентов всегда должны быть самыми предпочитаемыми)
export: to AS65400 announce ANY (своему клиенту анонсируем всю свою маршрутную инофрмацию)
import: from AS65400 action pref=10; accept AS65400
export: to AS65400 announce {0.0.0.0/0} (а этому клиенту анонсируем маршрут по умолчанию)

admin-c: NNN-RIPE
tech-c: NNN-RIPE
mnt-by: MNT-NNN
mnt-routes: MNT-NNN

В этом примере для AS65100 участника , предпочитаемые маршруты в порядке убывания будут: клиенты , паритеты, украинские точки обмена трафиком, все остальные сети интернет.