Bird 2.14 Starts but Won't Bind to Port 179

Eric Robinson eric.robinson at psmnv.com
Fri Aug 2 00:33:23 CEST 2024


That did it, thank you!

-Eric


From: Maria Matejka <maria.matejka at nic.cz>
Sent: Thursday, August 1, 2024 3:55 PM
To: Eric Robinson <eric.robinson at psmnv.com>; bird-users at network.cz
Subject: RE: Bird 2.14 Starts but Won't Bind to Port 179

You are missing the

protocol kernel { ipv6 { export all; }; }

bit to actually do the synchronization with the kernel.

On 1 August 2024 22:35:14 CEST, Eric Robinson <eric.robinson at psmnv.com<mailto:eric.robinson at psmnv.com>> wrote:
It’s not quite working yet. The bird console shows the default route…

[root at fw9b ~]# birdc
BIRD 2.14 ready.
bird> show route
Table master4:
0.0.0.0/0            unicast [isp1 13:29:52.523] * (100) [AS23222i]
        via 4.4.92.130 on red0
                     unicast [isp2 13:29:52.491] (100) [AS23222i]
        via 4.4.92.131 on red0
bird>

…but it does not show up to the OS, and the outside world is not pingable.

[root at fw9b ~]# ip route
192.168.5.0/24 dev green0 proto kernel scope link src 192.168.5.10
4.4.92.128/28 dev red0 proto kernel scope link src 4.4.92.140


From: Maria Matejka <maria.matejka at nic.cz<mailto:maria.matejka at nic.cz>>
Sent: Thursday, August 1, 2024 3:23 PM
To: Eric Robinson <eric.robinson at psmnv.com<mailto:eric.robinson at psmnv.com>>; bird-users at network.cz<mailto:bird-users at network.cz>
Subject: RE: Bird 2.14 Starts but Won't Bind to Port 179

It looks like working. It accepts the default route while refusing to export it back which is expected to happen.


Maria

On 1 August 2024 21:48:36 CEST, Eric Robinson <eric.robinson at psmnv.com<mailto:eric.robinson at psmnv.com>> wrote:
I added that and it listens now!

I’m not sure what to make of the log notices, though.

