I have an RB500 running v3.0beta9, with two physical links to a Linux-router running quagga. On the RB500, ether1 has address 10.1.1.1/24, ether2 has address 10.1.2.1/24. Similarly, the Linux router has 10.1.1.2/24 on eth0 and 10.1.2.2/24 on eth1. I would like to establish two iBGP sessions between those routers, so that BGP keeps running when a link fails. Unfortunately I just get: Duplicate remote RouterId: 10.1.2.2
The BGP RFC refers somewhat cryptically to it being possible to have multiple peerings between the same peers, as long as the IP address pairs are different. Can it be implemented in RouterOS?
Change quagga so that it sends one routerid via one link and another routerid via another link? I haven’t heard about such functionality and a quick search didn’t unearth anything like that.
Will using multiple instances actually work in this case? It sounds like both of them will try to insert routes into the kernel routing table; which instance will win?
Using two instances on RouterOS will cause the routing tables to not merge correctly. AS PATH is only evaluated per instance, so sometimes routes that are longer AS PATH are used first, which is not what you want probably. I learned this the hard way. Try to keep everything in a single instance if you can.
“Duplicate remote RouterId: 10.1.2.2” ← This is RouterOS saying this? It sounds like you need to modify the routerID on the quagga box not RouterOS.
Let me repeat myself from the first post: “I have an RB500 running v3.0beta9, with two physical links to a Linux-router running quagga.” There are only two routers involved here, one runs RouterOS, the other runs Quagga. Therefore there is no point in changing the router ID on the Quagga box, it will be the same on both links between the routers.
I just want RouterOS to ignore the duplicate router ID and not shut down the link.
What I meant to say is that RouterOS can’t handle that situation, but I think Quagga/zebra will. Possibly you can tell the quagga box that each peering session / instance uses a different routerid, like you can in routeros. I always make it a habit to change my router id to something like ‘127.15.0.x’ - something that doesn’t exist, that way I dont mix up that it even has to be an ip address at all. Or if i absolutely have to I can order them the way I need since it sometimes takes the ‘lowest’ ip address.
In the end it would be nice if routeros didn’t choke on a duplicate id, but until you file a fix-it with support it’s not going to change. We’re all hoping to make the bgp code a little more stable.