Changeset 1203

Show
Ignore:
Timestamp:
06/16/08 22:26:07 (2 years ago)
Author:
ahu
Message:

update documentation so it now mentions 1) the geo backend 2) the exact conditions needed to benefit from supermaster notifications

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/docs/pdns.sgml

    r1202 r1203  
    82348234  if qtype ~= pdns.A then return -1, ret end  --  only A records 
    82358235  if not string.find(domain, "^www.") then return -1, ret end  -- only things that start with www. 
    8236   if not matchnetmask(ip, "10.0.0.0/8")  then return -1, ret end -- only interfere with local queries 
     8236  if not matchnetmask(ip, "10.0.0.0/8", "192.168.0.0/16")  then return -1, ret end -- only interfere with local queries 
    82378237  ret[1]={qtype=pdns.A, content="127.1.2.3"}    -- add IN A 127.1.2.3 
    82388238  ret[2]={qtype=pdns.A, content="127.3.2.1"}    -- add IN A 127.3.2.1 
     
    83198319            </para> 
    83208320          </warning> 
     8321        </para> 
     8322        <para> 
     8323          Finally, the function <function>matchnetmask(ip, netmask1, netmask2..)</function> is available to match incoming queries against 
     8324          a number of netmasks. If any of these matches, the function returns true. 
    83218325        </para> 
    83228326      </sect2> 
     
    86358639        multiple masters, for SQL based backends, list all master servers separated by commas in the 'master' field of the domains table. 
    86368640      </para> 
    8637       <sect2 id=supermaster><title>Supermaster automatic provisioning of slaves</title> 
     8641      <sect2 id="supermaster"><title>Supermaster automatic provisioning of slaves</title> 
    86388642        <para> 
    86398643          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 
     
    86468650        </para> 
    86478651        <para> 
    8648           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 
    8649           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 
     8652          Before a supermaster notification succeeds, the following conditions must be met: 
     8653          <itemizedlist> 
     8654            <listitem><para> 
     8655                The supermaster must carry a SOA record for the notified domain 
     8656            </para></listitem> 
     8657            <listitem><para> 
     8658                The supermaster IP must be present in the 'supermaster' table 
     8659            </para></listitem> 
     8660            <listitem><para> 
     8661                The set of NS records for the domain, as retrieved by the slave from the supermaster, must include the name that  
     8662                goes with the IP address in the supermaster table 
     8663            </para></listitem> 
     8664          </itemizedlist> 
     8665        </para> 
     8666        <para> 
     8667          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 
     8668          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 
    86508669          where a domain comes from. 
    86518670        </para> 
     
    1196711986    <sect1 id="xdbbackend"><Title>XDB Backend</title> 
    1196811987      <para> 
    11969         Special purpose backend for grandiose performance. Can talk to Tridge's Trivial Database, or to regular *db tables on disk. Currently only sparsely 
    11970         documented. Very useful if you need to do &gt;50.000 queries/second, which we actually measured on the .ORG zone. 
    11971       </para> 
    11972       <para> 
    11973         More documentation will follow. 
     11988        No longer part of PowerDNS. 
    1197411989      </para> 
    1197511990    </sect1> 
     
    1203312048      </para> 
    1203412049    </sect1> 
     12050    <sect1 id="geo"><Title>Geo backend</title> 
     12051      <para> 
     12052        <warning> 
     12053          <para> 
     12054            This section is a subset of the full documentation which can be found in <filename>modules/geobackend/README</filename> of 
     12055            the PowerDNS distribution. 
     12056          </para> 
     12057        </warning> 
     12058      </para> 
     12059      <para> 
     12060        The main author for this module is Mark Bergsma. 
     12061      </para> 
     12062      <para> 
     12063        <table> 
     12064          <title>Geo backend capabilities</title> 
     12065          <tgroup cols=2> 
     12066            <tbody> 
     12067              <row><entry>Native</entry><entry>Partial</entry></row> 
     12068              <row><entry>Master</entry><entry>No</entry></row> 
     12069              <row><entry>Slave</entry><entry>No</entry></row> 
     12070              <row><entry>Superslave</entry><entry>No</entry></row> 
     12071              <row><entry>Autoserial</entry><entry>No</entry></row> 
     12072            </tbody> 
     12073          </tgroup> 
     12074        </table> 
     12075      </para> 
     12076      <para> 
     12077        The Geo Backend can be used to distribute queries globally using an IP-address/country mapping table, several of which are freely available 
     12078        online or can be acquired for a small fee. 
     12079      </para> 
     12080      <para> 
     12081        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. 
     12082        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  
     12083        for maintenance purposes. 
     12084      </para> 
     12085      <para> 
     12086        The Geo Backend is in wide use, for example by the Wikimedia foundation, which uses it to power the Wikipedia global load balancing. 
     12087      </para> 
     12088      <para> 
     12089        More details can be found <ulink url="http://wiki.powerdns.com/cgi-bin/trac.fcgi/browser/trunk/pdns/modules/geobackend/README">here</ulink>, or in 
     12090        <filename>modules/geobackend/README</filename>, part of the PowerDNS Authoritative Server distribution. 
     12091      </para> 
     12092    </sect1> 
     12093 
    1203512094  </appendix> 
    1203612095<appendix id="pdns-internals"><title>PDNS internals</title>