Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > a80c2a17c20d38e6a349bb777eb92ba4 > files > 128

pdns-3.3.2-1.mga4.x86_64.rpm

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>14. TinyDNS Backend</title><link rel="stylesheet" href="docbook.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="PowerDNS manual" /><link rel="up" href="backends-detail.html" title="Appendix A. Backends in detail" /><link rel="prev" href="luabackend.html" title="13. Lua Backend" /><link rel="next" href="remotebackend.html" title="15. Remote Backend" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">14. TinyDNS Backend</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="luabackend.html">Prev</a> </td><th width="60%" align="center">Appendix A. Backends in detail</th><td width="20%" align="right"> <a accesskey="n" href="remotebackend.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="14. TinyDNS Backend"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="tinydnsbackend"></a>14. TinyDNS Backend</h2></div></div></div><div class="toc"><dl><dt><span class="sect2"><a href="tinydnsbackend.html#tinydnsbackend-parameters">14.1. Configuration Parameters</a></span></dt><dt><span class="sect2"><a href="tinydnsbackend.html#tinydnsbackend-features">14.2. Location and Timestamp support</a></span></dt><dt><span class="sect2"><a href="tinydnsbackend.html#tinydnsbackend-master-mode">14.3. Master mode</a></span></dt><dt><span class="sect2"><a href="tinydnsbackend.html#tinydnsbackend-implementation-notes">14.4. Useful implementation notes</a></span></dt></dl></div><p>
        </p><div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Warning"><tr><td rowspan="2" align="center" valign="top" width="25"><img alt="[Warning]" src="warning.png" /></td><th align="left">Warning</th></tr><tr><td align="left" valign="top"><p>
            The TinyDNS Backend is available since PowerDNS Authoritative Server 3.1. This backend is marked as experimental!
	        </p></td></tr></table></div><p>
      </p><div class="table"><a id="idp9759984"></a><p class="title"><b>Table A.13. TinyDNS backend capabilities</b></p><div class="table-contents"><table summary="TinyDNS backend capabilities" border="1"><colgroup><col /><col /></colgroup><tbody><tr><td>Native</td><td>Yes</td></tr><tr><td>Master</td><td>Yes</td></tr><tr><td>Slave</td><td>No</td></tr><tr><td>Superslave</td><td>No</td></tr><tr><td>Autoserial</td><td>No</td></tr><tr><td>DNSSEC</td><td>No</td></tr><tr><td>Multiple instances</td><td>Yes</td></tr></tbody></table></div></div><br class="table-break" /><p>
The TinyDNS backend allows you to use <a class="ulink" href="http://cr.yp.to/djbdns.html" target="_top">djbdns's</a> data.cdb file format as
the storage of your DNS records. The data.cdb file is created using 
<a class="ulink" href="http://cr.yp.to/djbdns/tinydns-data.html" target="_top">tinydns-data</a>. The backend is designed to be able to use 
the data.cdb files without any changes.
      </p><div class="sect2" title="14.1. Configuration Parameters"><div class="titlepage"><div><div><h3 class="title"><a id="tinydnsbackend-parameters"></a>14.1. Configuration Parameters</h3></div></div></div><p>
          These are the configuration file parameters that are available for the TinyDNS backend. It is recommended to set the tinydns-dbfile.
          </p><div class="variablelist"><dl><dt><span class="term">tinydns-dbfile</span></dt><dd><p>Specifies the name of the data file to use. The default is 'data.cdb'.</p></dd><dt><span class="term">tinydns-tai-adjust</span></dt><dd><p>
