Bgp community - сайт мережевих професіоналів!

Добралися ми до атрибута Community.

Якщо в кількох словах, для чого використовується community? Community використовується для маркування маршрутів (схоже на маркування в QOS) для того, щоб можна було в подальшому обробити ці маршрути по якимось спеціальним правилам.

Наприклад виділити мережі для ЦОД, виділити їх в окремий community і призначити їм привілейований маршрут.

Є зарезервовані Community, такі як:

NO_EXPORT (0xFFFFFF01) - community атрибут не надсилається між бенкетами зовнішніх AS (тобто між EBGP бенкетами)

NO_ADVERTISE (0xFFFFFF02) - при отриманні маршруту з атрибутом community no_advertise не надсилає цей атрибут не тільки EBGP але і IBGP бенкетів.

LOCAL_AS - розсилає тільки бенкетів своєї підсистеми.

INTERNET - розсилається всюди.

За замовчуванням community не посилаються.

Існує два види community:

Standart - назва ком'юніті словесно.

Extended - позначається як AS: N, де N номер компьюніті.

Зазвичай використовується стандартне компьюніті. У операторів найчастіше використовується розширене.

За замовчуванням як я вже сказав, community не надсилали, для того щоб community розсилався необхідно в секції BGP вказати це для сусіда, так:

neighbor 1.1.1.1 send-community

Де вказати вид community, буде це розширений або і стандартний і розширений ком'юніті.

Так само, для того щоб наш роутер міг працювати з новими розширеними компьюніті потрібно вказати глобально в настройках роутера: ip bgp-community new-format.

Далі на сусіда через route-map вішаємо той community, який нам потрібен, разом конфиг буде виглядати так:

ip bgp-community new-format

neighbor 1.1.1.1 remote-as 2

neighbor 1.1.1.1 send-community

neighbor 1.1.1.1 route-map SETCOMMUNITY out

route-map SETCOMMUNITY permit 10

set community no-export

Таким чином ми відправимо маршрути і до всіх прив'яжемо community no_export.

Хочеться відзначити ще ось що. У маршрутів може бути не одне community, а безліч. І так як ми з Вами в route-map прописали set, ми видалимо цей атрибут і пропишемо тільки no_export, тобто якщо інший роутер додавав свою ком'юніті. то вона загубиться.

Що б цього не відбувалося, потрібно додати ключ additive.

set community no-export additive

Є таке поняття як community-list, дуже схоже на access-list, тобто фільтрація на основі атрибута community.

Так само виділяють кілька типів таких листів:

- стандартний community-list, який створюється так:

ip community-list [0-99] value

- розширений community-list має нумерацію від 100 до 199 і відрізняється від стандартних листів тим, що може використовувати регулярні вираження, як ми це робили в разі as-path листів.

ip community-list [100-199] regexp

- іменовані community list

Думаю пояснень не потрібно, вид такої:

Є ще одна розширена Community, яка називається cost community, вона так само є не транзитивной, працює тільки всередині AS, або в конфедерації і використовується для маніпулювання маршрутами всередині IBGP. Найменший cost має найбільш високі пріоритет. Формат команди:

set ext community cost [igp] community-id [0-255] cost-value [0 4294967295]

В наступній замітці розглянемо приклади налаштування та використання community.

Схожі статті