Dnsmasq is a lightweight, easy to configure DNS forwarder and DHCP server. It
is designed to provide DNS and, optionally, DHCP, to a small network. It can
serve the names of local machines which are not in the global DNS. The DHCP
server integrates with the DNS server and allows machines with DHCP-allocated
addresses to appear in the DNS with names configured either in each host or in
a central configuration file. Dnsmasq supports static and dynamic DHCP leases
and BOOTP/TFTP/PXE for network booting of diskless machines.
Dnsmasq is targeted at home networks using NAT and connected to the internet
via a modem, cable-modem or ADSL connection but would be a good choice for any
smallish network (up to 1000 clients is known to work) where low resource use
and ease of configuration are important. -- Simon Kelley
gen6dns is a tool to generate static DNS records (AAAA and PTR) for hosts
using Stateless Address Autoconfig (SLAAC). If you have a list of hostnames,
mac addresses and ipv6 subnets gen6dns generates the appropriate AAAA and
PTR records for you. It supports different scopes and the generation of
view (split) specific files.
AnyEvent::DNS::EtcHosts AnyEvent::DNS behavior to use /etc/hosts
The DNS lookups are emulated. This resolver returns the standard DNS reply based
on /etc/hosts file rather than real DNS.
You can choose different file by changing PERL_ANYEVENT_HOSTS
environment variable.
This module also disables original AnyEvent::Socket's helper function
which reads /etc/hosts file after DNS entry was not found.
It prevents to read this file twice.
The AnyEvent::Socket resolver searches IPv4 and IPv6 addresses separately.
If you don't want to check the addresses in DNS, both IPv4 and IPv6 addresses
should be placed in /etc/hosts or the protocol family should be set explicitly
for resolve_sockaddr function.
Net::DNS::Match is a Perl extension for testing domains against another
list of domains (similar to Net::Patricia but for FQDNs).
Net::DNS::Check is a collection of OOP Perl modules allowing easy
implementation of applications for domain name checking.
The Net::DNS::Check was built to be as easy as possible to use and
highly configurable and flexible: it allow easy implementation
of your custom test and deeper configuration of what you want
to check and how.
The Net::DNS::ZoneFile::Fast module provides an ability to parse zone
files that BIND8 and BIND9 use, fast. Currently it provides a single
function, parse(), which returns a reference to an array of traditional
Net::DNS::RR objects, so that no new API has to be learned in order to
manipulate zone records.
Bundy is a new applications framework for Internet infrastructure, such as DNS,
DHCP, NTP. The Bundy framework consists of a control framework, an application
interface, a statistics server, a logging framework, a remote control daemon, a
configuration client tool, and numerous other tools for its development and
operation.
Multiple infrastructure applications modules can be run under this framework.
The Bundy authoritative DNS application is one such application. Bundy-DNS is
designed to be dynamically-updated, easily extensible, and to leverage a
database back-end.
The ISC started work on BIND 10 in 2009. In 2014 it became a community project
and was renamed Bundy.
The Knot DNS Resolver is a caching full resolver implementation,
including both a resolver library and a daemon.
Class to setup a number of nameservers that respond to specific DNS queries
(QNAME,QTYPE) by prespecified answers. This class is to be used in test suites
where you want to have servers to show predefined behavior.
If the server will do a lookup based on QNAME,QTYPE and return the specified
data. If there is no QNAME, QTYPE match the server will return a SERVFAIL.
A log will be written to STDERR it contains time, IP/PORT, QNAME, QTYPE, RCODE.
The Net::DNS::Zone::Parser 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.