[dns-operations] GSLB/Lua records

bert hubert bert.hubert at powerdns.com
Fri Dec 15 09:55:04 UTC 2017


Hi everyone,

Somewhere over a year ago we discussed load balancing records and failover
in DNS: https://lists.dns-oarc.net/pipermail/dns-operations/2016-November/015622.html

The idea back then, given outages that happened then, was that large DNS
service providers are offering some pretty cool features, like failover and
geographical load balancing, but that these do not interoperate, or have an
open source equivalent. This made it hard for users to migrate to platforms
that were not down.

While we (PowerDNS) would still like to go down the standards route, events
have overtaken us, and we have been moved to offer this feature as part of
our open source authoritative server early 2018. We've just released
binaries/tarball to test the feature with, as described on 
https://blog.powerdns.com/2017/12/15/powerdns-authoritative-lua-records/

It now looks like this:

@    IN    LUA    A    "ifportup(443, {'192.0.2.1', '192.0.2.2'})"

Or more powerfully:

@    IN    LUA    A    ("ifportup(443, {'192.0.2.1', '192.0.2.2', '198.51.100.1'}"
                        ", {selector='closest'})                                 ")
(this uses the MaxMind database to find the 'closest' available server)

Or even:

www    IN    LUA    A    ( "ifurlup('https://www.lua.org/',                  "
                           "{{'192.0.2.1', '192.0.2.2'}, {'198.51.100.1'}},  "
                           "{stringmatch='Programming in Lua'})              " )


Details on our current implementation are described in https://blog.powerdns.com/2017/12/15/powerdns-authoritative-lua-records/
With further details, also on AXFR implications, on https://powerdns.org/auth-4.1.1-docs/lua-records.html

LUA currently has an internal codepoint of 65402.

Your thoughts are appreciated - we have two weeks or so left to tweak this.

	Bert




More information about the dns-operations mailing list