2024-08-01 12:43:15.036 <TRACE> isp2: Started
2024-08-01 12:43:15.036 <TRACE> isp2: Connect delayed by 5 seconds
2024-08-01 12:43:15.036 <TRACE> isp1: Started
2024-08-01 12:43:15.036 <TRACE> isp1: Connect delayed by 5 seconds
2024-08-01 12:43:19.073 <TRACE> isp1: Connecting to <redacted> from local address <redacted>
2024-08-01 12:43:19.074 <TRACE> isp1: Connected
2024-08-01 12:43:19.074 <TRACE> isp1: Sending OPEN(ver=4,as=65526,hold=240,id=d8735c8c)
2024-08-01 12:43:19.078 <TRACE> isp1: Connection lost (Connection reset by peer)
2024-08-01 12:43:19.078 <TRACE> isp1: Connect delayed by 5 seconds
2024-08-01 12:43:19.287 <TRACE> isp2: Connecting to <redacted>from local address <redacted>
2024-08-01 12:43:19.288 <TRACE> isp2: Connected
2024-08-01 12:43:19.288 <TRACE> isp2: Sending OPEN(ver=4,as=65526,hold=240,id=d8735c8c)
2024-08-01 12:43:19.494 <TRACE> isp2: Got OPEN(as=23005,hold=180,id=<redacted>)
2024-08-01 12:43:19.494 <TRACE> isp2: Sending KEEPALIVE
2024-08-01 12:43:19.495 <TRACE> isp2: Got KEEPALIVE
2024-08-01 12:43:19.495 <TRACE> isp2: BGP session established
2024-08-01 12:43:19.495 <TRACE> isp2: State changed to up
2024-08-01 12:43:19.495 <TRACE> isp2: Sending END-OF-RIB
2024-08-01 12:43:19.536 <TRACE> isp2: Got UPDATE
2024-08-01 12:43:19.536 <TRACE> isp2.ipv4 > added [best] 0.0.0.0/0 0L 2G unicast
2024-08-01 12:43:19.536 <TRACE> isp2.ipv4 < rejected by protocol 0.0.0.0/0 0L 2G unicast
2024-08-01 12:43:23.578 <TRACE> isp1: Connecting to <redacted> local address <redacted>
2024-08-01 12:43:23.578 <TRACE> isp1: Connected
2024-08-01 12:43:23.578 <TRACE> isp1: Sending OPEN(ver=4,as=65526,hold=240,id=d8735c8c)
2024-08-01 12:43:23.782 <TRACE> isp1: Got OPEN(as=23005,hold=180,id=<redacted>)
2024-08-01 12:43:23.782 <TRACE> isp1: Sending KEEPALIVE
2024-08-01 12:43:23.783 <TRACE> isp1: Got KEEPALIVE
2024-08-01 12:43:23.783 <TRACE> isp1: BGP session established
2024-08-01 12:43:23.783 <TRACE> isp1: State changed to up
2024-08-01 12:43:23.783 <TRACE> isp1.ipv4 < filtered out 0.0.0.0/0 0L 2G unicast
2024-08-01 12:43:23.783 <TRACE> isp1: Sending END-OF-RIB
2024-08-01 12:43:23.788 <TRACE> isp1: Got UPDATE
2024-08-01 12:43:23.788 <TRACE> isp1.ipv4 > added [best] 0.0.0.0/0 0L 3G unicast
2024-08-01 12:43:23.788 <TRACE> isp2.ipv4 < filtered out 0.0.0.0/0 0L 3G unicast
2024-08-01 12:43:23.788 <TRACE> isp1.ipv4 < rejected by protocol 0.0.0.0/0 0L 3G unicast
2024-08-01 12:43:29.463 <TRACE> isp2: Got UPDATE
2024-08-01 12:43:29.463 <TRACE> isp2: Got END-OF-RIB
2024-08-01 12:43:33.765 <TRACE> isp1: Got UPDATE
2024-08-01 12:43:33.765 <TRACE> isp1: Got END-OF-RIB
2024-08-01 12:44:09.966 <TRACE> isp2: Sending KEEPALIVE
2024-08-01 12:44:18.548 <TRACE> isp1: Sending KEEPALIVE
2024-08-01 12:44:29.465 <TRACE> isp2: Got KEEPALIVE
2024-08-01 12:44:33.766 <TRACE> isp1: Got KEEPALIVE
2024-08-01 12:44:57.910 <TRACE> isp2: Sending KEEPALIVE

It seems to add the default route, then reject it?

-Eric

From: Eric Robinson
Sent: Thursday, August 1, 2024 2:26 PM
To: Maria Matejka <maria.matejka at nic.cz<mailto:maria.matejka at nic.cz>>; bird-users at network.cz<mailto:bird-users at network.cz>; bird-users at network.cz<mailto:bird-users at network.cz>
Subject: RE: Bird 2.14 Starts but Won't Bind to Port 179

I do not. Following is the whole config. (The IPs and ASNs are bogus.)

Our need is simple. We don’t need to advertise any routes. We just need to get the default route from the ISP and ignore everything else.

[root at fw9b etc]# cat bird.conf
log "/var/log/bird.log" all;

router id 4.4.92.140;

protocol bgp isp1 {
        description "BGP with ISP Router 1";
        local as 65111;
        neighbor 4.4.92.130%red0 as 23222;
        debug all;
        ipv4 {
                import filter {
                        if net = 0.0.0.0/0 then accept;
                        reject;
                };
                export none; # Do not export any routes to ISP
                next hop self;
        };
}

protocol bgp isp2 {
        description "BGP with ISP Router 2";
        local as 65111;
        neighbor 4.4.92.131%red0 as 23222;
        debug all;
        ipv4 {
                import filter {
                        if net = 0.0.0.0/0 then accept;
                        reject;
                };
                export none; # Do not export any routes to ISP
                next hop self;
        };
}

