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> |
Simon Kelley | feba5c1 | 2004-07-27 20:28:58 +0100 | [diff] [blame] | 21 | Supported platforms include Linux (with glibc and uclibc), *BSD and |
| 22 | Mac OS X. |
Simon Kelley | de37951 | 2004-06-22 20:23:33 +0100 | [diff] [blame] | 23 | Dnsmasq is included in at least the following Linux distributions: |
| 24 | Gentoo, Debian, Slackware, Suse, |
Simon Kelley | feba5c1 | 2004-07-27 20:28:58 +0100 | [diff] [blame] | 25 | Smoothwall, IP-Cop, floppyfw, Firebox, LEAF, Freesco, CoyoteLinux and |
Simon Kelley | 26128d2 | 2004-11-14 16:43:54 +0000 | [diff] [blame^] | 26 | Clarkconnect. It is also available as a FreeBSD port and is used in |
| 27 | Linksys wireless routers and the m0n0wall project. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 28 | <P> |
| 29 | Dnsmasq provides the following features: |
| 30 | <DIR> |
| 31 | |
| 32 | <LI> |
| 33 | The DNS configuration of machines behind the firewall is simple and |
| 34 | doesn't depend on the details of the ISP's dns servers |
| 35 | <LI> |
| 36 | Clients which try to do DNS lookups while a modem link to the |
| 37 | internet is down will time out immediately. |
| 38 | </LI> |
| 39 | <LI> |
| 40 | Dnsmasq will serve names from the /etc/hosts file on the firewall |
| 41 | machine: If the names of local machines are there, then they can all |
| 42 | be addressed without having to maintain /etc/hosts on each machine. |
| 43 | </LI> |
| 44 | <LI> |
Simon Kelley | 26128d2 | 2004-11-14 16:43:54 +0000 | [diff] [blame^] | 45 | The integrated DHCP server supports static and dynamic DHCP leases and |
| 46 | multiple networks and IP ranges. It works across BOOTP relays and |
| 47 | supports DHCP options including RFC3397 DNS search lists. |
| 48 | Machines which are configured by DHCP have their names automatically |
| 49 | included in the DNS and the names can specified by each machine or |
| 50 | centrally by associating a name with a MAC address in the dnsmasq |
| 51 | config file. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 52 | </LI> |
| 53 | <LI> |
| 54 | Dnsmasq caches internet addresses (A records and AAAA records) and address-to-name |
| 55 | mappings (PTR records), reducing the load on upstream servers and |
Simon Kelley | 26128d2 | 2004-11-14 16:43:54 +0000 | [diff] [blame^] | 56 | improving performance (especially on modem connections). |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 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> |
Simon Kelley | 26128d2 | 2004-11-14 16:43:54 +0000 | [diff] [blame^] | 76 | Dnsmasq supports MX records and can be configured to return MX records |
| 77 | for any or all local machines. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 78 | </LI> |
| 79 | </DIR> |
| 80 | |
| 81 | <H2>Download.</H2> |
| 82 | |
Simon Kelley | de37951 | 2004-06-22 20:23:33 +0100 | [diff] [blame] | 83 | <A HREF="http://www.thekelleys.org.uk/dnsmasq/"> Download</A> dnsmasq here. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 84 | The tarball includes this documentation, source, manpage and control files for building .rpms. |
| 85 | There are also pre-built i386 .rpms, and a |
| 86 | <A HREF="CHANGELOG"> CHANGELOG</A>. |
| 87 | Dnsmasq is part of the Debian distribution, it can be downloaded from |
| 88 | <A HREF="http://ftp.debian.org/debian/pool/main/d/dnsmasq/"> here</A> or installed using <TT>apt</TT>. |
| 89 | |
| 90 | |
| 91 | <H2>Building rpms.</H2> |
| 92 | Assuming you have the relevant tools installed, you can rebuild .rpms simply by running (as root) |
| 93 | |
| 94 | <PRE> |
| 95 | rpmbuild -ta dnsmasq-xxx.tar.gz |
| 96 | </PRE> |
| 97 | |
| 98 | Note for Suse users: you will need to re-compress the tar file as |
| 99 | bzip2 before building using the commands |
| 100 | <PRE> |
| 101 | gunzip dnsmasq-xxx.tar.gz |
| 102 | bzip2 dnsmasq-zzz.tar |
| 103 | </PRE> |
| 104 | |
| 105 | <H2>Links.</H2> |
Simon Kelley | dfa666f | 2004-08-02 18:27:27 +0100 | [diff] [blame] | 106 | Ulrich Ivens has a nice HOWTO in German on installing dnsmasq at <A |
| 107 | HREF="http://howto.linux-hardware-shop.de/dnsmasq.html">http://howto.linux-hardware-shop.de/dnsmasq.html</A> |
| 108 | and Damien Raude-Morvan has one in French at <A HREF="http://www.drazzib.com/docs-dnsmasq.html">http://www.drazzib.com/docs-dnsmasq.html</A> |
Simon Kelley | 26128d2 | 2004-11-14 16:43:54 +0000 | [diff] [blame^] | 109 | There is a good article about dnsmasq at <A |
| 110 | HREF="http://www.enterprisenetworkingplanet.com/netos/article.php/3377351">http://www.enterprisenetworkingplanet.com/netos/article.php/3377351</A> |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 111 | |
| 112 | <H2>License.</H2> |
| 113 | Dnsmasq is distributed under the GPL. See the file COPYING in the distribution |
| 114 | for details. |
| 115 | |
| 116 | <H2>Contact.</H2> |
Simon Kelley | 26128d2 | 2004-11-14 16:43:54 +0000 | [diff] [blame^] | 117 | There is a dnsmasq mailing list at <A |
| 118 | HREF="http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss"> |
| 119 | http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss</A> which should be the |
| 120 | first location for queries, bugreports, suggestions etc. |
| 121 | Dnsmasq was written by Simon Kelley. You can contact me at <A |
| 122 | HREF="mailto:simon@thekelleys.org.uk">simon@thekelleys.org.uk</A>. |
Simon Kelley | 9e4abcb | 2004-01-22 19:47:41 +0000 | [diff] [blame] | 123 | </BODY> |
| 124 | |