ZONESERVER(8)                     zoneserver                     ZONESERVER(8)



NAME
       zoneserver - handle zone transfers and other TCP functions for MaraDNS

DESCRIPTION
       zoneserver listens on port 53/tcp and handles DNS zone transfers and
       any DNS query done over TCP instead of UDP.  zoneserver uses a
       configuration file, /etc/mararc by default, to determine its
       parameters.

USAGE
       zoneserver -f pointer_to_mararc_file

OPTIONS
       -f  Specifies the location of the configuration file. MaraDNS uses the
           same configuration file for both the main dns server and the
           zoneserver.

CONFIGURATION FILE FORMAT
       The file format for the mararc file can be found in the mararc(5)
       manual page. In particular, the zoneserver uses the zone_transfer_acl,
       tcp_convert_acl, tcp_convert_server, bind_address, and recursive_acl
       mararc parameters.

EXAMPLE MARARC FILE
       In this example mararc file, which is used both by maradns and
       zoneserver, we allow 10.1.2.3, 10.1.14.7, and 192.168.116.{any} to
       transfer zones, and we allow anyone on the internet to perform TCP
       queries. The only zone served in this example is example.com:

       ipv4_bind_addresses = "10.1.1.1" # Our IP
       tcp_convert_server = "10.1.1.1" # IP of UDP DNS server
       tcp_convert_acl = "0.0.0.0/0" # Anyone may do DNS-over-TCP
       chroot_dir = "/etc/maradns" # Where zone files are
       csv2 = {} # Initialize list of zone files
       csv2["example.com."] = "db.example.com" # example.com zone file
       # The next line is a list of who can transfer zones from us
       zone_transfer_acl = "10.1.2.3, 10.1.14.7, 192,168.116.0/24"


SEE ALSO
       The man pages maradns(8) and mararc(5)

       http://www.maradns.org

BUGS
       zoneserver assumes that the authoritative NS records are immediately
       after the SOA record, and that there is at least one non-NS between
       that last authority NS record for the zone and the first delegation NS
       record.

       IXFR requests are incremental zone transfers, meaning that the DNS
       server should only display records changed since the last IXFR request.
       zoneserver, however, treats an IXFR as if it were an AXFR request,
       outputting all of the records for the zone in question.

       zoneserver closes the TCP connection after transferring the requested
       zone.

       If an unauthorized client attempts to connect to the zoneserver,
       zoneserver immediately disconnects the unauthorized client.

LEGAL DISCLAIMER
       THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS OR
       IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
       WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
       DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
       ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
       DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
       OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
       HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
       STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
       IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
       POSSIBILITY OF SUCH DAMAGE.

AUTHOR
       MaraDNS is written by Sam Trenholme. Jaakko Niemi used 5 minutes to put
       the original version this manpage together.  Sam has subsequently
       revised this manual page.




October 2001                      zoneserver                     ZONESERVER(8)
