BGP Fake-AS

Сьогодні я про BGP. Нотатки з роботи — щоб не пропадали.

Є такий функціонал, як фіктивна AS.
Тут і далі кажу в нотації Huawei.
Традиційний сценарій використання — це переїзд з одного номера АС на інший, наприклад, при покупці мережі одного оператора іншим. При цьому є стопіцот сусідів, які чомусь не можуть взяти і все разом переїхати разом з нами.
Тоді для них, ми можемо налаштувати пірінг так, ніби ми залишилися в старій АС.
Якщо для бенкету вказати команду fake-as, і в Open і AS-Path з'явиться саме вона, а не нова (справжня). У циски той же функціонал називається Local-as.

Зручний інструмент, коли використовується за призначенням.

Тепер, умовно, мережа замовника:


Клієнт хоче, спати не може, пірінг з АС3. Але не хоче платити за VPN. Просто попросив АС2 представитися АС3.
Ось цей проміжний АС2 і налаштовує фіктивну АС на своєму ASBR, вказуючи в її якості АС3.
Проблема в тому, що ASBR при анонсі маршруту все одно, негідник такий, вставляє в AS-Path фіктивну АС, незважаючи на те, що вона там вже є.
Тобто AS-Path для маршрутів, які отримує клієнт, виглядає як <АС3, АС3, ітд.>

В документації написано, що, якщо сусідство було встановлено через фіктивну АС, то і в AS-Path саме вона з'явиться. Якщо через справжню — то справжня. Але так, щоб зовсім не з'являлася — не можна. Ну не акуратненько це, супроти ідеології BGP.
В такому разі на обладнанні Хуавей немає іншого способу, окрім як вручну через рут-полісі зробити overwrite AS-Path, що зовсім не по-инженерски, ясна річ.

У нових версіях з'явилася можливість вказувати, яку саме АС хочеш додавати — фіктивну чи справжню. Однак не додавати взагалі немає такої опції.

Ще я тут хочу сказати про циску — у разі замовника технічно на циске можна реалізувати його списку бажань.
Спочатку розповім, чим відрізняється робота цієї команди там — головна відмінність — за замовчуванням циска вставляє дві АС — і справжню і фіктивну. Зроблено це для того, щоб виключити утворення петель маршрутизації (ось це по-бгпшному).
У команді local-as є атрибути no-prepend і replace-as. No-prepend дозволять не додавати в AS-Path номер фіктивної АС — тільки справжньою. Опція replace-as дозволить замінити її на фіктивну.
Тобто знову ніби як не можна реалізувати повне видалення. І взагалі такого роду маніпуляції з AS-Path ні до чого доброго не призводять.
Чисто для прикладу можна згадати недавню історію про те, як нещодавно Іран позбавив порнухи себе і найближчі країни, коли погрався з анонсами БГП.

Але особливість у тому, що у замовника номер АС2 — приватний. І якщо використовувати комбінацію опцій local-as no-prepend replace-as, а потім додати remove-private-as (цисковский аналог хуавэйско команди public-as-only) то все-таки спрацьовує і дублююча АС видаляється.
Але повторюся, це шахрайство і милицю.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.