I have run a bird router with two ASNs for a limited time at one point. The way I had to run it was to have 3 routing tables, one for the first ASN, one for the second ASN, and finally one for the port on the router that was being connected to my customer equipment / network. I also needed to look up multihomed linux routing on a lot of sources to find the correct ways of adding incoming traffic rules to make sure that traffic that came in on one connection left on the same connection. It seemed like a relatively easy project, but it took me days bashing my head against various walls getting it completely set up and stable. I have various static routes that needed to be put in place to make it all work. -----Original Message----- From: "Miłosz Oller" <milosz@sys-com.pl> Sent: Sunday, March 25, 2012 5:47pm To: "Ondrej Zajicek" <santiago@crfreenet.org> Cc: "Henrique de Moraes Holschuh" <hmh@hmh.eng.br>, "Oleg" <lego12239@yandex.ru>, bird-users@trubka.network.cz Subject: Re: One router - Two ASN Dnia 2012-03-25, nie o godzinie 23:20 +0200, Ondrej Zajicek pisze:
Running two sessions with different local AS numbers is possible, but it si definitely an advanced topic and not an expected use case. Probably the most elegant way would be to have two routing tables, one for each local AS (BGP sessions with that local AS connected to that table) and these tables connected with a pipe with filters like (for direction from A to B):
bgp_path.append(A); if B ~ bgp_path then reject;
(although B ~ bgp_path -> reject would be perhaps better in import filter of BGP protocols of A)
Obviously, the issue is a lot simpler if you do not want redistribute routes from one BGP neighbor to another one.
Is it something like in Wiki - BGP Example 2? I have two upstream peers: A (ISP1) and B (ISP2), and two local ASN: C and D (one router). Now AS C connects with A and B - this configuration works ok. But I must add ASN D. ASN A will connect with D, B with C, and C with D. Like this: A - {D - C} - B -- Miłosz