Создание ROA в базе данных RIPE
Route Origin Authorization (ROA) — это криптографически подписанный объект, который авторизует конкретную автономную систему (AS) на анонсирование определённого IP-префикса. ROA являются основой валидации происхождения маршрутов на базе RPKI.
Шаг 1: Войдите в портал RIPE NCC
- Перейдите на https://my.ripe.net
- Авторизуйтесь с помощью учётных данных RIPE NCC Access
- Перейдите в раздел «My Resources» → «Resource Management»
Шаг 2: Перейдите в панель RPKI
- В портале RIPE NCC нажмите «RPKI» в левой боковой панели
- Выберите «ROAs», чтобы просмотреть текущий список ROA
- Нажмите «Create ROA» для начала создания
Шаг 3: Заполните параметры ROA
При создании ROA необходимо указать следующие параметры:
| Параметр | Описание | Пример |
|---|---|---|
| Prefix | IP-префикс, который вы хотите авторизовать | 192.0.2.0/24 |
| Maximum Length | Максимальная длина префикса для авторизации | 24 |
| Origin AS | Номер AS, авторизованной для анонсирования этого префикса | AS64496 |
Важные замечания о Maximum Length
- Установка max length равной длине префикса (например,
/24для префикса/24) — наиболее безопасный вариант: авторизуется только точный префикс. - Установка большей max length (например,
/32для префикса/24) позволяет AS анонсировать более специфичные маршруты. - Лучшая практика: оставляйте max length равной длине префикса, если у вас нет конкретной причины для разрешения более специфичных анонсов.
Установка max length больше длины префикса может подвергнуть вас атаке перехвата под-префиксов. Увеличивайте это значение только если вам действительно нужно анонсировать более специфичные префиксы.
Шаг 4: Создание ROA через веб-интерфейс
- Введите префикс (например,
192.0.2.0/24) - Установите максимальную длину префикса (например,
24) - Введите номер Origin AS (например,
AS64496) - Нажмите «Add»
- Проверьте детали ROA и нажмите «Publish»
Шаг 5: Создание ROA через API
Вы также можете создавать ROA программно, используя API RIPE NCC:
curl -X POST "https://my.ripe.net/api/rpki/roas" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"added": [
{
"asn": "AS64496",
"prefix": "192.0.2.0/24",
"maximalLength": 24
}
],
"deleted": []
}'
Шаг 6: Проверка ROA
После создания ROA убедитесь, что он опубликован корректно:
- Перейдите в RPKI Validator или используйте инструмент RIPE Stat
- Найдите ваш префикс
- Статус должен отображаться как «Valid» для вашей комбинации AS и префикса
Вы также можете проверить через командную строку:
# Проверка статуса ROA через RIPE Stat API
curl -s "https://stat.ripe.net/data/rpki-validation/data.json?resource=AS64496&prefix=192.0.2.0/24" | jq '.data.validating_roas'
Создание ROA для IPv6
Процесс идентичен для IPv6-префиксов. Пример:
| Параметр | Значение |
|---|---|
| Prefix | 2001:db8::/32 |
| Maximum Length | 48 |
| Origin AS | AS64496 |
Для IPv6 распространённой практикой является установка max length в /48 для аллокации /32, так как многие операторы назначают клиентам префиксы /48.
Типичные ошибки, которых следует избегать
- Не создали ROA для всех анонсируемых префиксов — Любой префикс без ROA будет иметь RPKI-статус «Not Found», и сети, применяющие RPKI, могут в будущем фильтровать такие маршруты.
- Создали ROA с неправильным номером AS — Это приведёт к тому, что ваши маршруты будут отмечены как «Invalid» и отброшены сетями, применяющими RPKI.
- Не создали ROA перед сменой вышестоящего провайдера — Создайте новый ROA до вывода из эксплуатации старого, чтобы избежать инвалидации маршрутов во время перехода.
- Установили max length слишком широко — Оставляйте его как можно более ограниченным.