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