From 4527cbb61645b8da27c50bad0f06410c41d376aa Mon Sep 17 00:00:00 2001 From: Bert Hubert Date: Mon, 16 Jun 2008 20:26:07 +0000 Subject: [PATCH] update documentation so it now mentions 1) the geo backend 2) the exact conditions needed to benefit from supermaster notifications git-svn-id: svn://svn.powerdns.com/pdns/trunk/pdns@1203 d19b8d6e-7fed-0310-83ef-9ca221ded41b --- pdns/docs/pdns.sgml | 77 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 68 insertions(+), 9 deletions(-) diff --git a/pdns/docs/pdns.sgml b/pdns/docs/pdns.sgml index b1c59707c..8e53246bf 100644 --- a/pdns/docs/pdns.sgml +++ b/pdns/docs/pdns.sgml @@ -8233,7 +8233,7 @@ function nxdomain ( ip, domain, qtype ) ret={} if qtype ~= pdns.A then return -1, ret end -- only A records if not string.find(domain, "^www.") then return -1, ret end -- only things that start with www. - if not matchnetmask(ip, "10.0.0.0/8") then return -1, ret end -- only interfere with local queries + if not matchnetmask(ip, "10.0.0.0/8", "192.168.0.0/16") then return -1, ret end -- only interfere with local queries ret[1]={qtype=pdns.A, content="127.1.2.3"} -- add IN A 127.1.2.3 ret[2]={qtype=pdns.A, content="127.3.2.1"} -- add IN A 127.3.2.1 return 0, ret -- return no error, plus records @@ -8319,6 +8319,10 @@ end + + Finally, the function matchnetmask(ip, netmask1, netmask2..) is available to match incoming queries against + a number of netmasks. If any of these matches, the function returns true. + @@ -8634,7 +8638,7 @@ end Since 2.9.21, PowerDNS supports multiple masters. For the BIND backend, the native BIND configuration language suffices to specify multiple masters, for SQL based backends, list all master servers separated by commas in the 'master' field of the domains table. - Supermaster automatic provisioning of slaves + Supermaster automatic provisioning of slaves PDNS can recognize so called 'supermasters'. A supermaster is a host which is master for domains and for which we are to be a slave. When a master (re)loads a domain, it sends out a notification to its slaves. Normally, such a notification is only accepted if PDNS already @@ -8645,8 +8649,23 @@ end is bonafide, PDNS can provision the domain automatically, and configure itself as a slave for that zone. - To enable this feature, a backend needs to know about the IP address of the supermaster, and how PDNS will be listed in the set of - NS records remotely, and the 'account' name of your supermaster. There is no need to fill this out but it does help keep track of + Before a supermaster notification succeeds, the following conditions must be met: + + + The supermaster must carry a SOA record for the notified domain + + + The supermaster IP must be present in the 'supermaster' table + + + The set of NS records for the domain, as retrieved by the slave from the supermaster, must include the name that + goes with the IP address in the supermaster table + + + + + So, to benefit from this feature, a backend needs to know about the IP address of the supermaster, and how PDNS will be listed in the set of + NS records remotely, and the 'account' name of your supermaster. There is no need to fill the account name out but it does help keep track of where a domain comes from. @@ -11966,11 +11985,7 @@ insert into Records (id,ZoneId, name,type,content,TimeToLive,Priority) select RE XDB Backend - Special purpose backend for grandiose performance. Can talk to Tridge's Trivial Database, or to regular *db tables on disk. Currently only sparsely - documented. Very useful if you need to do >50.000 queries/second, which we actually measured on the .ORG zone. - - - More documentation will follow. + No longer part of PowerDNS. LDAP backend @@ -12032,6 +12047,50 @@ insert into Records (id,ZoneId, name,type,content,TimeToLive,Priority) select RE + Geo backend + + + + This section is a subset of the full documentation which can be found in modules/geobackend/README of + the PowerDNS distribution. + + + + + The main author for this module is Mark Bergsma. + + + + Geo backend capabilities + + + NativePartial + MasterNo + SlaveNo + SuperslaveNo + AutoserialNo + + +
+
+ + The Geo Backend can be used to distribute queries globally using an IP-address/country mapping table, several of which are freely available + online or can be acquired for a small fee. + + + This allows visitors to be sent to a server close to them, with no appreciable delay, as would otherwise be incurred with a protocol level redirect. + Additionally, the Geo Backend can be used to provide service over several clusters, any of which can be taken out of use easily, for example + for maintenance purposes. + + + The Geo Backend is in wide use, for example by the Wikimedia foundation, which uses it to power the Wikipedia global load balancing. + + + More details can be found here, or in + modules/geobackend/README, part of the PowerDNS Authoritative Server distribution. + +
+ PDNS internals -- 2.40.0