P5-net-dns-zone-parser

Jul 20, 2023

Perl5 preprocessor for normalising a zone file

The NetDNSZoneParser should be considered a preprocessor that “normalizes” a zonefile.

It will read a zonefile in a format conforming to the relevant RFCs with the addition of BIND’s GENERATE directive from disk and will write fully specified resource records RRs to a filehandle. Whereby

  • All comments are stripped
  • There is one RR per line
  • Each RR is fully expanded i.e. all domain names are fully qualified canonicalised and the CLASS and TTLs are specified.
  • Some RRs may be ‘stripped’ from the source or otherwise processed. For details see the ‘read’ method.

Note that this module does not have a notion of what constitutes a valid zone, it only parses. For example, the parser will happilly parse RRs with ownernames that are below in another zone because a NS RR elsewhere in the zone.



Checkout these related ports:
  • Zonenotify - DNS notify sender written in C
  • Zonecheck - Perform consistency checks on DNS zones
  • Zkt -
  • Yandex-ddns - Use Yandex DNS as a dynamic DNS provider
  • Yadifa - Authoritative nameserver with DNSSEC capabilities
  • Wrapsrv - DNS SRV record command line wrapper
  • Whoseip - Get information about IP addresses country code and network
  • Wdns - Low-level DNS library
  • Walker - Recover zone file information from servers that use DNSSEC
  • Void-zones-tools - Prepare a list of void zones that can be readily fed into Unbound
  • Vizone - Updates the serial number in one or more zonefiles
  • Vhostcname - Synchronize DNS with server names and aliases from Apache vhost
  • Utdns - Proxy UDP/DNS to TCP/DNS
  • Updatedd - Dynamic DNS Update Client supporting multiple services
  • Unbound - Validating, recursive, and caching DNS resolver