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…
Lol. Okay, they’re open now. I also opened port 22 and changed the root password to ‘1234.’ And the IP addresses shown in my previous comments are totally real.
Bird is a lightweight routing daemon, which we are using for BGP. BGP listens on TCP port 179. Port 179 is already open on the firewall, but bird is not listening on that port.
Also, the port range you mentioned is what Linux uses for the source (client) port on connections, not the server ports it listens on.
and btw. if there are no services waiting on the opend Ports - you can open thousands of Ports - then nothing happens at all
Yes, that’s my point. The service is not listening.
You might try adding ‘listen bgp’ to your configuration. In the excerpt from the bird documentation below, it looks like ‘address’, ‘port’ and ‘dual’ are all optional parameters so maybe when they say the defaults are ‘0.0.0.0’ and ‘179’ they mean when ‘listen bgp’ is specified without additional parameters as opposed to it being a more global set of defaults for bird. Just a thought.
listen bgp [address address] [port port] [dual]
This option allows to specify address and port where BGP protocol should listen. It is global option as listening socket is common to all BGP instances. Default is to listen on all addresses (0.0.0.0) and port 179. In IPv6 mode, option dual can be used to specify that BGP socket should accept both IPv4 and IPv6 connections (but even in that case, BIRD would accept IPv6 routes only). Such behavior was default in older versions of BIRD.