Setting up anycast DNS using bird

Ondrej Filip feela at network.cz
Tue Jan 19 00:56:04 CET 2010


On 15.1.2010 16:30, K Storbeck wrote:
> 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?

Hi, of course you can specify export filters:

E.g.

===========
filter bgp_out {
        if (net = 192.175.48.0/24 ) then accept;
        else reject;
}

protocol bgp {
        debug all;
        local as 65516;
        neighbor 192.168.1.2 as 3265;
        source address 192.168.1.1;
        export export filter bgp_out;
}
===========

But there is more way then just this one.

> 
> 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?
> 

Unfortunately, that is not possible. You must run two daemons.

			Ondrej


> Regards,
> Kai
> 
> 




More information about the Bird-users mailing list