- Dnsmasq - a DNS forwarder for NAT firewalls.
+ Dnsmasq - network services for small networks.
@@ -11,83 +11,49 @@
Dnsmasq
+Dnsmasq provides network infrastructure for small networks: DNS, DHCP, router advertisement and network boot. It is designed to be
+lightweight and have a small footprint, suitable for resource constrained routers and firewalls. It has also been widely used
+for tethering on smartphones and portable hotspots, and to support virtual networking in virtualisation frameworks.
+Supported platforms include Linux (with glibc and uclibc), Android, *BSD, and Mac OS X. Dnsmasq is included in most
+Linux distributions and the ports systems of FreeBSD, OpenBSD and NetBSD. Dnsmasq provides full IPv6 support.
-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.
+The DNS subsystem provides a local DNS server for the network, with forwarding of all query types to upstream recursive DNS servers and
+cacheing of common record types (A, AAAA, CNAME and PTR, also DNSKEY and DS when DNSSEC is enabled).
+
+
Local DNS names can be defined by reading /etc/hosts, by importing names from the DHCP subsystem, or by configuration of a wide range of useful record types.
+
Upstream servers can be configured in a variety of convenient ways, including dynamic configuration as these change on moving upstream network.
+
Authoritative DNS mode allows local DNS names may be exported to zone in the global DNS. Dnsmasq acts as authoritative server for this zone, and also provides
+zone transfer to secondaries for the zone, if required.
+
DNSSEC validation may be performed on DNS replies from upstream nameservers, providing security against spoofing and cache poisoning.
+
Specified sub-domains can be directed to their own upstream DNS servers, making VPN configuration easy.
+
Internationalised domain names are supported.
+
-Supported platforms include Linux (with glibc and uclibc), Android, *BSD,
-Solaris and Mac OS X.
-Dnsmasq is included in at least the following Linux distributions:
-Gentoo, Debian, Slackware, Suse, Fedora,
-Smoothwall, IP-Cop, floppyfw, Firebox, LEAF, Freesco, fli4l,
-CoyoteLinux, Endian Firewall and
-Clarkconnect. It is also available as FreeBSD, OpenBSD and NetBSD ports and is used in
-Linksys wireless routers (dd-wrt, openwrt and the stock firmware) and the m0n0wall project.
-
-Dnsmasq provides the following features:
+The DHCP subsystem supports DHCPv4, DHCPv6, BOOTP and PXE.
-
-
-The DNS configuration of machines behind the firewall is simple and
-doesn't depend on the details of the ISP's dns servers
-
-Clients which try to do DNS lookups while a modem link to the
-internet is down will time out immediately.
-
-
-Dnsmasq will serve names from the /etc/hosts file on the firewall
-machine: If the names of local machines are there, then they can all
-be addressed without having to maintain /etc/hosts on each machine.
-
-
-The integrated DHCP server supports static and dynamic DHCP leases and
-multiple networks and IP ranges. It works across BOOTP relays and
-supports DHCP options including RFC3397 DNS search lists.
-Machines which are configured by DHCP have their names automatically
+
Both static and dynamic DHCP leases are supported, along with stateless mode in DHCPv6.
+
The PXE system is a full PXE server, supporting netboot menus and multiple architecture support. It
+includes proxy-mode, where the PXE system co-operates with another DHCP server.
+
There is a built in read-only TFTP server to support netboot.
+
Machines which are configured by DHCP have their names automatically
included in the DNS and the names can specified by each machine or
-centrally by associating a name with a MAC address in the dnsmasq
-config file.
-
-
-Dnsmasq caches internet addresses (A records and AAAA records) and address-to-name
-mappings (PTR records), reducing the load on upstream servers and
-improving performance (especially on modem connections).
-
-
-Dnsmasq can be configured to automatically pick up the addresses of
-its upstream nameservers from ppp or dhcp configuration. It will
-automatically reload this information if it changes. This facility
-will be of particular interest to maintainers of Linux firewall
-distributions since it allows dns configuration to be made automatic.
-
-
-On IPv6-enabled boxes, dnsmasq can both talk to upstream servers via IPv6
-and offer DNS service via IPv6. On dual-stack (IPv4 and IPv6) boxes it talks
-both protocols and can even act as IPv6-to-IPv4 or IPv4-to-IPv6 forwarder.
-
-
-Dnsmasq can be configured to send queries for certain domains to
-upstream servers handling only those domains. This makes integration
-with private DNS systems easy.
-
-
-Dnsmasq supports MX and SRV records and can be configured to return MX records
-for any or all local machines.
-
+centrally by associating a name with a MAC address or UID in the dnsmasq
+configuration file.
+
+The Router Advertisement subsystem provides basic autoconfiguration for IPv6 hosts. It can be used stand-alone or in conjunction with DHCPv6.
+
+
The M and O bits are configurable, to control hosts' use of DHCPv6.
+
Router advertisements can include the RDNSS option.
+
There is a mode which uses name information from DHCPv4 configuration to provide DNS entries
+ for autoconfigured IPv6 addresses which would otherwise be anonymous.
+
+
+
+For extra compactness, unused features may be omitted at compile time.
+
Get code.
Download dnsmasq here.
@@ -102,7 +68,7 @@ the repo, or get a copy using git protocol with the co
git clone git://thekelleys.org.uk/dnsmasq.git
License.
-Dnsmasq is distributed under the GPL. See the file COPYING in the distribution
+Dnsmasq is distributed under the GPL, version 2 or version 3 at your discretion. See the files COPYING and COPYING-v3 in the distribution
for details.
+Dnsmasq is mainly written and maintained by Simon Kelley. For most of its life, dnsmasq has been a spare-time project.
+These days I'm working on it as my main activity.
+I don't have an employer or anyone who pays me regularly to work on dnsmasq. If you'd like to make
+a contribution towards my expenses, please use the donation button below.
+
+
+