The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Juniper MX204, проблема с  BGP communities"
Отправлено maxnetstat, 31-Май-22 13:21 
Привет!
На Juniper MX204 строю 3 eBGP соседства с вышестоящими операторами,
Куда и анонсирую свои сети.

Для балансировки входящего трафика используются communities, как приведено ниже:


My network:
# show routing-options

static {
    route yyy.yyy.0.0/16 {
        discard;
        community [ XXXXX:100 XXXXX:111 XXXXX:120 ];
    }

community UPSTREAM-1-EXP members XXXXX:100
community UPSTREAM-1-EXP-1 members XXXXX:101
community UPSTREAM-1-EXP-2 members XXXXX:102
community UPSTREAM-1-EXP-3 members XXXXX:103
community UPSTREAM-1-EXP-4 members XXXXX:104
community UPSTREAM-1-EXP-8 members XXXXX:108
community UPSTREAM-1-EXP-DENY members XXXXX:109

community UPSTREAM-2-EXP members XXXXX:110
community UPSTREAM-2-EXP-1 members XXXXX:111
community UPSTREAM-2-EXP-2 members XXXXX:112
community UPSTREAM-2-EXP-3 members XXXXX:113
community UPSTREAM-2-EXP-4 members XXXXX:114
community UPSTREAM-2-EXP-8 members XXXXX:118
community UPSTREAM-2-EXP-DENY members XXXXX:119

community UPSTREAM-3-EXP members XXXXX:120
community UPSTREAM-3-EXP-1 members XXXXX:121
community UPSTREAM-3-EXP-2 members XXXXX:122
community UPSTREAM-3-EXP-3 members XXXXX:123
community UPSTREAM-3-EXP-4 members XXXXX:124
community UPSTREAM-3-EXP-8 members XXXXX:128
community UPSTREAM-3-EXP-DENY members XXXXX:129

community CUSTOMER members XXXXX:700
community CUSTOMER-1 members XXXXX:701
community CUSTOMER-2 members XXXXX:702

В исходящей политике добавляются препенды в зависимости от community (на примере одного из апстримов. У других политики аналогичны):

# show policy-options policy-statement UPSTREAM-1-OUT-v4    

...
term 20 {
    from community [ UPSTREAM-1-EXP-DENY ];
    then reject;
}

term 30 {
    from community [ UPSTREAM-1-EXP CUSTOMER];
    then accept;
}
term 40 {
    from community [ UPSTREAM-1-EXP-1 CUSTOMER-1];
    then {
        as-path-prepend XXXXX;
        accept;
    }
}
term 50 {
    from community [ UPSTREAM-1-EXP-2 CUSTOMER-2];
    then {
        as-path-prepend "XXXXX XXXXX";    
        accept;
    }
}
term 60 {
    from community [ UPSTREAM-1-EXP-3 ];
    then {
        as-path-prepend "XXXXX XXXXX XXXXX";
        accept;
    }
}
term 70 {
    from community [ UPSTREAM-1-EXP-4 ];
    then {
        as-path-prepend "XXXXX XXXXX XXXXX XXXXX";
        accept;
    }
}
term 80 {
    from community [ UPSTREAM-1-EXP-8 ];
    then {
        as-path-prepend "XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX";
        accept;
    }
}
term 100 {
    then reject;
}

Для изменения количества препендов в сторону соседа необходимо изменить community в routing-options.
Данная схема работает нормально, как от неё и ожидается, но есть одна проблема, которую
мне пока не удалось решить.
Заключается она в том, что я также строю BGP соседство со своими клиентами.
Эти клиенты могут мне анонсировать как свои собственные сети, так и подсети из моего блока сетей.
И я бы хотел предоставить им возможность балансировать трафик с помощью communities.

Из конфига видно, что для клиентов BGP используется отдельный community (CUSTOMER, CUSTOMER-1...)
и таким образом их сети анонсируются. Назначается этот community вручную мною при построении BGP соседства.

Задача дать клиенту возможность самому использовать community.


Например, клиент хочет добавить препенды в сторону UPSTREAM-1.
Он может в мою сторону проанонсить мне XXXXX:103, но эффекта не будет, т.к.
этот community просто добавится к тем, которые я уже указал в routing-option:

run show route zz.zz.zz.0/22 detail

......
                Communities: XXXXX:100 XXXXX:111 XXXXX:120 XXXXX:103
                
А мне нужно:

run show route zz.zz.zz.0/22 detail

......
                Communities: XXXXX:103 XXXXX:111 XXXXX:120


Я не большой специалист по juniper, и возможно изначальный дизайн был построен не очень верно.
Буду рад советам и замечаниям.
Спасибо.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру