Is it possible to set an IP address to an interface?

Robért Guhr rguhr at cronon.net
Tue Oct 24 19:19:29 CEST 2023


Hi,
I see - thanks for the feedback.

Regards, Robért

On Tue, 24 Oct 2023 at 19:07, Maria Matejka via Bird-users <
bird-users at network.cz> wrote:

> Hello Robért,
>
> BIRD basically doesn't set IP addresses to interfaces. This is a design
> choice of the current team. Please use external tooling for this.
>
> To elaborate a bit more, because we get these kinds of questions
> repeatedly → Implementing of this feature would open a huge can of worms,
> or a very large rabbithole (choose your best option) of features:
>
>    - setting tunnel endpoint IPs
>    - implementing DHCP client
>    - implementing VRRP
>    - creating and destroying tunnel interfaces
>    - setting interfaces up and down
>    - setting up wireguard links
>    - …
>
> Yes, we could become another NetworkManager … and to be honest, I
> sometimes wish to go this way when seeing how badly NM is handling some
> specific corner cases. Anyway, it's a lot of work. A LOT of work. An
> absurdly huge pile of hard work to get there.
>
> Of course, if there is demand for this, and we are closely monitoring what
> the users think and wish, we may rethink this design choice.
>
> Thank you for your understanding
> Maria
> On 2023-10-24 17:29, Robért Guhr wrote:
>
> Hi,
>
> is it possible to set an ipv4 address (e.g. "10.186.100.11/32" ) via bird
> on a dummy interface called "anycast"?
> I mean via the bird config not via bgp/ospf pushes.
>
> Background:
>
> I have setup four DNS server in two sites. All these DNS servers announces
> 10.186.100.11/32 (and 10.186.100.12/32) up to the routers to create an
> anycast environment.
> Currently 10.186.100.11/32 (and 10.186.100.12/32) are set fixed on the
> dummy interface. Bird just imports these IP addresses.
>
> We would like to use 10.186.100.11/32 and 10.186.100.12/32 as resolver in
> /etc/resolv.conf
> But if we stop the local DNS server then the dns resolution is no longer
> possible because the addresses are hardcoded on the local interface and the
> other three dns server will not be used.
>
>
> Idee was to set the ip addreses via bird so that when we stop Bird and the
> local DNS server, we automatically forward the DNS requests to the other
> three servers.
>
>
> I was hoping the direct protocol converts a route also to an ip address
> but this seems not to be the case.
> With the kernel protocol I can export the route to the kernel routing
> table but that is not was I was want.
>
> pns-b2-ns02 ~ # cat /etc/bird.conf
> # Ansible managed
>
> router id 10.186.244.12;
>
> protocol device {
>   scan time 10;
> }
>
> protocol direct {
>   ipv4 {
>     import none;
>     export all;
>   };
>   interface "anycast";
> }
>
> protocol static {
>   ipv4 {
>     import all;
>     export all;
>   };
>   route 10.186.100.11/32 via "anycast";
> }
>
> protocol kernel {
>   ipv4 {
>     import none;
>     export all;
>   };
> }
>
>
>
>
>
> pns-b2-ns02 ~ # birdc show route; echo; ip a show dev anycast; echo; ip r
> | grep 10.186.100
>
> BIRD 2.13.1 ready.
> Table master4:
> 10.186.100.11/32     unicast [static1 17:22:18.282] * (200)
> dev anycast
>
> 4: anycast: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state
> UNKNOWN group default qlen 1000
>     link/ether 8e:b5:2b:bf:0d:5e brd ff:ff:ff:ff:ff:ff
>     inet 10.186.100.9/32 scope global noprefixroute anycast          #
> <----- here should also be the address 10.186.100.11/32
>        valid_lft forever preferred_lft forever
>
> 10.186.100.11 dev anycast proto bird scope link metric 32
>
>
>
> Regards,
> Robért
>
> --
> Maria Matejka (she/her) | BIRD Team Leader | CZ.NIC, z.s.p.o.
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20231024/fd064a80/attachment.htm>


More information about the Bird-users mailing list