05-21-2017 01:55 PM - edited 03-05-2019 08:34 AM
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,
05-21-2017 03:37 PM
Hi
Your config looks fine, are you labbing it on GNS3? Try to execute a clear ip bgp *
05-21-2017 03:56 PM
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.
:-)
05-21-2017 04:12 PM
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
05-21-2017 05:22 PM
Hi Peter,
Thank you, you are right, local-AS should be used for eBGP, the problem is raised once R2 is advertising any prefix.
05-21-2017 04:07 PM
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
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide