Перейти к основному содержимому

Анонсирование IPv6 подсетей на автономной системе AS205828 через основную AS206873 на RouterOS

Введение

В этом документе описано, как анонсировать IPv6 подсети автономной системы AS205828 через основную транзитную AS206873 с использованием MikroTik RouterOS на одном и том же граничном роутере 194.150.234.1.

Агрегаты AS205828:

  • 2a0d:f847::/32
  • 2a09:a504::/32
  • 2a0c:9485::/32
  • 2a12:38c2::/32
  • 2a12:39c0::/32
  • 2a12:3042::/32

Требования

  • RouterOS (6.x или 7.x)
  • Доступ к BGP-сессии с провайдером (AS206873)
  • Делегированные IPv6-подсети AS205828
  • Включённый IPv6 стек

Шаг 1. IPv6-адрес на интерфейсе

Добавьте IPv6-адрес из вашего пула на нужный интерфейс (пример — /64 из 2a0d:f847::/32):

/ipv6 address add address=2a0d:f847:0:1::1/64 interface=ether1 advertise=yes

Можно пропусить если не нужно, чтобы работал на интерфейсе

Шаг 2. Настройка BGP-инстансов

На этом же роутере объявляются обе AS: транзитная 206873 (как default).

/routing bgp instance
set default as=206873 router-id=194.150.234.1
  • default — основная AS (транзитная, 206873) с router-id 194.150.234.1

Шаг 3. Добавляем локальный маршрут в таблицу FIB

/routing bgp network
add instance=AS205828 network=2a0d:f847::/32
add instance=AS205828 network=2a09:a504::/32
add instance=AS205828 network=2a0c:9485::/32
add instance=AS205828 network=2a12:38c2::/32
add instance=AS205828 network=2a12:39c0::/32
add instance=AS205828 network=2a12:3042::/32

Шаг 4. Добавляем маршруты IPv6 в таблицу маршрутизации с указанием AS и шлюза

Рекомендуется добавить blackhole-маршруты, чтобы сети считались присутствующими в RIB, и затем объявить их через BGP:

# Blackhole для агрегатов AS205828
/ipv6 route add dst-address=2a0d:f847::/32 distance=10 gateway=2a0b:6903:fdb:d151::2 bgp-as-path=205828
/ipv6 route add dst-address=2a09:a504::/32 distance=10 gateway=2a0b:6903:fdb:d152::2 bgp-as-path=205828
/ipv6 route add dst-address=2a0c:9485::/32 distance=10 gateway=2a0b:6903:fdb:d153::2 bgp-as-path=205828
/ipv6 route add dst-address=2a12:38c2::/32 distance=10 gateway=2a0b:6903:fdb:d154::2 bgp-as-path=205828
/ipv6 route add dst-address=2a12:39c0::/32 distance=10 gateway=2a0b:6903:fdb:d155::2 bgp-as-path=205828
/ipv6 route add dst-address=2a12:3042::/32 distance=10 gateway=2a0b:6903:fdb:d156::2 bgp-as-path=205828


Проверяем добавленные статические маршруты:

ipv6 route print where bgp-as-path=205828
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp,
U - unreachable
# DST-ADDRESS GATEWAY DISTANCE
0 A S 2a09:a504::/32 2a0b:6903:fdb:d152::2 10
1 A S 2a0c:9485::/32 2a0b:6903:fdb:d153::2 10
2 A S 2a0d:f847::/32 2a0b:6903:fdb:d151::2 10
3 A S 2a12:3042::/32 2a0b:6903:fdb:d156::2 10
4 A S 2a12:38c2::/32 2a0b:6903:fdb:d154::2 10
5 A S 2a12:39c0::/32 2a0b:6903:fdb:d155::2 10


Шаг 4. Рекомендуемая фильтрация анонсов

Разрешайте к отправке только ваши агрегаты, остальное отклоняйте.

Указывайте ваш chain, в моем приемер указан как DOM.RU-IPv6

RouterOS v6:

/routing filter add chain=DOM.RU-IPv6 prefix=2a0d:f847::/32 action=accept
/routing filter add chain=DOM.RU-IPv6 prefix=2a09:a504::/32 action=accept
/routing filter add chain=DOM.RU-IPv6 prefix=2a0c:9485::/32 action=accept
/routing filter add chain=DOM.RU-IPv6 prefix=2a12:38c2::/32 action=accept
/routing filter add chain=DOM.RU-IPv6 prefix=2a12:39c0::/32 action=accept
/routing filter add chain=DOM.RU-IPv6 prefix=2a12:3042::/32 action=accept
/routing filter add chain=DOM.RU-IPv6 action=discard

RouterOS v7 (пример с отдельной цепочкой):

/routing filter rule add chain=DOM.RU-IPv6 rule="if (dst in 2a0d:f847::/32 || dst in 2a09:a504::/32 || dst in 2a0c:9485::/32 || dst in 2a12:38c2::/32 || dst in 2a12:39c0::/32 || dst in 2a12:3042::/32) { accept } else { reject }"


Шаг 5. Проверка

routing bgp advertisements print where as-path=205828

Вывод команды:

