cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1720
Views
5
Helpful
5
Replies

BGP Local-AS

alfredobosca
Level 1
Level 1

Hello,

We need to migrate one old ISP and should keep on with the same AS. So we want to use local-AS for creating neighbor with the original AS and will changed to "router bgp <our AS>"

After apply these critical changes we have found out these issues in lab environment:

R1#show running-config | s bgp

router bgp 65500

 no synchronization

 bgp router-id 1.1.1.1

 bgp log-neighbor-changes

 network 172.20.1.0 mask 255.255.255.0

 network 172.20.2.0 mask 255.255.255.0

 neighbor 10.20.10.2 remote-as 200

 neighbor 10.20.10.2 local-as 200

 no auto-summary

R2#show running-config | s bgp

router bgp 200

 no synchronization

 bgp cluster-id 200.200.200.200

 bgp log-neighbor-changes

 network 10.20.10.0 mask 255.255.255.0

 network 10.30.1.0 mask 255.255.255.0

 network 10.40.1.0 mask 255.255.255.0

 network 10.251.1.0 mask 255.255.255.0

 neighbor 10.20.10.1 remote-as 200

 neighbor 10.20.10.1 route-reflector-client

 neighbor 10.20.10.1 next-hop-self

 neighbor 10.30.1.3 remote-as 200

 neighbor 10.30.1.3 next-hop-self

 neighbor 10.40.1.4 remote-as 200

 neighbor 10.40.1.4 route-reflector-client

 no auto-summary

Issues:

*May 21 20:42:37.711: %BGP-5-ADJCHANGE: neighbor 10.20.10.2 Up 

*May 21 20:42:38.263: %BGP-3-NOTIFICATION: received from neighbor 10.20.10.2 3/3 (update missing required attributes) 0 bytes 

R1#

*May 21 20:42:38.267: %BGP-5-ADJCHANGE: neighbor 10.20.10.2 Down BGP Notification received

R1#

*May 21 20:43:07.343: %BGP-5-ADJCHANGE: neighbor 10.20.10.2 Up 

*May 21 20:43:07.367: %BGP-5-ADJCHANGE: neighbor 10.20.10.2 Down BGP Notification sent

*May 21 20:43:07.371: %BGP-3-NOTIFICATION: sent to neighbor 10.20.10.2 3/11 (invalid or corrupt AS path) 3 bytes 400200

R1#

*May 21 20:43:07.371: BGP: 10.20.10.2 Bad attributes FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 0045 0200 0000 2A40 0101 0040 0200 4003 040A 2801 0480 0404 0000 0000 4005 0400 0000 6480 0A04 C8C8 C8C8 8009 040A FC01 0118 0AFC 01

Best regards,

5 Replies 5

Hi

Your config looks fine, are you labbing it on GNS3? Try to execute a clear ip bgp *




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

I have tested your config and everything is working perfectly, if you are using GNS3 that could be the problem. Please see the attachment.

Hope it is useful.

:-)




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

Hi Julio,

I do not doubt that the basic BGP peering would come up - but have you tried to actually advertise a route from R2 to R1 in that BGP? I guess that is when the peering will be torn down, as R1 will not be happy about the empty AS_PATH in the advertisement received from R2.

Best regards,
Peter

Hi Peter,

Thank you, you are right, local-AS should be used for eBGP, the problem is raised once R2 is advertising any prefix. 




>> Marcar como útil o contestado, si la respuesta resolvió la duda, esto ayuda a futuras consultas de otros miembros de la comunidad. <<

Peter Paluch
Cisco Employee
Cisco Employee

Hello Alfredo,

I believe you are trying to force local-as to do something it was not intended to do: You are trying to make R1 appears as an iBGP neighbor of R2. This won't work.

R1 knows that R2 is an eBGP neighbor because R1 is in AS 65500 while R2 is in AS 200. The local-as is not going to change it; it only makes R1 to claim ASN 200 when opening a BGP session with R2, and to add this ASN to the AS_PATH when exchanging paths with R2; however, to R1, R2 is still an external neighbor.

R2, on the other hand, believes that R1 is an iBGP neighbor, because in R2's configuration, both R2 and R1 are the part of ASN 200. That changes the way R2 advertises routes to R1, and among other things, it causes R2 not to change the AS_PATH attribute when advertising paths to R1 because in an iBGP peering, AS_PATH should not be modified. For routes originated from AS 200, this means that they will have an empty AS_PATH.

R1 is therefore receiving routes with an empty AS_PATH attribute from R2, and that is what it complains about; surely, routes received through an eBGP peering cannot have an empty AS_PATH.

Unfortunately, I do not believe there is any quick solution to this. From R2's perspective, R1 is an iBGP neighbor. This influences multiple attributes; for example, when R2 advertises networks to R1, neither AS_PATH nor NEXT_HOP will be modified. I am not sure whether you can modify AS_PATH of routes advertised over iBGP; my experience has been that this cannot be done, but even if it worked, there are multiple attributes that behave differently for iBGP and eBGP, and you would need to take care of all of them to properly implement eBGP-like treatment of R1 by R2.

Properly, local-as should be used between eBGP neighbors so that even with the local AS, the neighbors still treat each other as eBGP. In your case, this is not true: R1 treats R2 as eBGP, but R2 treats R1 as iBGP.

Are you sure that you want R1 to make appear as an internal neighbor to R2?

Best regards,
Peter

Review Cisco Networking for a $25 gift card