Jump to content
Калькуляторы

Поведение BGP внутри VRF

Схема сети

vrf.png

 

Имеется 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 by crank

Share this post


Link to post
Share on other sites

хм, а для чего вам FV на нате? У вас на нате есть адреса из стыковой подсети провайдера?

 

А так не пробовали

neighbor ip-address next-hop-unchanged

?

Share this post


Link to post
Share on other sites

Пробовал так писать, на что получаю следующее сообщение

%BGP: Can propagate the nexthop only to multi-hop EBGP neighbor

FV на NAT'е чтобы трафик после него не шел через роутер, а сразу уходил дальше. Вместо стыковых адресов используется схема с BGP multihop, т.е циска или нат льет трафик на Л3 свич в нужный VRF, а оттуда он уходит к соответствующему провайдеру.

 

Пробовал через route-map подставлять адрес next-hop при анонсе маршрутов с циски на НАТ, но результата это не дало - все равно циска в next-hop указывает свой адрес.

Share this post


Link to post
Share on other sites

Хм. Я понял что вы хотите. Сначала невнимательно прочитал описание.

Тогда, видимо, проще поменять GRT и VRF местами. BGP сунуть в GRT, а ядро в VRF.

Share this post


Link to post
Share on other sites

Решил поставленную задачу 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 by crank

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this