"Fossies" - the Fresh Open Source Software Archive

Member "bind-9.11.23/doc/arm/dyndb.xml" (7 Sep 2020, 4191 Bytes) of package /linux/misc/dns/bind9/9.11.23/bind-9.11.23.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) XML source code syntax highlighting (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "dyndb.xml": 9.11.21_vs_9.11.22.

    1 <!--
    2  - Copyright (C) Internet Systems Consortium, Inc. ("ISC")
    3  -
    4  - This Source Code Form is subject to the terms of the Mozilla Public
    5  - License, v. 2.0. If a copy of the MPL was not distributed with this
    6  - file, You can obtain one at http://mozilla.org/MPL/2.0/.
    7  -
    8  - See the COPYRIGHT file distributed with this work for additional
    9  - information regarding copyright ownership.
   10 -->
   11 
   12 <!-- Converted by db4-upgrade version 1.0 -->
   13 <section xmlns:db="http://docbook.org/ns/docbook" version="5.0" xml:id="dyndb-info"><info><title>Dynamic Database (DynDB)</title></info>
   14 
   15   <para>
   16     Dynamic Database, or DynDB, is an extension to BIND 9 which, like DLZ
   17     (see <xref linkend="dlz-info"/>), allows zone data to be
   18     retrieved from an external database.  Unlike DLZ, a DynDB module
   19     provides a full-featured BIND zone database interface.  Where
   20     DLZ translates DNS queries into real-time database lookups,
   21     resulting in relatively poor query performance, and is unable
   22     to handle DNSSEC-signed data due to its limited API, a DynDB
   23     module can pre-load an in-memory database from the external
   24     data source, providing the same performance and functionality
   25     as zones served natively by BIND.
   26   </para>
   27   <para>
   28     A DynDB module supporting LDAP has been created by Red Hat
   29     and is available from
   30     <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="https://pagure.io/bind-dyndb-ldap">https://pagure.io/bind-dyndb-ldap</link>.
   31   </para>
   32   <para>
   33     A sample DynDB module for testing and developer guidance
   34     is included with the BIND source code, in the directory
   35     <filename>bin/tests/system/dyndb/driver</filename>.
   36   </para>
   37 
   38   <section><info><title>Configuring DynDB</title></info>
   39 
   40     <para>
   41       A DynDB database is configured with a <command>dyndb</command>
   42       statement in <filename>named.conf</filename>:
   43     </para>
   44     <screen>
   45     dyndb example "driver.so" {
   46         <replaceable>parameters</replaceable>
   47     };
   48     </screen>
   49     <para>
   50       The file <filename>driver.so</filename> is a DynDB module which
   51       implements the full DNS database API.  Multiple
   52       <command>dyndb</command> statements can be specified, to load
   53       different drivers or multiple instances of the same driver.
   54       Zones provided by a DynDB module are added to the view's zone
   55       table, and are treated as normal authoritative zones when BIND
   56       responds to queries.  Zone configuration is handled internally
   57       by the DynDB module.
   58     </para>
   59     <para>
   60       The <replaceable>parameters</replaceable> are passed as an opaque
   61       string to the DynDB module's initialization routine. Configuration
   62       syntax differs depending on the driver.
   63     </para>
   64   </section>
   65   <section><info><title>Sample DynDB Module</title></info>
   66 
   67     <para>
   68       For guidance in the implementation of DynDB modules, the directory
   69       <filename>bin/tests/system/dyndb/driver</filename>
   70       contains a basic DynDB module.
   71       The example sets up two zones, whose names are passed
   72       to the module as arguments in the <command>dyndb</command>
   73       statement:
   74     </para>
   75     <screen>
   76     dyndb sample "sample.so" { example.nil. arpa. };
   77     </screen>
   78     <para>
   79       In the above example, the module is configured to create a zone,
   80       "example.nil", which can answer queries and AXFR requests, and
   81       accept DDNS updates.  At runtime, prior to any updates, the zone
   82       contains an SOA, NS, and a single A record at the apex:
   83     </para>
   84     <screen>
   85  example.nil.  86400    IN      SOA     example.nil. example.nil. (
   86                                                0 28800 7200 604800 86400
   87                                        )
   88  example.nil.  86400    IN      NS      example.nil.
   89  example.nil.  86400    IN      A       127.0.0.1
   90     </screen>
   91     <para>
   92       When the zone is updated dynamically, the DynDB module determines
   93       whether the updated RR is an address (i.e., type A or AAAA); if
   94       so, it automatically updates the corresponding PTR record in a
   95       reverse zone.  Note that updates are not stored permanently; all updates are
   96       lost when the server is restarted.
   97     </para>
   98   </section>
   99 </section>