roma33rus Posted May 13, 2024 Posted May 13, 2024 Коллеги, всем привет. Сейчас имею такую схему с двумя провайдерами и двумя бордерами. Красным цветом выделены существующие соседства (ibgp). Зеленым цветом выделил соседства, которые предположительно необходимо настроить. На всех сессиях необходимо заанонсировать сетку 1.1.1.0/24. Сейчас на sw2 и sw1 статикой прописаны маршруты до стыковочных адресов серверов a1-a4 и a5-a8. Собрал я значит макет сети в GNS3. И если просто взять поднять сессии c a1-a4 до sw2 и с a5-a8 до sw1 и с них заанонсировать 1.1.1.0/24, то у меня получается петля в маршрутизации, так как пакетик допустим прилетая через isp1 на sw1 и дальше на sw2 натыкается на такую ситуацию, что у маршрута до сети 1.1.1.0/24 имеется next-hop в сторону a1-a4 и соответственно отправляет пакетик обратно на sw1, а так как на sw1 у меня так же есть multipath с next-hop a5-a8, то пакетик опять бежит на sw2 и так далее по кругу. Как правильно разрулить такую ситуацию? Сейчас мне на ум приходит мысль как-то колхозить через vrf, либо придумывать что-то с pbr. Кто что думает? Посоветуйте в какую сторону продолжить идти? Вставить ник Quote
murano Posted May 13, 2024 Posted May 13, 2024 3 часа назад, roma33rus сказал: Коллеги, всем привет. Сейчас имею такую схему с двумя провайдерами и двумя бордерами. Красным цветом выделены существующие соседства (ibgp). Зеленым цветом выделил соседства, которые предположительно необходимо настроить. На всех сессиях необходимо заанонсировать сетку 1.1.1.0/24. Сейчас на sw2 и sw1 статикой прописаны маршруты до стыковочных адресов серверов a1-a4 и a5-a8. Собрал я значит макет сети в GNS3. И если просто взять поднять сессии c a1-a4 до sw2 и с a5-a8 до sw1 и с них заанонсировать 1.1.1.0/24, то у меня получается петля в маршрутизации, так как пакетик допустим прилетая через isp1 на sw1 и дальше на sw2 натыкается на такую ситуацию, что у маршрута до сети 1.1.1.0/24 имеется next-hop в сторону a1-a4 и соответственно отправляет пакетик обратно на sw1, а так как на sw1 у меня так же есть multipath с next-hop a5-a8, то пакетик опять бежит на sw2 и так далее по кругу. Как правильно разрулить такую ситуацию? Сейчас мне на ум приходит мысль как-то колхозить через vrf, либо придумывать что-то с pbr. Кто что думает? Посоветуйте в какую сторону продолжить идти? Вам нужно между роутером 1 и роутером 2 настроить конфедерацию, которая как раз для вашего случая изобретена. Вставить ник Quote
roma33rus Posted May 14, 2024 Author Posted May 14, 2024 17 часов назад, murano сказал: Вам нужно между роутером 1 и роутером 2 настроить конфедерацию, которая как раз для вашего случая изобретена. Спасибо за наводку. С конфедерацией ни разу не работал. Буду изучать как оно устроено. Спасибо. Вставить ник Quote
roma33rus Posted May 15, 2024 Author Posted May 15, 2024 Сейчас изучаю работу bgp конфедераций и пока не понимаю как оно будет работать с multipath. Ведь если я настраиваю конфедерацию между sw1 и sw2, я буду получать один маршрут с одним nexthop. И получается так, что я трафик приходя на sw1 будет балансить между a1-a4 и sw2. А надо, чтобы он знал, что за sw2 еще 4 машины и надо балансить не по 5 nexthop, а по восьми. Или я путаю и не до конца дочитал? Вставить ник Quote
fractal Posted May 15, 2024 Posted May 15, 2024 Там если это серваки то может nginx как балансировщик поставить? Вставить ник Quote
roma33rus Posted May 15, 2024 Author Posted May 15, 2024 13 минут назад, fractal сказал: Там если это серваки то может nginx как балансировщик поставить? Именно на них nginx и крутится как балансировщик. НО задача еще до них трафик разбалансить плюс/минус поровну Вставить ник Quote
ne-vlezay80 Posted May 15, 2024 Posted May 15, 2024 для этого одно из устройств должно выполнять функции rr client. Вставить ник Quote
ne-vlezay80 Posted May 15, 2024 Posted May 15, 2024 конфиг для bird: log syslog all; router id 90.189.177.25; protocol device VRF0_DEVICE {}; protocol kernel VRF0_KERNEL_v4 { ipv4 { import none; export filter {krt_prefsrc=90.189.177.25; accept;}; }; merge paths yes; }; protocol kernel VRF0_KERNEL_v6 { ipv6 { import none; export filter {krt_prefsrc=2a02:c189:c100:1::a; accept;}; }; merge paths yes; }; protocol static vrf0_ipv4_static { ipv4; route 90.189.177.0/24 via "null0"; route 199.7.255.0/24 169.254.0.50; } protocol static vrf0_ipv6_static { ipv6; route 2a02:c189:c100::/48 via "null0"; route 2a02:c189:c100:a::/64 fec0:1234::50; } filter input_filter { include "mospat_blacklist.conf"; accept; } filter output_filter { if net ~ [ 199.7.255.0/24, 90.189.177.0/24 ] then accpt; reject; } template bgp internal { local as 204863; rr client; ipv4 {import filter input_filter; export filter output_filter;}; ipv6 {import filter input_filter; export filter output_filter;}; } protocol bgp border1 from internal { neighbor 169.254.0.25 as 204863; } protocol bgp border2 from internal { neighbor 169.254.0.24 as 204863; } protocol bgp border3 from internal { neighbor 169.254.0.23 as 204863; } protocol bgp border4 from internal { neighbor 169.254.0.22 as 204863; } Вставить ник Quote
roma33rus Posted May 16, 2024 Author Posted May 16, 2024 16 часов назад, ne-vlezay80 сказал: для этого одно из устройств должно выполнять функции rr client. Ага. Понял. Путем сложения мой путь этой настройка конфедерации между роутерами и роут рефлектора. Спасибо. Изучаю данное положение дело, но пока в голове каша Вставить ник Quote
roma33rus Posted May 22, 2024 Author Posted May 22, 2024 Коллеги всем привет. Пишу статус. Случилась печальная новость. Оказывается мои железки не умеют и не знают, что такое конфедерации, только роут рефлекторы. Есть какой-то обходной путь в этом случае? Может через VRF нахимичить? Вставить ник Quote
Pinkbyte Posted May 24, 2024 Posted May 24, 2024 Назначить роут-рефлекторами sw1 и sw2, указав клиентами как нисходящие девайсы, так и друг друга Вставить ник Quote
BOJIKA Posted May 24, 2024 Posted May 24, 2024 не обменивайтесь 1.1.1.0/24 между sw1 и sw2 Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.