Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame^] | 1 | <HTML> |
| 2 | <HEAD> |
| 3 | <TITLE> Dnsmasq - a DNS forwarder for NAT firewalls.</TITLE> |
| 4 | </HEAD> |
| 5 | <BODY BGCOLOR="WHITE"> |
| 6 | <H1 ALIGN=center>Dnsmasq</H1> |
| 7 | Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP |
| 8 | server. It is designed to provide DNS and, optionally, DHCP, to a |
| 9 | small network. It can serve the names of local machines which are |
| 10 | not in the global DNS. The DHCP server integrates with the DNS |
| 11 | server and allows machines with DHCP-allocated addresses |
| 12 | to appear in the DNS with names configured either in each host or |
| 13 | in a central configuration file. Dnsmasq supports static and dynamic |
| 14 | DHCP leases and BOOTP for network booting of diskless machines. |
| 15 | <P> |
| 16 | Dnsmasq is targeted at home networks using NAT and |
| 17 | connected to the internet via a modem, cable-modem or ADSL |
| 18 | connection but would be a good choice for any small network where low |
| 19 | resource use and ease of configuration are important. |
| 20 | <P> |
| 21 | Dnsmasq is included in at least the following Linux distributions: Gentoo, Debian, |
| 22 | Smoothwall, IP-Cop, floppyfw, Firebox, Freesco and |
| 23 | Clarkconnect. It is also available as a FreeBSD port and is used in Linksys wireless routers. |
| 24 | <P> |
| 25 | Dnsmasq provides the following features: |
| 26 | <DIR> |
| 27 | |
| 28 | <LI> |
| 29 | The DNS configuration of machines behind the firewall is simple and |
| 30 | doesn't depend on the details of the ISP's dns servers |
| 31 | <LI> |
| 32 | Clients which try to do DNS lookups while a modem link to the |
| 33 | internet is down will time out immediately. |
| 34 | </LI> |
| 35 | <LI> |
| 36 | Dnsmasq will serve names from the /etc/hosts file on the firewall |
| 37 | machine: If the names of local machines are there, then they can all |
| 38 | be addressed without having to maintain /etc/hosts on each machine. |
| 39 | </LI> |
| 40 | <LI> |
| 41 | Dnsmasq will serve names from the DHCP leases file on the firewall machine: |
| 42 | If machines specify a hostname when they take out a DHCP lease, then they are |
| 43 | addressable in the local DNS. <B>UPDATE</B> Dnsmasq version 2 now offers an integrated DHCP server |
| 44 | instead of the lease file reader. This gives better control of the |
| 45 | interaction with new functions (for example fixed IP leasess and |
| 46 | attaching names to ethernet addresses centrally) it's also much |
| 47 | smaller than dnsmasq and ISC dhcpd which is important for router distros. |
| 48 | </LI> |
| 49 | <LI> |
| 50 | Dnsmasq caches internet addresses (A records and AAAA records) and address-to-name |
| 51 | mappings (PTR records), reducing the load on upstream servers and |
| 52 | improving performance (especially on modem connections). From version |
| 53 | 0.95 the cache honours time-to-live information and removes old |
| 54 | records as they expire. From version 0.996 dnsmasq does negative |
| 55 | caching. From version 1.2 dnsmasq supports IPv6 addresses, both |
| 56 | in its cache and in /etc/hosts. |
| 57 | </LI> |
| 58 | <LI> |
| 59 | Dnsmasq can be configured to automatically pick up the addresses of |
| 60 | it's upstream nameservers from ppp or dhcp configuration. It will |
| 61 | automatically reload this information if it changes. This facility |
| 62 | will be of particular interest to maintainers of Linux firewall |
| 63 | distributions since it allows dns configuration to be made automatic. |
| 64 | </LI> |
| 65 | <LI> |
| 66 | On IPv6-enabled boxes, dnsmasq can both talk to upstream servers via IPv6 |
| 67 | and offer DNS service via IPv6. On dual-stack (IPv4 and IPv6) boxes it talks |
| 68 | both protocols and can even act as IPv6-to-IPv4 or IPv4-to-IPv6 forwarder. |
| 69 | </LI> |
| 70 | <LI> |
| 71 | Dnsmasq can be configured to send queries for certain domains to |
| 72 | upstream servers handling only those domains. This makes integration |
| 73 | with private DNS systems easy. |
| 74 | </LI> |
| 75 | <LI> |
| 76 | Dnsmasq can be configured to return an MX record |
| 77 | for the firewall host. This makes it easy to configure the mailer on the local |
| 78 | machines to forward all mail to the central mailer on the firewall host. Never |
| 79 | lose root messages from your machines again! |
| 80 | </LI> |
| 81 | <LI> |
| 82 | For version 1.15 dnsmasq has a facility to work around Verisign's infamous wildcard A record |
| 83 | in the .com and .net TLDs |
| 84 | </LI> |
| 85 | </DIR> |
| 86 | |
| 87 | <H2>Download.</H2> |
| 88 | |
| 89 | Download dnsmasq <A HREF="http://www.thekelleys.org.uk/dnsmasq/"> here</A>. |
| 90 | The tarball includes this documentation, source, manpage and control files for building .rpms. |
| 91 | There are also pre-built i386 .rpms, and a |
| 92 | <A HREF="CHANGELOG"> CHANGELOG</A>. |
| 93 | Dnsmasq is part of the Debian distribution, it can be downloaded from |
| 94 | <A HREF="http://ftp.debian.org/debian/pool/main/d/dnsmasq/"> here</A> or installed using <TT>apt</TT>. |
| 95 | |
| 96 | |
| 97 | <H2>Building rpms.</H2> |
| 98 | Assuming you have the relevant tools installed, you can rebuild .rpms simply by running (as root) |
| 99 | |
| 100 | <PRE> |
| 101 | rpmbuild -ta dnsmasq-xxx.tar.gz |
| 102 | </PRE> |
| 103 | |
| 104 | Note for Suse users: you will need to re-compress the tar file as |
| 105 | bzip2 before building using the commands |
| 106 | <PRE> |
| 107 | gunzip dnsmasq-xxx.tar.gz |
| 108 | bzip2 dnsmasq-zzz.tar |
| 109 | </PRE> |
| 110 | |
| 111 | <H2>Links.</H2> |
| 112 | Ulrich Ivens has a nice HOWTO in German on installing dnsmasq at <A HREF="http://howto.linux-hardware-shop.de/dnsmasq.html">http://howto.linux-hardware-shop.de/dnsmasq.html</A> |
| 113 | |
| 114 | <H2>License.</H2> |
| 115 | Dnsmasq is distributed under the GPL. See the file COPYING in the distribution |
| 116 | for details. |
| 117 | |
| 118 | <H2>Contact.</H2> |
| 119 | Dnsmasq was written by Simon Kelley. You can contact me at <A HREF="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</A>. Bugreports, patches, and suggestions for improvements gratefully accepted. |
| 120 | </BODY> |
| 121 | |