RE: Bird redundant routers with same AS on same location and prefix delegation to lower router
Hi Andrew, As I am new to Bird I can not find a good example how to create a RR cluster with two routers R1 + R2. Do you have experience with a RR cluster with multiple routers? My biggest question is acquily how to config the sessions between R1 + R2 as clustermembers without creating a loop. Regards, Richard Van: Andrew [mailto:nitr0@seti.kr.ua] Verzonden: donderdag 7 september 2017 16:55 Aan: Gelderman, Richard <r.gelderman@rtvoost.nl> Onderwerp: Re: Bird redundant routers with same AS on same location and prefix delegation to lower router You may redistribute all routes between R1 and R2 using RR (both received from R3 and received from uplinks), and redistribute just default to R3 using separate table (with static default and routes peering to main table). On 07.09.2017 17:38, Gelderman, Richard wrote: Hi Adrew, I thought about this option, I don't want to pass a full BGP table towards R3. In other words R1 + R2 should be used for routing for all routes and R3 should only route net A and net B and must route through to reach other networks. Regards, Richard Van: Bird-users [mailto:bird-users-bounces@network.cz] Namens Andrew Verzonden: donderdag 7 september 2017 15:06 Aan: bird-users@network.cz<mailto:bird-users@network.cz> Onderwerp: Re: Bird redundant routers with same AS on same location and prefix delegation to lower router Hi. You should configure R1 and R2 as route reflectors. On 07.09.2017 14:17, Gelderman, Richard wrote: I am trying to achieve a redundant routing setup with two routers with the same ASN who do prefix delegation to a lower router. The setup is the following: AS1000 ISP1 ISP2 AS2000 | | | | AS10000 R1 ======== R2 AS10000 prefix /22 \ iBGP / prefix /22 \ / \ / \ / R3 AS65000 / \ / \ net A net B prefix /24 prefix /24 Does anybody has experience with this kind of setup? Regards, Richard
Hi. Something like: template bgp bgp_local { local as my_as; import filter import_bgp; export filter export_bgp; multihop; rr client; rr cluster id 1.0.0.1; } # R2 - also RR; import all routes from it protocol bgp bgp_peer_r2 from bgp_local { description "R2"; neighbor x.x.x.x as my_as; import all; } # C1 - client protocol bgp bgp_peer_c1 from bgp_local { description "C1"; neighbor x.x.x.y as my_as; } cluster id should be same on all RRs. On 18.09.2017 15:11, Gelderman, Richard wrote:
Hi Andrew,
As I am new to Bird I can not find a good example how to create a RR cluster with two routers R1 + R2.
Do you have experience with a RR cluster with multiple routers? My biggest question is acquily how to config the
sessions between R1 + R2 as clustermembers without creating a loop.
Regards, Richard
*Van:*Andrew [mailto:nitr0@seti.kr.ua] *Verzonden:* donderdag 7 september 2017 16:55 *Aan:* Gelderman, Richard <r.gelderman@rtvoost.nl> *Onderwerp:* Re: Bird redundant routers with same AS on same location and prefix delegation to lower router
You may redistribute all routes between R1 and R2 using RR (both received from R3 and received from uplinks), and redistribute just default to R3 using separate table (with static default and routes peering to main table).
On 07.09.2017 17:38, Gelderman, Richard wrote:
Hi Adrew,
I thought about this option, I don’t want to pass a full BGP table towards R3.
In other words R1 + R2 should be used for routing for all routes and R3 should only
route net A and net B and must route through to reach other networks.
Regards, Richard
*Van:*Bird-users [mailto:bird-users-bounces@network.cz] *Namens *Andrew *Verzonden:* donderdag 7 september 2017 15:06 *Aan:* bird-users@network.cz <mailto:bird-users@network.cz> *Onderwerp:* Re: Bird redundant routers with same AS on same location and prefix delegation to lower router
Hi.
You should configure R1 and R2 as route reflectors.
On 07.09.2017 14:17, Gelderman, Richard wrote:
I am trying to achieve a redundant routing setup with two routers with the same ASN who do prefix delegation to a lower router.
The setup is the following:
AS1000 ISP1 ISP2 AS2000
| |
| |
AS10000 R1 ======== R2 AS10000
prefix /22 \ iBGP / prefix /22
\ /
\ /
\ /
R3 AS65000
/ \
/ \
net A net B
prefix /24 prefix /24
Does anybody has experience with this kind of setup?
Regards,
Richard
On Mon, Sep 18, 2017 at 03:44:40PM +0300, Andrew wrote:
Hi.
Something like:
template bgp bgp_local { local as my_as; import filter import_bgp; export filter export_bgp; multihop; rr client; rr cluster id 1.0.0.1; }
# R2 - also RR; import all routes from it protocol bgp bgp_peer_r2 from bgp_local { description "R2"; neighbor x.x.x.x as my_as; import all; }
# C1 - client protocol bgp bgp_peer_c1 from bgp_local { description "C1"; neighbor x.x.x.y as my_as; }
cluster id should be same on all RRs.
Hi Note that you configured your RR-RR session as mutual-RR-client. While such setting has also its uses, the usual way is to configure RR-RR session as regular IBGP session (without 'rr client'). But both approaches will work, and unless you have more non-RR-clients it does not matter. Another approach is to set each RR as independent RR cluster (with own RR cluster ID) and just connect RR clients to two RR clusters. Such approach is less customary, but has some advantages. To the original question - loops between RRs are prevented by CLUSTER_LIST option, so there is no reason to be afraid. If there are just two dedicated RRs in one cluster (which is not the case in the original example as they also have EBGP links), you can just skip RR-RR session altogether as CLUSTER_LIST prevents to propagate anything by that session. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Hi, I've tried to test two different approaches, but I am wondering what the most resilient is. The first one is using a iBGP between R1 <> R2 with an private address range: #R1 from bgp_local { description "R2"; neighbor 172.16.130.3 as my_as; import all; } #R2 from bgp_local { description "R2"; neighbor 172.16.130.2 as my_as; import all; } The second is using a public addresses. What is the best pratice? A underlying problem it creates is how can I export the 4 networks with prefix /24 from R3 out R1 and R2 who export a /22 who the R3 divides in to 4 networks? -----Oorspronkelijk bericht----- Van: Bird-users [mailto:bird-users-bounces@network.cz] Namens Ondrej Zajicek Verzonden: dinsdag 19 september 2017 15:29 Aan: Andrew <nitr0@seti.kr.ua>; Gelderman, Richard <r.gelderman@rtvoost.nl> CC: 'bird-users@network.cz' <bird-users@network.cz> Onderwerp: Re: Bird redundant routers with same AS on same location and prefix delegation to lower router On Mon, Sep 18, 2017 at 03:44:40PM +0300, Andrew wrote:
Hi.
Something like:
template bgp bgp_local { local as my_as; import filter import_bgp; export filter export_bgp; multihop; rr client; rr cluster id 1.0.0.1; }
# R2 - also RR; import all routes from it protocol bgp bgp_peer_r2 from bgp_local { description "R2"; neighbor x.x.x.x as my_as; import all; }
# C1 - client protocol bgp bgp_peer_c1 from bgp_local { description "C1"; neighbor x.x.x.y as my_as; }
cluster id should be same on all RRs.
Hi Note that you configured your RR-RR session as mutual-RR-client. While such setting has also its uses, the usual way is to configure RR-RR session as regular IBGP session (without 'rr client'). But both approaches will work, and unless you have more non-RR-clients it does not matter. Another approach is to set each RR as independent RR cluster (with own RR cluster ID) and just connect RR clients to two RR clusters. Such approach is less customary, but has some advantages. To the original question - loops between RRs are prevented by CLUSTER_LIST option, so there is no reason to be afraid. If there are just two dedicated RRs in one cluster (which is not the case in the original example as they also have EBGP links), you can just skip RR-RR session altogether as CLUSTER_LIST prevents to propagate anything by that session. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Oct 11, 2017, at 4:13 AM, Gelderman, Richard <r.gelderman@rtvoost.nl> wrote:
What is the best pratice?
A underlying problem it creates is how can I export the 4 networks with prefix /24 from R3 out R1 and R2 who export a /22 who the R3 divides in to 4 networks?
By default (without filtering) longer prefixes should also export, so your ISP should see the /22 as well as the /24’s. If that’s not the desired result you would have to employ route filtering. Another way also might be setting the /24 prefixes with the no-export community if you don’t want AS10000 to pass them to other eBGP neighbors. -- inoc.net!rblayzor XMPP: rblayzor.AT.inoc.net PGP: https://inoc.net/~rblayzor/
participants (4)
-
Andrew -
Gelderman, Richard -
Ondrej Zajicek -
Robert Blayzor