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

помогите с BGP на cisco set as-path prepend не работает

Помогите пожалуйста

Есть два аплинка

к каждому по два физических канала.

Стоит несколько писишных бордеров. С помощью роут-мапов/комьюнити/локалпрефов и анонсирования только своих подсетей сделано так что каждый из бордеров работает по одному из каналов в каждом аплинке, а второй держит в резерве. Все замечательно. Тут понадобилось воткнуть еще один бордер - но уже сиску...

И в общем теперь я вижу что не добавляются мои препенды при анонсировании

чтобы не быть голословным конфиг

 

router bgp my_as
bgp router-id r_id
bgp log-neighbor-changes
!
scope global
  neighbor neigh1-ip1 remote-as UPLINK1_AS
  neighbor neigh1-ip1 description UPLINK1-2006
  neighbor neigh1-ip1 ebgp-multihop 15
  neighbor neigh1-ip2 remote-as UPLINK1_AS
  neighbor neigh1-ip2 description UPLINK1-2008
  neighbor neigh1-ip2 ebgp-multihop 15
  neighbor neigh2-ip1 remote-as UPLINK2_AS
  neighbor neigh2-ip1 description UPLINK2-2001
  neighbor neigh2-ip1 ebgp-multihop 15
  neighbor neigh2-ip2 remote-as UPLINK2_AS
  neighbor neigh2-ip2 description UPLINK2-2003
  neighbor neigh2-ip2 ebgp-multihop 15
  !
  address-family ipv4
   no synchronization
   network my_subnet mask 255.255.255.128
   neighbor neigh1-ip1 activate
   neighbor neigh1-ip1 send-community
   neighbor neigh1-ip1 distribute-list UPLINKS_from in
   neighbor neigh1-ip1 distribute-list UPLINKS_to out
   neighbor neigh1-ip1 route-map route_map_UPLINK1_2006_in in
   neighbor neigh1-ip1 route-map route_map_UPLINK1_2006_out out
   neighbor neigh1-ip2 activate
   neighbor neigh1-ip2 send-community
   neighbor neigh1-ip2 distribute-list UPLINKS_from in
   neighbor neigh1-ip2 distribute-list UPLINKS_to out
   neighbor neigh1-ip2 route-map route_map_UPLINK1_2008_in in
   neighbor neigh1-ip2 route-map route_map_UPLINK1_2008_out out
   neighbor neigh2-ip1 activate
   neighbor neigh2-ip1 send-community
   neighbor neigh2-ip1 distribute-list UPLINKS_from in
   neighbor neigh2-ip1 distribute-list UPLINKS_to out
   neighbor neigh2-ip1 route-map route_map_UPLINK2_2001_in in
   neighbor neigh2-ip1 route-map route_map_UPLINK2_2001_out out
   neighbor neigh2-ip2 activate
   neighbor neigh2-ip2 send-community
   neighbor neigh2-ip2 distribute-list UPLINKS_from in
   neighbor neigh2-ip2 distribute-list UPLINKS_to out
   neighbor neigh2-ip2 route-map route_map_UPLINK2_2003_in in
   neighbor neigh2-ip2 route-map route_map_UPLINK2_2003_out out
   no auto-summary
  !
!
!

 

для примера один из роут-мапов (для канала который держится в резерве)

ip access-list standard announce_to_uplinks_all
deny   my_subnet 0.0.0.127
permit all_my_nets 0.0.15.255
deny   any
ip access-list standard announce_to_uplinks_from_this_border
permit my_subnet 0.0.0.127
deny   any
!

route-map route_map_UPLINK1_2008_out permit 1000
match ip address announce_to_uplinks_from_this_border
set as-path prepend my_as my_as my_as
set community UPLINK1_CMMNTY
!
route-map route_map_UPLINK1_2008_out permit 2000
match ip address announce_to_uplinks_all
set as-path prepend my_as my_as my_as my_as my_as my_as my_as
set community UPLINK1_CMMNTY
!

 

Access-list'ы пробовал поменять на ip prefix-list - все равно не добавляются

 

ASR1004-1#sh ip bgp nei neigh1-ip2 adv
BGP table version is 2899710, local router ID is r_id
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> my_subnet/25
                    0.0.0.0                  0         32768 i

Total number of prefixes 1

 

Может какой-то нюанс пропустил сискин? clear ip bgp делал...

Сетка my_subnet/25 кстати используется для ната и поэтому чтобы анонсировалась вообще я воткнул

 

ip route my_subnet 255.255.255.128 Null0 240

 

Причем сюдя по всему комьюнити работает - т.е. лукингглассы показывают что аплинки в свою очередь препенды добавляют... - что делать? только комьюнити использовать остается?

Edited by IbZ

Share this post


Link to post
Share on other sites

Вы анонсируете /25, я правильно понял?

Сетки мельче /24 магистралы обычно режут, может в этом собака порылась?

Share this post


Link to post
Share on other sites

Нет, врядли.

Я создал необходимые route object'ы и в принципе другие такие сетки с линуксовых бордеров даже в лукинг-гласах видны

На самом деле мне главное чтобы у аплинков эти сети установились (на других бордерах я еще анонсирую и полную свою сеть чтоб в инете даже если кто и рубит < /24 - знали что путь лежит через моих аплинков) - главное чтобы рутер аплинка знал что вот эту конкретную /25 надо через вот этот конкретный ип (и соответственно через один из двух физических каналов до этого аплинка) моего бордера (чтобы работал нат)

 

Тут видно прямо на моей сиске что в анонс ничего не добавляется - sh ip bgp neigh .. advertised-routes не показывает

 

