Changeset 1046

Show
Ignore:
Timestamp:
04/22/07 21:48:50 (3 years ago)
Author:
ahu
Message:

spiff up the documentation, actually enable the DNSSEC records (oops)

Location:
trunk/pdns/pdns
Files:
2 modified

Legend:

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

    r1042 r1046  
    3535      The PowerDNS daemon is a versatile nameserver which supports a large number 
    3636      of backends. These backends can either be <link linkend="bindbackend">plain zonefiles</link> or be  
    37       <link linkend="pipebackend">more dynamic</link> in nature.  
     37      <link linkend="pipebackend">more dynamic</link> in nature. Additionally, through use of clever programming techniques, 
     38      PowerDNS offers very high domain resolution performance. 
    3839    </Para> 
    3940    <Para> 
    40       Prime examples of backends include relational databases, but also 
    41       loadbalancing and failover algorithms.  
     41      Prime examples of backends include relational databases, but also (geographical) loadbalancing and failover algorithms.  
    4242    </Para> 
    4343    <para> 
    44       The company is called PowerDNS BV, the nameserver daemon is called PDNS. 
     44      The company is called PowerDNS.COM BV, the nameserver daemon is called PDNS. 
    4545    </para> 
    4646 
    4747    <sect1 id="function-design"><title>Function &amp; design of PDNS</title> 
    4848      <para> 
    49         PDNS is an authoritative only nameserver. It will answer questions about domains it knows about,  
     49        PowerDNS consists of two parts: the Authoritative Server and the Recursor. Other nameservers 
     50        fully combine these functions, PowerDNS offers them separately, but can mix both authoritative and recursive 
     51        usage seamlessly. 
     52         
     53        The Authoritative Server will answer questions about domains it knows about,  
    5054        but will not go out on the net to resolve queries about other domains. However, it can use a  
    5155        <link linkend="recursion">recursing backend</link> to provide that functionality. Depending  
     
    5357      </para> 
    5458      <para> 
    55         When PDNS answers a question, it comes out of the database, and can be trusted as being authoritative. There is 
     59        When the Authoritative Server answers a question, it comes out of the database, and can be trusted as being authoritative. There is 
    5660        no way to pollute the cache or to confuse the daemon.  
    5761      </para> 
     62      <para> 
     63        The Recursor, conversely, by default has no knowledge of domains itself, but will always consult other authoritative servers 
     64        to answer questions given to it. 
    5865      <para> 
    5966        PDNS has been designed to serve both the needs of small installations by being easy to setup, as well as  
     
    8289        Before proceeding, it is advised to check the release notes for your PDNS version, as specified in the name of the distribution 
    8390        file. 
     91      </para> 
     92      <para> 
     93        Beyond PowerDNS 2.9.20, the Authoritative Server and Recursor are released separately. 
    8494      </para> 
    8595      <sect2 id="changelog-2-9-21"><title>PowerDNS Authoritative Server version 2.9.21</title> 
     
    57305740        </screen> 
    57315741 
     5742        <warning> 
     5743          <para> 
     5744            As of 2.9.21, the BIND backend no longer features the 'bind-example-zones' command. These will return in 2.9.22. 
     5745          </para> 
     5746        </warning> 
     5747 
    57325748        This configures powerdns to 'launch' the bindbackend, and enable the example zones. To fire up PDNS in testing mode, execute:  
    57335749        <command>/etc/init.d/pdns monitor</command>, where you may have to substitute the location of your SysV init.d location you  
     
    63566372 
    63576373  <Chapter id="monitoring"> 
    6358     <title>Logging &amp; Monitoring PDNS performance</title> 
     6374    <title>Logging &amp; Monitoring Authoritative Server performance</title> 
    63596375    <para> 
    63606376      In a production environment, you will want to be able to monitor PDNS performance. For this purpose, currently  
     
    67836799      To migrate, the <command>zone2sql</command> tool is provided.  
    67846800      </para> 
     6801    <para> 
     6802      Additionally, the PowerDNS source comes with a number of diagnostic tools, which can be helpful in verifying proper  
     6803      PowerDNS operation, versus incumbent nameservers. See <xref linkend="analysis"> for more details. 
     6804    </para> 
    67856805    <sect1 id="zone2sql"><title>Zone2sql</title> 
    67866806      <para> 
     
    73017321          </varlistentry> 
    73027322          <varlistentry> 
    7303             <term>serve-rfc1918</term> 
     7323            <term>serve-rfc<emphasis>1918</emphasis></term> 
    73047324            <listitem> 
    73057325              <para> 
     
    80708090    </para> 
    80718091  </chapter> 
    8072   <chapter id="all-settings"><title>Index of all settings</title> 
     8092  <chapter id="all-settings"><title>Index of all Authoritative Server settings</title> 
    80738093    <para> 
    8074       All PDNS settings are listed here, excluding those that originate from backends, which are documented in the relevant chapters. 
     8094      All PDNS Authoritative Server settings are listed here, excluding those that originate from backends, which are documented in the relevant chapters. 
    80758095      <variablelist> 
    80768096        <varlistentry> 
     
    83508370    </para> 
    83518371  </chapter> 
    8352   <chapter id="metrics"><title>Index of all internal metrics</title> 
     8372  <chapter id="metrics"><title>Index of all Authoritative Server metrics</title> 
    83538373    <sect1 id="counters-variables"><title>Counters &amp; variables</title> 
    83548374      <para> 
    8355       A number of counters and variables are set during PDNS operation. These can be queried with the init.d 
     8375      A number of counters and variables are set during PDNS Authoritative Server operation. These can be queried with the init.d 
    83568376      <command>dump</command>, <command>show</command> and <command>mrtg</command> commands, or viewed with the 
    83578377      webserver. 
     
    85038523      This chapter lists all record types PDNS supports, and how they are stored in backends. The list is mostly alphabetical but 
    85048524      some types are grouped. 
     8525    </para> 
     8526    <para> 
     8527      The PowerDNS Recursor can serve and store all record types, regardless of wether these are explicitly supported.  
    85058528    <variablelist> 
    85068529      <varlistentry> 
     
    85228545        </varlistentry> 
    85238546        <varlistentry> 
     8547          <term>AFSDB (since 2.9.21)</term> 
     8548          <listitem> 
     8549            <para> 
     8550            Specialised record type for the 'Andrew Filesystem'. Stored as: '#subtype hostname', where subtype is a number. 
     8551            </para> 
     8552          </listitem>       
     8553        </varlistentry> 
     8554        <varlistentry> 
     8555        <term>CERT (since 2.9.21)</term> 
     8556          <listitem> 
     8557            <para> 
     8558            Specialised record type for storing certificates, defined in RFC 2538. 
     8559            </para> 
     8560          </listitem>       
     8561        </varlistentry> 
     8562        <varlistentry> 
    85248563          <term>CNAME</term> 
    85258564          <listitem> 
     
    85318570        </varlistentry> 
    85328571        <varlistentry> 
     8572          <term>DNSKEY (since 2.9.21)</term> 
     8573          <listitem> 
     8574            <para> 
     8575              The DNSKEY DNSSEC record type is fully supported, as described in RFC 3757. Note that while PowerDNS can store, retrieve  
     8576              and serve DNSSEC records, no further DNSSEC processing is performed. 
     8577            </para> 
     8578          </listitem>       
     8579        </varlistentry> 
     8580        <varlistentry> 
     8581          <term>DS (since 2.9.21)</term> 
     8582          <listitem> 
     8583            <para> 
     8584              The DS DNSSEC record type is fully supported, as described in RFC 3757. Note that while PowerDNS can store, retrieve  
     8585              and serve DNSSEC records, no further DNSSEC processing is performed. 
     8586            </para> 
     8587          </listitem>       
     8588        </varlistentry> 
     8589        <varlistentry> 
    85338590          <term>HINFO</term> 
    85348591          <listitem> 
     
    85368593              Hardware Info record, used to specify CPU and operating system. Stored with a single space separating these two,  
    85378594              example: 'i386 Linux'. 
     8595            </para> 
     8596          </listitem>       
     8597        </varlistentry> 
     8598        <varlistentry> 
     8599          <term>KEY (since 2.9.21)</term> 
     8600          <listitem> 
     8601            <para> 
     8602              The LOC record is fully supported. For its syntax, see RFC 2535. 
     8603            </para> 
     8604          </listitem>       
     8605        </varlistentry> 
     8606        <varlistentry> 
     8607          <term>LOC</term> 
     8608          <listitem> 
     8609            <para> 
     8610              The LOC record is fully supported. For its syntax, see RFC 1876. A sample content would be: '51 56 0.123 N 5 54 0.000 E 4.00m 1.00m 10000.00m 10.00m' 
    85388611            </para> 
    85398612          </listitem>       
     
    85728645        </varlistentry> 
    85738646        <varlistentry> 
     8647          <term>NSEC (since 2.9.21)</term> 
     8648          <listitem> 
     8649            <para> 
     8650              The NSEC DNSSEC record type is fully supported, as described in RFC 3757. Note that while PowerDNS can store, retrieve  
     8651              and serve DNSSEC records, no further DNSSEC processing is performed. 
     8652            </para> 
     8653          </listitem>       
     8654        </varlistentry> 
     8655        <varlistentry> 
    85748656          <term>PTR</term> 
    85758657          <listitem> 
     
    85878669              pointer. Example 'peter.powerdns.com peter.people.powerdns.com', to indicate that peter@powerdns.com is responsible and that more  
    85888670              information about peter is available by querying the TXT record of peter.people.powerdns.com. 
     8671            </para> 
     8672          </listitem>       
     8673        </varlistentry> 
     8674        <varlistentry> 
     8675          <term>RRSIG (since 2.9.21)</term> 
     8676          <listitem> 
     8677            <para> 
     8678              The RRSIG DNSSEC record type is fully supported, as described in RFC 3757. Note that while PowerDNS can store, retrieve  
     8679              and serve DNSSEC records, no further DNSSEC processing is performed. 
    85898680            </para> 
    85908681          </listitem>       
     
    86438734        </varlistentry> 
    86448735        <varlistentry> 
     8736          <term>SPF (since 2.9.21)</term> 
     8737          <listitem> 
     8738            <para> 
     8739              SPF records can be used to store Sender Permitted From details.  
     8740            </para> 
     8741          </listitem>       
     8742        </varlistentry> 
     8743        <varlistentry> 
     8744          <term>SSHFP (since 2.9.21)</term> 
     8745          <listitem> 
     8746            <para> 
     8747              The SSHFP record type, used for storing Secure Shell (SSH) fingerprints, is fully supported. A sample from RFC 4255 is: 
     8748              '2 1 123456789abcdef67890123456789abcdef67890'. 
     8749            </para> 
     8750          </listitem>       
     8751        </varlistentry> 
     8752        <varlistentry> 
    86458753          <term>SRV</term> 
    86468754          <listitem> 
     
    86738781      </para> 
    86748782      <para> 
    8675         Some users may not have experience in interacting with developers or the open source community. This FAQ is to be considered  
    8676         MANDATORY READING before asking us for help. 
    8677       </para> 
    8678       <para> 
    8679         You are also advised to look at <ulink url="http://wiki.powerdns.com">the Wiki</ulink> for more information. 
     8783        The PowerDNS company provides free support on the public mailing lists, and can help or support you in private as well.  
     8784        For first class and rapid support, please contact pdns.bd@trilab.com. 
     8785      </para> 
     8786      <para> 
     8787        More information about the PowerDNS community, and its mailing lists, can be found on <ulink url="http://wiki.powerdns.com">its Wiki</ulink>. 
     8788      </para> 
     8789      <para> 
     8790        Below, please find a list of common questions asked on our public mailing lists. 
    86808791      </para> 
    86818792      <variablelist> 
     
    86848795          <listitem> 
    86858796            <para> 
    8686               A: Please try harder. Specifically, before people will be able to help you, they need to know a lot about your system. 
    8687               Things you may find irrelevant. But, as you have a problem, you are not in a good position to know what is relevant and what not. 
     8797              A: Please try harder :-) Specifically, before people will be able to help you, they need to know a lot about your system. If you 
     8798              list more details, chances are you'll get better answers. 
    86888799            </para> 
    86898800          </listitem> 
     
    86988809            </para> 
    86998810            <para> 
    8700               In the Open Source community, not supplying vital details is interpreted as a lack of respect for those willing to take  
    8701               time to answer your questions! 
    8702             </para> 
    8703             <para> 
    87048811              If at *all* possible, supply the actual name of your domain and the IP address of your server(s). 
    87058812            </para> 
     
    87118818          <listitem> 
    87128819            <para> 
    8713               A: To a mailinglist. Do not mail the authors directly unless you previously entered a support contract with them! 
    8714               For subscription details, see <ulink url="http://mailman.powerdns.com/mailman/admin/">the mailinglists page</ulink>. 
     8820              A: To a mailinglist. Please email the authors directly only if you previously entered a support contract with them, or  
     8821              are considering doing so. 
     8822              For mailing list details, see <ulink url="http://mailman.powerdns.com/mailman/admin/">the mailinglists page</ulink>. 
    87158823            </para> 
    87168824            <para> 
     
    87198827            </para> 
    87208828            <para> 
    8721               Before posting, read all FAQs and tell people you did. 
     8829              Before posting, read all FAQs.  
    87228830            </para> 
    87238831          </listitem> 
    87248832        </varlistentry> 
    87258833        <varlistentry> 
    8726           <term>Q: I'm special, I don't email to mailinglists!</term> 
     8834          <term>Q: My information is confidential, must I send it to the mailing list?</term> 
    87278835          <listitem> 
    87288836            <para> 
    8729               We're special too, and we ask you to mail the mailinglists. If you need privacy, consider entering a support  
    8730               relationship with us, in which case you can email <email>support@powerdns.com</email>. 
     8837              If you desire privacy, please consider entering a support relationship with us,  
     8838              in which case you can email <email>pdns.bd@trilab.com</email>. 
    87318839            </para> 
    87328840          </listitem> 
     
    87998907          </varlistentry> 
    88008908          <varlistentry> 
    8801             <term>Q: I try to launch the pgmysqlbackend and it can't find it!</term> 
    8802             <listitem> 
    8803               <para> 
    8804                 A: You did not read the changelog, nor the README. The 'pgmysql' backend is no more and has been split 
    8805                 into the gmysql and gpgsql backends, with the common code residing within PowerDNS itself. 
    8806               </para> 
    8807             </listitem> 
    8808           </varlistentry> 
    8809           <varlistentry> 
    8810             <term>Q: PowerDNS compiles under OpenBSD, but crashes immediately, now what?</term> 
    8811             <listitem> 
    8812               <para> 
    8813                 A: Reasons behind this are somewhat unclear but we hear they go away if you use a more recent compiler. Let us know 
    8814                 on <email>pdns-dev@mailman.powerdns.com</email>. See also  
    8815                 <ulink url="http://www.codeninja.nl/openbsd/powerdns/">here</ulink>. 
    8816               </para> 
    8817             </listitem> 
    8818           </varlistentry> 
    8819           <varlistentry> 
    8820             <term>Q: I'm trying to build from CVS but I get lots of weird errors!</term> 
     8909            <term>Q: I'm trying to build from SVN but I get lots of weird errors!</term> 
    88218910            <listitem> 
    88228911              <para> 
    88238912                A: Read the 'HACKING' file, it lists the build requirements (mostly autoconf, automake, libtool). In many cases,  
    8824                 it may be easier to build from the source distribution though. 
    8825               </para> 
    8826             </listitem> 
    8827           </varlistentry> 
    8828           <varlistentry> 
    8829             <term>Q: I'm on Solaris 7 and AAAA records do not work</term> 
    8830             <listitem> 
    8831               <para> 
    8832                 A: Indeed, and this is pretty sad. Either upgrade to Solaris 8 or convince people to write the replacement functions 
    8833                 needed to encode AAAA if the host operating system does not offer them. 
     8913                it may be easier to build from the source distribution though. More information for developers 
     8914                is available on <ulink url="http://wiki.powerdns.com">the PowerDNS Open Source Community Wiki</ulink>. 
    88348915              </para> 
    88358916            </listitem> 
     
    88408921              <para> 
    88418922                A: Your gcc is too old. Versions 2.95.2 and older are not supported. Many distributions have improved gcc 2.95.2  
    8842                 with an ostringstream implementation, in which case their 2.95.2 is also supported. We like gcc 3.2.1 best. 
    8843               </para> 
    8844             </listitem> 
    8845           </varlistentry> 
    8846           <varlistentry> 
    8847             <term>Q: Ok, I've installed gcc 3.2.1 but now the gpgsql backend won't link</term> 
    8848             <listitem> 
    8849               <para> 
    8850                 A: Sadly, the gcc C++ on-disk object format has changed a few times since the 2.95 days. This means that 
    8851                 gcc 3.2.1 cannot link against libpq++.so compiled with 2.95. The trick is to recompile PostgreSQL with 3.2.1 
    8852                 too and have it install in a separate location. Then reconfigure the pdns compile to look there, with 
    8853                 <command>./configure --with-pgsql-lib=/opt/postgresql-with-3.2.1/lib</command> 
    8854               </para> 
    8855             </listitem> 
    8856           </varlistentry> 
    8857           <varlistentry> 
    8858             <term>Q: I've installed PostgreSQL 7.3 but it has no libpq++.so</term> 
    8859             <listitem> 
    8860               <para> 
    8861                 A: As of 7.3, libpq++ has been split out of the main PostgreSQL distribution. See <ulink url="http://gborg.postgresql.org/">here</ulink>. 
    8862                 It would in fact be a great idea to move the gpgsql backend to the C interface instead of the C++ one. On Debian 'Sid', libpq++.so 
    8863                 hides in the libpqpp-dev package. 
     8923                with an ostringstream implementation, in which case their 2.95.2 is also supported.  
    88648924              </para> 
    88658925            </listitem> 
     
    89569016      <para> 
    89579017        Writing backends without access to the full PDNS source means that you need to write code that can be loaded by PDNS at runtime.  
    8958         This in turn means that you need to use the same compiler that we do. For linux, this is currently GCC 3.0.4, although any 3.0.x  
    8959         compiler is probably fine. In tests, even 3.1 works. 
    8960       </para> 
    8961       <para> 
    8962         For FreeBSD we use GCC 2.95.2. 
     9018        This in turn means that you need to use the same compiler that we do.  
    89639019      </para> 
    89649020      <para> 
     
    90239079        </varlistentry> 
    90249080        <varlistentry> 
    9025           <term>Q: My backend compiles but when I try to load it, it says 'undefined symbol: _Z13BackendMakersv'</term> 
    9026           <listitem> 
    9027             <para> 
    9028               A: Your pdns_server binary is static and cannot load a backend driver at runtime. Get a dynamic version of pdns, or complain  
    9029               to pdns@powerdns.com if one isn't available. To check what kind of binary you have, execute 'file $(which pdns_server)'. 
    9030             </para> 
    9031           </listitem> 
    9032         </varlistentry> 
    9033         <varlistentry> 
    90349081          <term>Q: My backend compiles but when I try to load it, it says 'undefined symbol: BackendMakers__Fv'</term> 
    90359082          <listitem> 
     
    90619108          <listitem> 
    90629109            <para> 
    9063               A: Yes, we also do custom development. Contact us at pdns@powerdns.com. 
     9110              A: Yes, we also do custom development. Contact us at pdns.bd@trilab.com. 
    90649111            </para> 
    90659112          </listitem> 
     
    90969143              <para> 
    90979144                A: Far from it. In fact, we expect development to speed up now that we have joined the open source community. 
    9098               </para> 
    9099             </listitem> 
    9100           </varlistentry> 
    9101           <varlistentry> 
    9102             <term>Q: Why is the nameserver now open source?</term> 
    9103             <listitem> 
    9104               <para> 
    9105                 A: In the current economic climate and also the way the Internet is built up right now, selling software is very hard. Most  potential  
    9106                 customers had never before bought a piece of software for their UNIX internet setup. Even though we know (from the recent survey) that 
    9107                 nameserver operators love PowerDNS, their suggested price for it is in the $100 range. 
    9108               </para> 
    9109               <para> 
    9110                 For us, it makes far more sense to open source PowerDNS than to ask $100 for it. It is expected that open sourcing PowerDNS will lead 
    9111                 to far higher adoption rates. We hope that PowerDNS will soon be included in major Linux and UNIX distributions. 
    9112               </para> 
    9113             </listitem> 
    9114           </varlistentry> 
    9115           <varlistentry> 
    9116             <term>Q: How does PowerDNS.COM BV expect to make money now that the nameserver is free?</term> 
    9117             <listitem> 
    9118               <para> 
    9119                 A: In fact, we don't expect to in the near future. We also don't have a lot of expenses, basically  
    9120                 some hosting and a few domain names.  
    9121               </para> 
    9122               <para> 
    9123                 However, we are available for consulting work, for example to help a large registrar or registry migrate to PowerDNS, or to help 
    9124                 integrate our software in existing provisioning systems. 
    9125               </para> 
    9126               <para> 
    9127                 Furthermore, non-GPL licenses are available for those needing to do closed source modifications, or for customers  
    9128                 uncomfortable with the GPL. This is much like what <ulink url="http://www.mysql.com/company/index.html">MySQL AB</ulink> is doing now. 
    9129               </para> 
    9130               <para> 
    9131                 In fact, their strategy is a lot like ours in general. 
    91329145              </para> 
    91339146            </listitem> 
     
    1072810741                    <row><entry>Slave</entry><entry>Yes</entry></row> 
    1072910742                    <row><entry>Superslave</entry><entry>Yes</entry></row> 
    10730                     <row><entry>Module name</entry><entry>gsqlite</entry></row> 
    10731                     <row><entry>Launch name</entry><entry>gsqlite</entry></row> 
     10743                    <row><entry>Module name</entry><entry>gsqlite and gsqlite3</entry></row> 
     10744                    <row><entry>Launch name</entry><entry>gsqlite and gsqlite3</entry></row> 
    1073210745                  </tbody> 
    1073310746                </tgroup> 
     
    1074410757      <para> 
    1074510758        SQLite exists in two incompatible versions, numbered 2 and 3, and from 2.9.21 onwards, PowerDNS supports both. It is recommended to go with version 3  
    10746         as it is newer, has better performance and is actively maintained. 
     10759        as it is newer, has better performance and is actively maintained. To use version 3, choose 'launch=gsqlite3'. 
    1074710760      </para> 
    1074810761      <sect2> 
  • trunk/pdns/pdns/qtype.cc

    r978 r1046  
    5757      insert("LOC",29); 
    5858      insert("SRV",33); 
     59      insert("CERT", 37); 
    5960      insert("A6",38); 
    6061      insert("NAPTR",35); 
     62      insert("DS", 43); 
     63      insert("SSHFP", 44); 
     64      insert("RRSIG", 46); 
     65      insert("DNSKEY", 48); 
    6166      insert("SPF",99); 
    6267      insert("AXFR",252);