running two bird daemons which listen on loopback IP
Pavlos Parissis
pavlos.parissis at gmail.com
Tue Jun 19 22:57:21 CEST 2018
On 19/06/2018 06:19 μμ, Ondrej Zajicek wrote:
> On Tue, Jun 19, 2018 at 05:34:06PM +0200, Pavlos Parissis wrote:
>> Hi,
>>
>> For testing purposes I want to run two bird instances which listen on two different IPs. Those IP
>> addresses are assigned to loopback interface(Linux box). I have configured BGP but each daemon is
>> waiting the other to become neighbor.
>>
>> I run tcpdump on loopback interface and I don't see any network traffic, and I am wondering if
>> using loopback inteface isn't supported.
>
> Hi
>
> It is likely unrelated to loopback. There are two cases:
>
> BGP is EBGP (direct mode) - in this case BIRD checks if the destination
> IP address is a direct neighbor and a local address is not considered
> direct neighbor, so there is 'waiting to become neighbor' issue.
>
> BGP is IBGP (multihop mode) - in this case it is regular TCP connection
> and two local BIRD instances on two different local IPs work just fine.
>
> You can switch to IBGP (same AS numbers) or just force multihop for
> EBGP mode ('multihop' option).
>
That was the missing option to get it working. I had "direct" and replace it with "multihop". I also
had to set "listen bgp address <IP1>" in order to not listen to all IPs as a single instance running
was gaving me errors:
BGP: Unexpected connect from unknown address 10.52.12.1 (port 46089)
Here is my compete config where 10.52.12.0/24 are assigned to loopback interface
cat bird-server.conf
log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
timeformat protocol "%F %T %s";
timeformat route "%F %T %s";
router id 10.52.12.1;
listen bgp address 10.52.12.1;
protocol device {
scan time 10;
}
protocol static {
disabled yes;
}
protocol direct direct1 {
interface "lo";
debug all;
export none;
import all;
}
protocol bgp BGP1 {
disabled no;
description "Peer-BGP1";
neighbor 10.52.12.2 as 64815;
source address 10.52.12.1;
bfd off;
debug all;
#debug { states, routes, filters, interfaces, events };
import none;
export all;
#direct;
multihop;
hold time 10;
startup hold time 240;
connect retry time 120;
keepalive time 3;
connect delay time 5;
error wait time 10, 300;
error forget time 300;
disable after error off;
next hop self;
path metric 1;
default bgp_med 0;
default bgp_local_pref 0;
local as 64815;
}
at bird-switch.conf
log syslog { debug, trace, info, remote, warning, error, auth, fatal, bug };
debug protocols all;
timeformat protocol "%F %T %s";
timeformat route "%F %T %s";
router id 10.52.12.2;
listen bgp address 10.52.12.2;
protocol device {
disabled yes;
}
protocol static {
disabled yes;
}
protocol direct direct1 {
disabled yes;
}
protocol bgp BGP1SWITCH {
disabled no;
description "Switch-BGP1";
neighbor 10.52.12.1 as 64815;
source address 10.52.12.2;
debug all;
bfd off;
debug { states, routes, filters, interfaces, events };
import all;
export none;
multihop;
hold time 10;
startup hold time 240;
connect retry time 120;
keepalive time 3;
connect delay time 5;
error wait time 10, 300;
error forget time 300;
disable after error off;
next hop self;
path metric 1;
default bgp_med 0;
default bgp_local_pref 0;
local as 64815;
}
Thanks a lot for your assistance, it is very much appreciated.
Cheers,
Pavlos
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20180619/6e481195/attachment.sig>
More information about the Bird-users
mailing list