crank Posted June 29, 2015 Posted June 29, 2015 (edited) Схема сети Имеется cisco 7604. Сейчас выполняет роль бордера с двумя аплинками (настроен BGP multihop) отдающими FV + роутит трафик белых адресов. Рядом стоит NAT, который через iBGP получает FV от cisco 7604 и роутит через себя трафик с серых адресов. Планируется использовать циску еще и как ядро сети, поэтому появилось желание запихать BGP в VRF для удобства работы (с абонентами приходится работать чаще, нежели чем с BGP). После перенеса BGP в VRF возникли проблемы. Роутер стал передавать FV на NAT изменяя адрес next-hop на свой адрес и трафик с NAT'а стал идти через cisco 7604. router bgp 23XXX bgp router-id X.X.X.X bgp log-neighbor-changes ! address-family ipv4 vrf INET neighbor 10.100.0.17 remote-as 23XXX neighbor 10.100.0.17 activate neighbor 10.100.0.17 route-reflector-client ................................. neighbor 71.X.X.X remote-as 13XXX neighbor 71.X.X.X shutdown neighbor 71.X.X.X ebgp-multihop 2 neighbor 71.X.X.X update-source Loopback 0 neighbor 71.X.X.X activate neighbor 71.X.X.X send-community neighbor 211.X.X.X remote-as 20XXX neighbor 211.X.X.X shutdown neighbor 211.X.X.X ebgp-multihop 2 neighbor 211.X.X.X update-source Loopback 0 neighbor 211.X.X.X activate neighbor 211.X.X.X send-community exit-address-family Гугл навел на информацию где пишут, что такое поведение является нормальным, т.е. если BGP внутри VRF то роутер всегда будет менять next-hop адрес на свой для префиксов полученных через eBGP. Ссылки: http://forums.internetworkexpert.com/forums/p/30794/247690.aspx https://supportforums.cisco.com/discussion/11382371/does-ibgp-run-vrf-does-next-hop-modification 1. Можно ли как-то повлиять на такое поведение iBGP в VRF и заставить роутер не менять адрес next-hop? 2. Есть ли еще какие-то особенности и подводные камни использования BGP в VRF? Edited June 29, 2015 by crank Вставить ник Quote
g3fox Posted July 1, 2015 Posted July 1, 2015 хм, а для чего вам FV на нате? У вас на нате есть адреса из стыковой подсети провайдера? А так не пробовали neighbor ip-address next-hop-unchanged ? Вставить ник Quote
crank Posted July 2, 2015 Author Posted July 2, 2015 Пробовал так писать, на что получаю следующее сообщение %BGP: Can propagate the nexthop only to multi-hop EBGP neighbor FV на NAT'е чтобы трафик после него не шел через роутер, а сразу уходил дальше. Вместо стыковых адресов используется схема с BGP multihop, т.е циска или нат льет трафик на Л3 свич в нужный VRF, а оттуда он уходит к соответствующему провайдеру. Пробовал через route-map подставлять адрес next-hop при анонсе маршрутов с циски на НАТ, но результата это не дало - все равно циска в next-hop указывает свой адрес. Вставить ник Quote
g3fox Posted July 2, 2015 Posted July 2, 2015 Хм. Я понял что вы хотите. Сначала невнимательно прочитал описание. Тогда, видимо, проще поменять GRT и VRF местами. BGP сунуть в GRT, а ядро в VRF. Вставить ник Quote
crank Posted August 26, 2015 Author Posted August 26, 2015 (edited) Решил поставленную задачу route-map'ом на NAT. С помощью as-path access-list узнаем от какого аплинка пришел префикс и меняем для него next-hop. Пример настройки route-map для Quagga, при условии что ISP1 и ISP2 имеют номера АС 100 и 200 соответственно: ip as-path access-list 10 permit ^100_.*$ ip as-path access-list 20 permit ^200_.*$ ! route-map BR-IN permit 10 match as-path 10 set ip next-hop X.X.X.X ! route-map BR-IN permit 20 match as-path 20 set ip next-hop Y.Y.Y.Y ! route-map BR-IN permit 30 ! Можно еще на роутере выставлять разные комьюнити для префиксов в зависимости от аплинка, с которого он пришел. Потом на NAT используя комьюнити править next-hop также через route-map. Edited August 26, 2015 by crank Вставить ник 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.