Setting up anycast DNS using bird
K Storbeck
kai at xs4all.net
Fri Jan 15 16:30:07 CET 2010
Fellow birdwatchers,
We're running a set of resolvers here using an anycast setup. We currently do this on FreeBSD using openbsd's bgpd.
Bgpd is started with a bare config defining the local as, the neighbor and its as. After starting up our DNS servers on a local dummy0 interface, and we're confident that they work, we're using bgpctl (openbgp's CLI) to announce one or more prefixes.
So far I have a working setup, but I'm not completely satisfied:
log syslog {info, warning, error, fatal, debug, trace, remote, auth};
log "/var/log/bird.log" all;
router id 192.168.1.1;
listen bgp address 192.168.1.1 port 179;
protocol kernel {
persist; # Don't remove routes on BIRD shutdown
scan time 20; # Scan kernel routing table every 20 seconds
}
protocol device {
scan time 10; # Scan interfaces every 10 seconds
}
# only guesswork here: I'm presuming this scans all dummy interfaces, and looks what is up and configured?
protocol direct {
interface "dummy*";
}
protocol bgp {
debug all;
local as 65516;
neighbor 192.168.1.2 as 3265;
source address 192.168.1.1;
# again: guesswork, does this announce all 'protocol direct' stuff?
export all;
}
My preference would be to explicitly list the prefixes that I want to announce, not having to rely on what I'm really configuring on my linux dummy interface. Is that coming, or did I misinterpret the docs?
I'd love to setup a v4 and a v6 bgp session with 1 daemon, since my DNS software is fine with it. Do I understand it correctly that this currently isn't possible?
Regards,
Kai
More information about the Bird-users
mailing list