mmajorov Posted August 15, 2017 Кто использует iBGP без next hop self? Не могу понять почему BIRD не делает рекурсивный поиск маршрута! Пробую на кошечках: <--- eBGP ---> R1 <--- iBGP ---> R2 При этом все маршруты вот в таком статусе на R2: 142.154.241.0/24 unreachable [bird_ipv4 15.08.2017 19:40:04 from 95.174.97.33] * (100/-) [AS22652i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 9002 6453 22652 BGP.next_hop: 87.245.238.204 BGP.med: 999 BGP.local_pref: 100 BGP.community: (9002,9002) (9002,64615) (49037,0) (49037,10001) Хотя сам 87.245.238.204 в таблицах находиться... bird> show route where 87.245.238.204 ~ net all 87.245.192.0/18 unreachable [bird_ipv4 15.08.2017 19:40:07 from 95.174.97.33] * (100/-) [AS9002i] Type: BGP unicast univ BGP.origin: IGP BGP.as_path: 9002 BGP.next_hop: 87.245.238.204 BGP.med: 999 BGP.local_pref: 100 BGP.community: (9002,0) (9002,64667) (49037,0) (49037,10001) 87.245.238.204/31 via 95.174.97.33 on vlan8 [bird_ipv4 15.08.2017 19:40:09] * (100/0) Type: BGP unicast univ BGP.origin: IGP BGP.as_path: BGP.next_hop: 95.174.97.33 BGP.local_pref: 100 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
v_r Posted August 15, 2017 На bird рекурсивный резолвинг работает. В таблице маршрутизации ядра (не bird) есть маршрут на 87.245.238.204? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mmajorov Posted August 16, 2017 А как он туда попадет? Я в bird импортирую protocol direct конечно и экспортирую protocol kernel. При этом bird получает: 87.245.238.204/31 via 95.174.97.33 on vlan8 [bird_ipv4 15.08.2017 19:40:09] * (100/0) По каким принципам эта рекурсия работает? В документации указано, что таблица IGP по умолчанию та-же самая master..... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
v_r Posted August 16, 2017 Насколько понимаю bird определяет доступность next-hop по наличию маршрута на него в таблице маршрутизации ядра. То есть при отсутствии маршрута на 87.245.238.204 в таблице ядра bird считае все префиксы с next hop 87.245.238.204 как unreachable. Если вы форвардите трафик на bird (а не строите RR, RS) то необходимо импортировать/экспортировать все из/в kernel. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted August 22, 2017 Насколько понимаю bird определяет доступность next-hop по наличию маршрута на него в таблице маршрутизации ядра. неправильно понимаете. определяет доступность по наличию маршрута в таблице марштуризации bird. а как он туда попадет - из protocol kernel или из другого протокола - вопрос десятый. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mmajorov Posted August 26, 2017 Насколько понимаю bird определяет доступность next-hop по наличию маршрута на него в таблице маршрутизации ядра. неправильно понимаете. определяет доступность по наличию маршрута в таблице марштуризации bird. а как он туда попадет - из protocol kernel или из другого протокола - вопрос десятый. Жесткие ограничения имеет bird в плане этой рекурсии. Не получилось строить полноценную IGP средствами iBGP в bird и не химичить с next hop'ом. Да и и подозреваю я эту рекурсию. Как она себя поведет есть у меня еще не заполнена IGP таблица, а по iBGP я получил уже все маршруты... И только потом IGP была заполнена. При этом часть сетей будет недоступна.... Я правильно понимаю или нет? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted August 27, 2017 21 час назад, mmajorov сказал: Жесткие ограничения имеет bird в плане этой рекурсии. нормальные такие ограничения. есть у вас в таблице маршрутизации маршрут на x.x.x.x/16 через y.y.y.y, а вот маршрута до y.y.y.y - нет. вопрос: что bird'у надо в этом случае делать? 21 час назад, mmajorov сказал: Да и и подозреваю я эту рекурсию. Как она себя поведет есть у меня еще не заполнена IGP таблица, а по iBGP я получил уже все маршруты... И только потом IGP была заполнена. При этом часть сетей будет недоступна.... Я правильно понимаю или нет? по идее проблем быть не должно. у меня во всяком случае с bird не было ни разу (хотя анонсил по-разному - и iBGP+OSPF для connected, и все в iBGP пире). и при получении новых роутов - unreachable сменялись на destination. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
GrandPr1de Posted August 28, 2017 gateway на сеть должен быть directly connected ибо arp Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted August 28, 2017 9 часов назад, GrandPr1de сказал: gateway на сеть должен быть directly connected ибо arp таки нет. иначе роут рефлекторы бы не заработали (там отнюдь не next hop self же) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
mmajorov Posted August 30, 2017 Рекурсивный поиск в BIRD работает. Но там есть ограничение. 1) Вложенность рекурсии только 1 уровень. Такая рекурсия короткая :) 2) Рекурсия не может быть в рамках одного protocol в терминологии bird. Если вы получили маршрут от роутера 1.2.3.4.5 по BGP, то по ним рекурсия не ищет..... На мой взгляд довольно спорные условия. Если первый призван бороться с петлями, то смысл второго я не понимаю. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...