From: Maria Matejka <maria.matejka at nic.cz<mailto:maria.matejka at nic.cz>>
Sent: Thursday, August 1, 2024 2:18 PM
To: bird-users at network.cz<mailto:bird-users at network.cz>; Eric Robinson <eric.robinson at psmnv.com<mailto:eric.robinson at psmnv.com>>; bird-users at network.cz<mailto:bird-users at network.cz>
Subject: Re: Bird 2.14 Starts but Won't Bind to Port 179

Hello,

do you have
protocol device {}
in your config?

Maria

On 1 August 2024 20:41:23 CEST, Eric Robinson <eric.robinson at psmnv.com<mailto:eric.robinson at psmnv.com>> wrote:

Bird starts, and claims that it is waiting for the upstream routers to become neighbors…

2024-07-31 06:25:25.774 isp1: Initializing
2024-07-31 06:25:25.774 isp2: Initializing
2024-07-31 06:25:25.774 isp1: Starting
2024-07-31 06:25:25.774 isp1: State changed to start
2024-07-31 06:25:25.774 isp2: Starting
2024-07-31 06:25:25.774 isp2: State changed to start
2024-07-31 06:25:25.774 Started
2024-07-31 06:25:25.775 isp2: Waiting for 4.4.92.131 to become my neighbor
2024-07-31 06:25:25.775 isp1: Waiting for 4.4.92.130 to become my neighbor

…however, I can see in tcpdump that bird is refusing BGP connections…

08:50:31.055601 IP 4.4.92.130.34302 > 4.4.92.140.179: Flags [S], seq 733565924, win 16384, options [mss 1424,wscale 0,nop,sackOK,eol], length 0
08:50:31.056685 IP 4.4.92.140.179 > 4.4.92.130.34302: Flags [R.], seq 0, ack 733565925, win 0, length 0

…and that’s because bird is not listening…

[root at fw9b log]# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8953 0.0.0.0:* LISTEN
tcp6 0 0 :::1013 :::* LISTEN
tcp6 0 0 :::444 :::* LISTEN
tcp6 0 0 :::81 :::* LISTEN

Bird is running...

[root at fw9b log]# ps ax|grep bird
20738 pts/0 S+ 0:00 grep bird
29732 ? Ss 0:00 /usr/sbin/bird
Strace shows that it is not binding to the port.

I read a full thread about this exact symptom here: https://bird.network.cz/pipermail/bird-users/2020-September/014824.html

Unfortunately, I’m brand new to bird and I was unable to follow some of it.

-Eric


Disclaimer : This email and any files transmitted with it are confidential and intended solely for intended recipients. If you are not the named addressee you should not disseminate, distribute, copy or alter this email. Any views or opinions presented in this email are solely those of the author and might not represent those of Physician Select Management. Warning: Although Physician Select Management has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments.
Disclaimer : This email and any files transmitted with it are confidential and intended solely for intended recipients. If you are not the named addressee you should not disseminate, distribute, copy or alter this email. Any views or opinions presented in this email are solely those of the author and might not represent those of Physician Select Management. Warning: Although Physician Select Management has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments.
Disclaimer : This email and any files transmitted with it are confidential and intended solely for intended recipients. If you are not the named addressee you should not disseminate, distribute, copy or alter this email. Any views or opinions presented in this email are solely those of the author and might not represent those of Physician Select Management. Warning: Although Physician Select Management has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments.
--
Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
Disclaimer : This email and any files transmitted with it are confidential and intended solely for intended recipients. If you are not the named addressee you should not disseminate, distribute, copy or alter this email. Any views or opinions presented in this email are solely those of the author and might not represent those of Physician Select Management. Warning: Although Physician Select Management has taken reasonable precautions to ensure no viruses are present in this email, the company cannot accept responsibility for any loss or damage arising from the use of this email or attachments.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20240801/abebaa82/attachment.htm>


More information about the Bird-users mailing list