вот на другом линуксовом бордере с аналогично составленными роут-мапами например видно

border# sh ip bgp ne neigh1_ip2 adv
BGP table version is 0, local router ID is ххх
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> x.x.227.0/25  vlan2008_my_ip             0         32768 my_as i
...
*> x.x.224.0/20  vlan2008_my_ip             0         32768 my_as my_as my_as my_as i
*> x.x.232.0/21  vlan2008_my_ip             0         32768 my_as i

Total number of prefixes 6

Edited by IbZ

Share this post


Link to post
Share on other sites

Тупой вопрос: а путь на эту самую /25 на циске есть?

Пока какой-либо сети нет в таблице маршрутизации - циска анонсить её не будет.

Share this post


Link to post
Share on other sites
Тупой вопрос: а путь на эту самую /25 на циске есть?

Пока какой-либо сети нет в таблице маршрутизации - циска анонсить её не будет.

Есть

вот такой

 

ip route my_subnet 255.255.255.128 Null0 240

 

Может через loopback лучше сделать?

Share this post


Link to post
Share on other sites

Нет, такого маршрута достаточно.

Сложно так сказать. Роут-мапы точно на циске все нужные есть?

Как-то столкнулся, что при отсутствии роут-мапа на out циска тоже ничего не анонсирует...

Share this post


Link to post
Share on other sites
Тут видно прямо на моей сиске что в анонс ничего не добавляется - sh ip bgp neigh .. advertised-routes не показывает

И не будет видно на cisco, этой командой можно увидеть маршруты из локальной таблицы BGP, то есть увидеть установленные препенды таким образом нельзя.

Share this post


Link to post
Share on other sites

в общем ни

ip route my_subnet 255.255.255.128 loo0

ни

int loo0

ip address ...

 

не изменило ситуации

и сиска по прежнему пишет в Next HOP = 0.0.0.0

а в линуксе - свой ип-шник

neighbor next-hop-self

neighbor update-source

ставил

 

 

Тут видно прямо на моей сиске что в анонс ничего не добавляется - sh ip bgp neigh .. advertised-routes не показывает
И не будет видно на cisco, этой командой можно увидеть маршруты из локальной таблицы BGP, то есть увидеть установленные препенды таким образом нельзя.

это в случае iBGP если не ошибаюсь, а с eBGP как у меня показывать должно, причем в next hop должен быть сискин ип в сессии с этим нейбором

Share this post


Link to post
Share on other sites

Уже писали - это нормально, у меня пишет точно так же.

Квагга и циска - отличаются, так что смотрите свои препенды на лукингглассах. Хотя можно и не увидеть, магистралы режут, как я уже говорил...

Share this post


Link to post
Share on other sites

Нет, все-тки не нормально :(

На лукинг-глассах обоих аплинков как раз смотрю - другие мои подсети вижу приходят и с препендами и комьюнити видны.

А подсетка с сиски приходит только с комьюнити - которые ведь навешиваютя теми же роут-мапами, там же где и препенды! :( :wall:

Share this post


Link to post
Share on other sites
Нет, все-тки не нормально :(

На лукинг-глассах обоих аплинков как раз смотрю - другие мои подсети вижу приходят и с препендами и комьюнити видны.

А подсетка с сиски приходит только с комьюнити - которые ведь навешиваютя теми же роут-мапами, там же где и препенды! :( :wall:

Беру свои слова обратно.

Действительно оставив для чистоты эксперимента только одну сессию и поигравшись разными настройками с последующим отслеживанием на различных лукинг-глассах показало что сиска в команде sh ip bgp ne .. advertised-routes не выводит добавляемые мною же препенды, но соседям таки их анонсирует :)

Возможно это особенность конкретно моей модели сиски, и/или иоса ибо в книжках и в инете видел что выводится... :)

Спасибо большое всем кто откликнулся, вопрос снимаю, тему можно закрыть.

 

Share this post


Link to post
Share on other sites

У меня аналогичная проблема... Был роутер на freebsd (quagga). Анонсит 7 оих подсетей одному провайдеру (было 2, и в перспективе тоже 2 будет). Перестал справлятся с нагрузкой, решил переехать на cisco 6509 sup 720-3b (фулл вью брать не буду, должно вместится). Перенес конфиг с quagga на циску, поднял сессию, маршруты от провайдера прилетели, мои 2 сети проанонсились, остальные 5 -нет. Различные танцы с бубно не помогают. На самой циске эти сети маршрутизируется на другой сервер (ip route xxx.xxx.xxx.xxx yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz), в префикс листе все сети есть,

sh ip prefix-list name_of_prefix - показывает все сети, которые должны анонсится, sh ip bgp prefix-list name_of_prefix - показывает только те сети, которые анонсятся (т.е. 2 из 7). Где проблема, в моих кривых руках или у провайдера что-то фильтруется?

P.S.

Router#sh ip bgp neighbors 85.29.131.37 advertised-routes

BGP table version is 3531447, local router ID is 192.168.250.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal

Origin codes: i - IGP, e - EGP, ? - incomplete

 

Network Next Hop Metric LocPrf Weight Path

*> mynet_1/24 Myserv 0 32768 i

*> mynet_2/21 Myserv 0 32768 i

 

З.Ы. Все, уже решил, не совпадали маски маршрутов и анонсируемых сетей.

Edited by breusovok

Share this post


Link to post
Share on other sites

давно приучил себя - сначала делаю маршрут анонсируемой сети на null0, а потом ее анонсирую...

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