This adjusts the <a class="ulink" href="http://www.tai64.com/" target="_top">TAI</a> value if timestamps are used.
These seconds will be added to the start point (1970) and will allow you to adjust for leap seconds. The current default is 11.
The last update was on <a class="ulink" href="http://hpiers.obspm.fr/iers/bul/bulc/bulletinc.dat" target="_top">june 30th 2012</a>.
                </p></dd><dt><span class="term">tinydns-notify-on-startup</span></dt><dd><p>Tell the TinyDNSBackend to notify all the slave nameservers on startup. This might cause broadcast storms. Default is no.</p></dd><dt><span class="term">tinydns-ignore-bogus-records</span></dt><dd><p>
                  The <span class="command"><strong>tinydns-data</strong></span> program can create data.cdb files that have bad/corrupt RDATA. 
                  PowerDNS will crash when it tries to read that bad/corrupt data. This option (change to yes), allows you to ignore that bad RDATA 
                  to make PowerDNS operate when bad data is in your CDB file. Be aware that the records are then ignored, where tinydns would
                  still send out the bogus data.
                  The option is primarily useful in master mode, as that reads all the packets in the zone to find all the SOA records.
                </p></dd><dt><span class="term">tinydns-locations</span></dt><dd><p>Enable or Disable location support in the backend. Changing the value to 'no' will make the backend ignore the locations. This then returns all records. When the setting is changed to 'no' an AXFR will also return all the records. With the setting on 'yes' an AXFR will only return records without a location.</p></dd></dl></div><p>
        </p></div><div class="sect2" title="14.2. Location and Timestamp support"><div class="titlepage"><div><div><h3 class="title"><a id="tinydnsbackend-features"></a>14.2. Location and Timestamp support</h3></div></div></div><p>
Both timestamp and location are supported in the backend. Locations support can be changed using the <span class="command"><strong>tinydns-locations</strong></span> setting.
Timestamp and location only work as expected when <span class="command"><strong>cache-ttl</strong></span> and <span class="command"><strong>query-cache-ttl</strong></span> are set to 0 
(which disables these caches). Timestamp can operate with <span class="command"><strong>cache-ttl</strong></span> if cache is needed, but the TTL returned for the 
timestamped racked will not be totally correct. The record will expire once the cache is expired and the backend is queried again. 
Please note that <span class="command"><strong>cache-ttl</strong></span> is a performance related setting. See <a class="xref" href="performance-settings.html" title="3. Performance related settings">Section 3, “Performance related settings”</a>.
Location support only exists for IPv4!
        </p></div><div class="sect2" title="14.3. Master mode"><div class="titlepage"><div><div><h3 class="title"><a id="tinydnsbackend-master-mode"></a>14.3. Master mode</h3></div></div></div><p>
The TinyDNSBackend supports master mode. This allows it to notify slave nameservers of updates to a zone.
You simply need to rewrite the data.cdb file with an updated/increased serial and PowerDNS will notify the slave nameservers 
of that domain. The <span class="command"><strong>tinydns-notify-on-startup</strong></span> configuration setting tells the backend if it should 
notify all the slave nameservers just after startup.
        </p><p>
The CDB datafile does not allow PowerDNS to easily query for newly added domains or updated serial numbers.
The CDB datafile requires us to do a full scan of all the records. When running with verbose logging, this could 
lead to a lot of output. The scanning of the CDB file may also take a while on systems with large files. The scan happens 
at an interval set by the <span class="command"><strong>slave-cycle-interval</strong></span>. It might be useful to raise
this value to limit the amount of scans on the CDB file.
        </p><p>
The TinyDNSBackend also keeps a list of all the zones. This is needed to detect an updated serial and to give
every zone a unique id. The list is updated when a zone is added, but not when a zone is removed. This leads to some
memory loss.
        </p></div><div class="sect2" title="14.4. Useful implementation notes"><div class="titlepage"><div><div><h3 class="title"><a id="tinydnsbackend-implementation-notes"></a>14.4. Useful implementation notes</h3></div></div></div><p>
This backend might solve some issues you have with the current tinydns noted on 
<a class="ulink" href="http://homepage.ntlworld.com/jonathan.deboynepollard/author.html" target="_top">Jonathan de Boyne Pollard's</a> 
<a class="ulink" href="http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/djbdns-problems.html" target="_top">djbdns known problems page</a>.
        </p><p>
The data.cdb file format support all types of records. They are sometimes difficult to create because you need to specify the
actual content of the rdata. <a class="ulink" href="http://tinydns.org/" target="_top">Tinydns.org</a> provides a number of links to tools/cgi-scripts
that allow you to create records. <a class="ulink" href="http://anders.com/" target="_top">Anders Brownworth</a> also privides a number of useful 
record building scripts on his <a class="ulink" href="http://anders.com/projects/sysadmin/djbdnsRecordBuilder/" target="_top">djbdnsRecordBuilder</a>.
        </p><p>Compiling the TinyDNS backend requires you to have <a class="ulink" href="http://www.corpit.ru/mjt/tinycdb.html" target="_top">tinycdb</a> version 0.77.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="luabackend.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="backends-detail.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="remotebackend.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">13. Lua Backend </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 15. Remote Backend</td></tr></table></div></body></html>