IVB Опубликовано 9 августа, 2011 · Жалоба Заранее приношу извинения за длинное описание - но коротко не получится. Имеем: Linux 2.6.29-gentoo-r5 quagga 0.99.18 На квагге настроено два bgp view, которые формируют таблицы маршрутов (каждый view - свою таблицу) и отдают эти таблицы (по протоколу bgp) на соответствующие маршрутизаторы (каждый view - на свой маршрутизатор). В качестве маршрутизаторов выступают Extreme Networks Summit X450a с версией XOS 12.5.4.5. Для определенности будем называть эти маршрутизаторы "основной" и "удаленный". Соответственно, bgp view будем называть "RS основной" и "RS удаленный". "RS удаленный" получает анонсы от трех соседей (2000+, 2000+ и 500+ маршрутов), и итоговую таблицу маршрутов отдает своему маршрутизатору и "RS основному". В этой связке все работает. "RS основной" получает анонсы от "RS удаленного" и еще от 6 соседей (5500+ от одного из них, от остальных - по 1-2 маршрута). Все маршруты принимаются корректно. В таблице маршрутов я вижу все принятые анонсы от всех соседей. Далее результирующая таблица маршрутов отдается на свой маршрутизатор. И вот тут возникает ситуация, которую я не могу понять. На маршрутизатор не анонсируются маршруты, которые были получены от "RS удаленного"! Вообще не анонсируются. Т.е. получается следующее: Допустим, для сети a.a.a.a/a есть два маршрута, один из них получен от соседа с 5500+ маршрутов, другой - от "RS удаленого". Если лучшим является маршрут от соседа 5500+ - он анонсируется на маршрутизатор. Если лучшим является маршрут от "RS удаленного" - эта сеть вообще не анонсируется. Я понимаю, что где-то что-то недоконфигурил. Вот только пока не могу сообразить, где. Вот кусок конфига квагги, где описывается сосед - собственный маршрутизатор: router bgp NNNNN view XXX bgp router-id A.A.A.A network B.B.B.B/B network C.C.C.C/C neighbor 192.168.101.2 remote-as NNNNN neighbor 192.168.101.2 description "SSSSSSSSSS" neighbor 192.168.101.2 update-source 192.168.101.20 neighbor 192.168.101.2 soft-reconfiguration inbound Т.е. никаких фильтров нет - должны отдаваться все анонсы. Вот кусок конфига X450a: configure bgp AS-number NNNNN configure bgp routerid 192.168.101.2 create bgp neighbor 192.168.101.20 remote-AS-number NNNNN configure bgp neighbor 192.168.101.20 source-interface ipaddress 192.168.101.2 configure bgp neighbor 192.168.101.20 description "quagga Routing Server" enable bgp neighbor 192.168.101.20 configure bgp neighbor 192.168.101.20 route-policy in bgp_in enable bgp Тут есть фильтр - вот он: Policy: bgp_in entry row00 { if match any { nlri 0.0.0.0/8 ; nlri 10.0.0.0/8 ; nlri 127.0.0.0/8 ; nlri 169.254.0.0/16 ; nlri 172.16.0.0/12 ; nlri 192.0.0.0/24 ; nlri 192.0.2.0/24 ; nlri 192.88.99.0/24 ; nlri 192.168.0.0/16 ; nlri 198.18.0.0/15 ; nlri 198.51.100.0/24 ; nlri 203.0.113.0/24 ; nlri 240.0.0.0/4 ; } then { deny ; } } entry row10 { if match any { nlri B.B.B.B/B ; nlri C.C.C.C/C ; } then { deny ; } } entry row99 { if match any { } then { permit ; } } row00 запрещает принимать анонсы немаршрутизируемых сетей, row10 запрещает принимать анонсы моих собственных сетей. Других запретов нет. Тем не менее, часть маршрутов не анонсируется. Подскажите, пожалуйста, хотя бы в какую сторону смотреть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vlad11 Опубликовано 9 августа, 2011 · Жалоба row00 запрещает принимать анонсы немаршрутизируемых сетей, row10 запрещает принимать анонсы моих собственных сетей. Других запретов нет. Тем не менее, часть маршрутов не анонсируется. Подскажите, пожалуйста, хотя бы в какую сторону смотреть. 1) нарисуйте графическую схему. 2) почитайте про route-reflector Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
IVB Опубликовано 9 августа, 2011 · Жалоба 1) нарисуйте графическую схему. Попытался (см. вложение). Все объекты (RS основной, RS удаленный, X450a основной, X450a удаленный) имеют одинаковый номер AS. Анонсы маршрута a.a.a.a/a приходят на "RS основной" от одного из соседей и от "RS удаленный" Я их "вижу" в таблице маршрутов на "RS основной": Network Next Hop Metric LocPrf Weight Path * ia.a.a.a/a ppp.pp.p.pp 0 jjjjj kkkkk i *> qq.qqq.qqq.qqq 0 jjjjj kkkkk i Маршрут с nexthop равным ppp.pp.p.pp пришел от "RS удаленный" (соответственно, его статус помечен как "i" - internal), маршрут с nexthop равным qq.qqq.qqq.qqq пришел от соседа. В вышеприведенном фрагменте кода "лучшим" выбран маршрут с nexthop равным qq.qqq.qqq.qqq, и анонс этого маршрута нормально уходит на "X450a основной" Если же возникает ситуация, как на нижеприведенном фрагменте кода: Network Next Hop Metric LocPrf Weight Path *>ia.a.a.a/a ppp.pp.p.pp 0 jjjjj kkkkk i * qq.qqq.qqq.qqq 0 jjjjj kkkkk i т.е. "лучшим" считается маршрут с nexthop равным ppp.pp.p.pp - такой маршрут не анонсируется на "X450a основной". Получается, маршруты со статусом "internal" (полученные от маршрутизатора с таким же AS) не анонсируются на другой маршрутизатор с таким же AS. 2) почитайте про route-reflector Да, это ответ на мой вопрос. В настройках "RS основной" нужно пир "X450a основной" описать как route-reflector-client. Тогда на него будут анонсироваться все маршруты, в том числе и со статусом "internal" (т.е. полученные от пира в той же AS). Cпасибо за ответ - тему можно закрывать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...