zoneserver - Man Page

handle zone transfers and other TCP functions for MaraDNS


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.


zoneserver -f pointer_to_mararc_file



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, and bind_address mararc parameters.

Example Mararc File

In this example mararc file, which is used both by maradns and zoneserver, we allow,, 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

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

See Also

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


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.


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.

Referenced By


October 2001