PEER     PREFIX               NEXTHOP          AS-PATH                           ORIGIN     LOCAL-PREF
domru... 2a12:3042::/32 2a02:2698:a10... 205828 igp
domru... 2a12:39c0::/32 2a02:2698:a10... 205828 igp
domru... 2a12:38c2::/32 2a02:2698:a10... 205828 igp
domru... 2a0d:f847::/32 2a02:2698:a10... 205828 igp
domru... 2a09:a504::/32 2a02:2698:a10... 205828 igp
domru... 2a0c:9485::/32 2a02:2698:a10... 205828 igp
domru... 2a12:3042::/32 2a02:2698:a10... 205828 igp
domru... 2a12:39c0::/32 2a02:2698:a10... 205828 igp
domru... 2a12:38c2::/32 2a02:2698:a10... 205828 igp
domru... 2a0d:f847::/32 2a02:2698:a10... 205828 igp
domru... 2a09:a504::/32 2a02:2698:a10... 205828 igp
domru... 2a0c:9485::/32 2a02:2698:a10... 205828 igp

Почему это работает: анонс чужой AS через bgp-as-path

  • RouterOS при экспорте в BGP берёт маршруты из RIB (static/connected/blackhole), формирует для них NLRI и атрибуты.
  • Свойство bgp-as-path у статического маршрута используется как исходный (seed) атрибут AS-PATH. При отправке наружу BGP добавляет слева локальную AS инстанса, через который идёт анонс (в нашем кейсе — 206873). В итоге путь выглядит как «206873 205828», где правый элемент 205828 — origin AS.
  • Для аплинка и интернета это означает: AS206873 транзитирует префиксы AS205828. Если IRR/RPKI (ROA) для этих префиксов указывает origin 205828, и аплинк это разрешает, анонс принимается.
  • Необходимые условия:
    • Префикс присутствует в RIB (например, через blackhole- или обычный статический маршрут).
    • Фильтры output разрешают к отправке только нужные агрегаты.
    • Политики аплинка не блокируют такой экспорт (max-prefix, допустимые длины, communities).
  • Альтернатива: не задавать bgp-as-path на статике, а originate делать через отдельный BGP-инстанс AS205828 — тогда AS-PATH начнётся с 205828 автоматически. Оба подхода приводят к тому, что origin остаётся 205828, а 206873 — транзит.

Примечания

  • Уточните у аплинка (AS206873) политику приёма: max-prefix, разрешённые длины, необходимость MD5.
  • Проверьте IRR/RPKI (ROA) для ваших /32, чтобы аплинк и downstream не отбрасывали анонсы.
  • Если требуется деагрегация (/48, /64) — укажите список, добавьте соответствующие blackhole/network, обновите фильтры.

Контроль пути: AS-PATH (RouterOS v6)


- AS-PATH начнётся с `205828` автоматически, так как это значение `as` у инстанса `AS205828`. Дополнительно задавать `bgp-as-path` на статике не требуется.
- Для удлинения пути используйте prepend в фильтрах (RouterOS v6):

/routing filter add chain=output prefix=2a0d:f847::/32 set-bgp-prepend=2 action=accept


---

### Минимальная конфигурация (как в вашем кейсе)

Инстанс с нужной AS

/routing bgp instance set default as=206873 router-id=194.150.234.1

Статика под марштуры через AS по IGP

/ipv6 route add dst-address=2a0d:f847::/32 distance=10 gateway=2a0b:6903:fdb:d151::2 bgp-as-path=205828 /ipv6 route add dst-address=2a09:a504::/32 distance=10 gateway=2a0b:6903:fdb:d152::2 bgp-as-path=205828 /ipv6 route add dst-address=2a0c:9485::/32 distance=10 gateway=2a0b:6903:fdb:d153::2 bgp-as-path=205828 /ipv6 route add dst-address=2a12:38c2::/32 distance=10 gateway=2a0b:6903:fdb:d154::2 bgp-as-path=205828 /ipv6 route add dst-address=2a12:39c0::/32 distance=10 gateway=2a0b:6903:fdb:d155::2 bgp-as-path=205828 /ipv6 route add dst-address=2a12:3042::/32 distance=10 gateway=2a0b:6903:fdb:d156::2 bgp-as-path=205828

Ограничивающий фильтр (v6)

/routing filter add chain=DOM.RU-IPv6 prefix=2a0d:f847::/32 action=accept /routing filter add chain=DOM.RU-IPv6 prefix=2a09:a504::/32 action=accept /routing filter add chain=DOM.RU-IPv6 prefix=2a0c:9485::/32 action=accept /routing filter add chain=DOM.RU-IPv6 prefix=2a12:38c2::/32 action=accept /routing filter add chain=DOM.RU-IPv6 prefix=2a12:39c0::/32 action=accept /routing filter add chain=DOM.RU-IPv6 prefix=2a12:3042::/32 action=accept /routing filter add chain=DOM.RU-IPv6 action=discard


- AS-PATH будет начинаться с `205828` автоматически, т.к. инстанс `AS205828` имеет `as=205828`.
- Чтобы «удлинить» путь, используйте prepend:
- v6: `set-bgp-prepend=<N>` в фильтре.
- v7: `set bgp.as-path-prepend=<N>` в `routing filter rule` и привяжите цепочку к соединению.
- Для реального анонса наружу обязательно наличие BGP peer к AS206873.

---

## Заключение
После применения настроек ваши префиксы AS205828 будут анонсироваться через основную AS206873 на MikroTik RouterOS (роутер 194.150.234.1). При необходимости расширю документ с примерами LL eBGP (link-local) и шаблонами для RouterOS v7.