Multiple routing tables with multiple gateways
Hello there, I'm currently writing a project document which consists in a server to be hosted in a Internet Exchange Point, (similar to a route server but with another propose) and one of the things it must do is: When it receives a request coming from an IP range from ISP A it must go out to the internet using the ISP A gateway, when the request comes from ISP B IP range it goes out via that ISP router and so on. Any request originating on the server itself goes out via the Internet Exchange connectivity. I know this can be done using IProute2 and creating multiple routing tables, but I would rather automate it using BIRD, so the ISPs would establish a BGP session to the server, announce their IP range, but in a different way they do with a Route server as they would need also to announce default route, and BIRD would take care to inform the kernel for when the request comes from those IPs it needs to use the specific ISP gateway depending on the IP range. Would anyone be able to point me to the right direction in terms of BIRD BGP config in order to achieve that, specially with regards the main differences to a Route Server. Thanks Best regards, Fernando
On Mon, Sep 01, 2014 at 08:47:14PM +0100, Fernando Frediani wrote:
Hello there,
Would anyone be able to point me to the right direction in terms of BIRD BGP config in order to achieve that, specially with regards the main differences to a Route Server.
This example could help: https://gitlab.labs.nic.cz/labs/bird/wikis/Policy_routing -- 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."
Thanks for the Ondrej, I have actually seen this page already and found it pretty useful. My main doubt still is about how to separate the routes received in different route tables to tell the kernel of when a request comes from an IP range it goes out via that specific gateway. Would it be possible that you specify part that covers that ? Is it by any chance mainly what is below example of BGP client C and D ? Can you give me an example of a short config part of how, upon receive of routes through BGP mainly inject them into a separate table and make that table look the same as if was made using IProute2. Doesn't need to include the BGP session details but the part or function that injects the routes received to each specific table. Thanks Regards, Fernando On 02/09/2014 12:54, Ondrej Zajicek wrote:
On Mon, Sep 01, 2014 at 08:47:14PM +0100, Fernando Frediani wrote:
Hello there,
Would anyone be able to point me to the right direction in terms of BIRD BGP config in order to achieve that, specially with regards the main differences to a Route Server. This example could help:
On Tue, Sep 02, 2014 at 03:15:54PM +0100, Fernando Frediani wrote:
Thanks for the Ondrej, I have actually seen this page already and found it pretty useful. My main doubt still is about how to separate the routes received in different route tables to tell the kernel of when a request comes from an IP range it goes out via that specific gateway.
That is something that has to be configured statically using 'ip rule' tools outside of BIRD. See http://lartc.org/howto/lartc.rpdb.html -- 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."
participants (2)
-
Fernando Frediani -
Ondrej Zajicek