Hi;
We've got a bunch of Ubuntu 22.04 machines around the world using BIRD1.6 to provide anycast for nginx, much like Google does for DNS at 8.8.8.8.
Each machine is in a different data center, talking to an ISP's router, and each ISP is different.
Now we want to switch to BIRD2, but we don't want to interrupt service by dropping routes if we can help it.
One piece of advice we got was to run BIRD1.6 and BIRD2 side-by-side on the same machine, and establish a new BGP session with BIRD2 before turning off BIRD1.6.
I found https://bird.network.cz/pipermail/bird-users/2024-May/017665.html, which sets them up in two different network namespaces, but I don't know why that is helpful or if there's more to do.
This is what I've worked out so far:
------------------->8-----cut here----->8------------------
$ sudo -i
# apt install bird
# rm /var/lib/dpkg/info/bird.prerm
# mv /run/bird/* /run
# apt install bird2
# systemctl cat bird > /tmp/bird.service
# systemctl edit --force --full bird2
( load the contents of /tmp/bird.service )
# systemctl start bird2
# birdc -s /run/bird/bird.ctl show status | head -n1
BIRD 2.0.8 ready.# birdc -s /run/bird.ctl show status | head -n1
BIRD 1.6.8 ready.------------------->8-----cut here----->8------------------
The remaining question is what do we have to do change in the new BIRD2 /etc/bird/bird.conf file to allow it to take over for the old BIRD1.6?
That's in addition to the expected configuration file changes needed for BIRD2 compatibility (which we may or may not have done correctly).
I suspect we'll have to change the router id at the very least; do we also have to bind to another ip address and set strict binding?
Thank you!
--