IP addresses assigning via Bird
Hi everybody, is there any way to use Bird for binding IP addresses to interfaces? Something like Zebra do in Quagga. interface dummy1 ip address 192.168.1.0/24 Thanks, Blažej
Hello!
is there any way to use Bird for binding IP addresses to interfaces? Something like Zebra do in Quagga.
interface dummy1 ip address 192.168.1.0/24
There is no such feature and we aren't sure about implementing that. Is there any good reason to do this instead of setting static IP configuration in the appropriate system configuration (e.g. /etc/network/interfaces)? Maria
Hello,
There is no such feature and we aren't sure about implementing that. Is there any good reason to do this instead of setting static IP configuration in the appropriate system configuration (e.g. /etc/network/interfaces)?
The main reason why to not use system configuration from /etc/network/interfaces is requirement to do down-up procedure with interface which affects network traffic. It is possible to IP addresses via "ip address ..." statement, however this changes are not persistent. Doing it all doubly - changing /etc/network/interfaces for persistent setting and then "ip address ..." for running machine can bring bugs and inconsistency. Bird config file is tested before applying and it makes it safe and simple.
You can use nmcli instead of /etc/network/interfaces. It works like a charm. Petr st 22. 9. 2021 v 19:04 odesílatel Blažej Krajňák <blazej.krajnak@gmail.com> napsal:
Hello,
There is no such feature and we aren't sure about implementing that. Is there any good reason to do this instead of setting static IP configuration in the appropriate system configuration (e.g. /etc/network/interfaces)?
The main reason why to not use system configuration from /etc/network/interfaces is requirement to do down-up procedure with interface which affects network traffic. It is possible to IP addresses via "ip address ..." statement, however this changes are not persistent. Doing it all doubly - changing /etc/network/interfaces for persistent setting and then "ip address ..." for running machine can bring bugs and inconsistency. Bird config file is tested before applying and it makes it safe and simple.
Oh no if I start NetworkManager and exports the full table into the kernel, the CPU booms on CentOS 7 and 8. Don't know why. Zhang Xun From: Petr Boltík Date: 2021-09-23 01:11 To: Blažej Krajňák CC: bird-users Subject: Re: IP addresses assigning via Bird You can use nmcli instead of /etc/network/interfaces. It works like a charm. Petr st 22. 9. 2021 v 19:04 odesílatel Blažej Krajňák <blazej.krajnak@gmail.com> napsal: Hello,
There is no such feature and we aren't sure about implementing that. Is there any good reason to do this instead of setting static IP configuration in the appropriate system configuration (e.g. /etc/network/interfaces)?
The main reason why to not use system configuration from /etc/network/interfaces is requirement to do down-up procedure with interface which affects network traffic. It is possible to IP addresses via "ip address ..." statement, however this changes are not persistent. Doing it all doubly - changing /etc/network/interfaces for persistent setting and then "ip address ..." for running machine can bring bugs and inconsistency. Bird config file is tested before applying and it makes it safe and simple.
ZX <zx@zxinc.org> writes:
Oh no if I start NetworkManager and exports the full table into the kernel, the CPU booms on CentOS 7 and 8. Don't know why.
That's because NetworkManager listens to netlink notifications of new routes (for some reason). I've run into this problem with several userspace utilities (dnsmasq is another). Personally I use systemd-networkd to configure the network interfaces. You need to set ManageForeignRoutes=no in /etc/systemd/networkd.conf, but otherwise it works quite well. If you're changing the addresses assigned to an interface, systemd-networkd will remove and re-add all addresses, so there's a small window where the addresses get removed, but the link doesn't go down... -Toke
Hello!
There is no such feature and we aren't sure about implementing that. Is there any good reason to do this instead of setting static IP configuration in the appropriate system configuration (e.g. /etc/network/interfaces)?
The main reason why to not use system configuration from /etc/network/interfaces is requirement to do down-up procedure with interface which affects network traffic. It is possible to IP addresses via "ip address ..." statement, however this changes are not persistent. Doing it all doubly - changing /etc/network/interfaces for persistent setting and then "ip address ..." for running machine can bring bugs and inconsistency. Bird config file is tested before applying and it makes it safe and simple.
Well, yes, this argument seems to be feasible. Yet I'm quite afraid of kinda slippery slope, where implementing static IP assignments may lead to implementing also DHCP client (or other kinds of dynamic assignments), then DHCPv6 relay, server, then managing tunnels … … I know that L2 and L3 are somehow overlapping and there is no exact boundary between them. To be honest, MPLS is exactly between them and we decided to have it in our plans for implementing. However, I don't like evolving BIRD into another SystemD-like daemon … we all know how it began and where we are now, don't we? Maria
Also, there is possibility to write some metadaemon that will run and configure bird and also configure addresses and interfaces itself or with other daemon. One who does that may even find some striped animal with wings and name this deamon after it. :) On Thu, Sep 23, 2021 at 5:12 PM Maria Matejka <maria.matejka@nic.cz> wrote:
Hello!
There is no such feature and we aren't sure about implementing that. Is there any good reason to do this instead of setting static IP configuration in the appropriate system configuration (e.g. /etc/network/interfaces)?
The main reason why to not use system configuration from /etc/network/interfaces is requirement to do down-up procedure with interface which affects network traffic. It is possible to IP addresses via "ip address ..." statement, however this changes are not persistent. Doing it all doubly - changing /etc/network/interfaces for persistent setting and then "ip address ..." for running machine can bring bugs and inconsistency. Bird config file is tested before applying and it makes it safe and simple.
Well, yes, this argument seems to be feasible. Yet I'm quite afraid of kinda slippery slope, where implementing static IP assignments may lead to implementing also DHCP client (or other kinds of dynamic assignments), then DHCPv6 relay, server, then managing tunnels …
… I know that L2 and L3 are somehow overlapping and there is no exact boundary between them. To be honest, MPLS is exactly between them and we decided to have it in our plans for implementing. However, I don't like evolving BIRD into another SystemD-like daemon … we all know how it began and where we are now, don't we?
Maria
I guess you are looking for a thing "all config in a single place" like hardware-based routers... Is not Linux, but maybe BSD Router Project could near what you are looking for. https://bsdrp.net/ It supports Bird also, but the Bird configs will need to be on other files. Em qua., 22 de set. de 2021 às 12:10, Blažej Krajňák < blazej.krajnak@gmail.com> escreveu:
Hi everybody,
is there any way to use Bird for binding IP addresses to interfaces? Something like Zebra do in Quagga.
interface dummy1 ip address 192.168.1.0/24
Thanks, Blažej
-- Douglas Fernando Fischer Engº de Controle e Automação
participants (7)
-
Alexander Zubkov -
Blažej Krajňák -
Douglas Fischer -
Maria Matejka -
Petr Boltík -
Toke Høiland-Jørgensen -
ZX