Hi Guys,
My network is like this.
(ISP1)–BGP–(BGP_R1)–OSPF–(R2)–OSPF–(BGP_R3)–BGP–(ISP2)
I have a terrible feeling I do not have iBGP between my eBGP routers setup correctly.
BGP_R1 & BGP_R3 are running BGP & OSPF. and are able to ping each others loopback address.
I am advertising out 4 /24’s to both ISP’s. I am receiving 480k+ routes from both ISP’s.
When I setup iBGP between both my eBGP routers I only get 4 prefixes advertised between them, this must obviously be my 4 prefixes.
The only way I can fix this is to create a separate instance for my iBGP peer and enable “redistribute BGP”, then in peers/advanced set update source to the iBGP instance.
I do this at both ends, and then I get 480k+ routes between both my iBGP routers.
But the question is, am I doing this right? Should I only see 4 prefix’s between iBGP routers? is there a better explanation on the web as to how to set this up, best practises?
Have you set out filter on the instance? If so that could be limiting to the 4 prefixes. Using filters on peers rather than instance can help this.
Since within the same instance, both peers have the same AS, it will not reflect learned routes (Even with redistribute on). To do this, you have to tick ‘Route Reflect’ to force that router to reflect its other routes to iBGP peers.
It is most likely #2 that is causing what you are seeing. In a ‘perfect’ world both routers would both be connected to both ISP’s, or would replicate back to a core router that reflects the routes around maybe via different IGP, but its not always the best to do it that way.
Ok I have enabled the route reflector and both iBGP picked up all the routes.
So, in my BGP routers, I create 2 instances, one for eBGP and 1 for iBGP. Is this the correct way?
I have an EOIP tunnel between both my BGP routers and I call the tunnel iBGP. Under bgp/peers/advanced I select the iBGP tunnel here for Update Source at both ends. Is what I am doing all normal?
R3 has a direct router to our ISP’s router, but it is 2 hops away from our own BGP router.
I am just looking for “best practises” at doing this as I am seeing some weird BGP situations where say if one of our ISP’s goes down (say ISP_1) and comes back up again, it effects customers traffic going out through ISP_2.
When ISP_1 comes back up, we have to reset the BGP session with ISP_2 to get traffic flowing again.
There is a couple of other small buggy things going on too which is why I believe we have this set up incorrectly.
probably best to just do a static route between BGP_R1 and BGP_R3 via R2 unless there are really multiple paths. The only time you really need to run BGP on a loopback interface is if its multi hop talking over multiple paths out of multiple interfaces from the same router.
KISS method - Keep it simple stupid (Not calling you stupid, I fall prey to this too.. )