blob: 0e3eb0efd118637cd1758f5bc0c093d7e503485b [file] [log] [blame]
Simon Kelleyc72daea2012-01-05 21:33:27 +00001Notes on configuring dnsmasq as packaged for Debian.
2
3(1) To configure dnsmasq edit /etc/dnsmasq.conf. The file is well
4 commented; see also the dnsmasq.8 man page for explanation of
5 the options. The file /etc/default/dnsmasq also exists but it
6 shouldn't need to be touched in most cases. To set up DHCP
7 options you might need to refer to a copy of RFC 2132. This is
8 available on Debian systems in the package doc-rfc-std as the file
9 /usr/share/doc/RFC/draft-standard/rfc2132.txt.gz .
10
11(2) Installing the dnsmasq package also creates the directory
12 /etc/dnsmasq.d which is searched by dnsmasq for configuration file
13 fragments. This behaviour can be disabled by editing
14 /etc/default/dnsmasq.
15
16(3) If the Debian resolvconf package is installed then, regardless
17 of what interface configuration daemons are employed, the list of
18 nameservers to which dnsmasq should forward queries can be found
19 in /var/run/dnsmasq/resolv.conf; also, 127.0.0.1 is listed as the
20 first nameserver address in /etc/resolv.conf. This works using the
21 default configurations of resolvconf and dnsmasq.
22
23(4) In the absence of resolvconf, if you are using dhcpcd then
24 dnsmasq should read the list of nameservers from the automatically
25 generated file /etc/dhcpc/resolv.conf. You should list 127.0.0.1
26 as the first nameserver address in /etc/resolv.conf.
27
28(5) In the absence of resolvconf, if you are using pppd then
29 dnsmasq should read the list of nameservers from the automatically
30 generated file /etc/ppp/resolv.conf. You should list 127.0.0.1
31 as the first nameserver address in /etc/resolv.conf.
32
33(6) In the absence of resolvconf, dns-nameservers lines in
34 /etc/network/interfaces are ignored. If you do do not use
35 resolvconf, list 127.0.0.1 as the first nameserver address
36 in /etc/resolv.conf and configure your nameservers using
37 "server=<IP-address>" lines in /etc/dnsmasq.conf.
38
39(7) If you run multiple DNS servers on a single machine, each
40 listening on a different interface, then it is necessary to use
41 the bind-interfaces option by uncommenting "bind-interfaces" in
42 /etc/dnsmasq.conf. This option stops dnsmasq from binding the
43 wildcard address and allows servers listening on port 53 on
44 interfaces not in use by dnsmasq to work. The Debian
45 libvirt package will add a configuration file in /etc/dnsmasq.d
46 which does this so that the "system" dnsmasq and "private" dnsmasq
47 instances started by libvirt do not clash.
48
49(8) The following options are supported in DEB_BUILD_OPTIONS
50 noopt : compile without optimisation.
51 nostrip : don't remove symbols from binary.
52 nodocs : omit documentation.
53 notftp : omit TFTP support.
54 nodhcp : omit DHCP support.
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000055 nodhcp6 : omit DHCPv6 support.
Simon Kelleyc72daea2012-01-05 21:33:27 +000056 noscript : omit lease-change script support.
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000057 use_lua : provide support for lease-change scripts written
58 in Lua.
Simon Kelleyc72daea2012-01-05 21:33:27 +000059 noipv6 : omit IPv6 support.
60 nodbus : omit DBus support.
61 noconntrack : omit connection tracking support.
62 nortc : compile alternate mode suitable for systems without an RTC.
63 noi18n : omit translations and internationalisation support.
64 noidn : omit international domain name support, must be
65 combined with noi18n to be effective.
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000066
Simon Kelleyc72daea2012-01-05 21:33:27 +000067
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000068(9) Dnsmasq comes as three packages - dnsmasq-utils, dnsmasq-base and
69 dnsmasq. Dnsmasq-base provides the dnsmasq executable and
Simon Kelleyc72daea2012-01-05 21:33:27 +000070 documentation (including this file). Dnsmasq, which depends on
71 dnsmasq-base, provides the init script and configuration
72 infrastructure. This file assumes that both are installed. It is
73 possible to install only dnsmasq-base and use dnsmasq as a
74 non-"system" daemon. Libvirt, for instance, does this.
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000075 Dnsmasq-utils provides the utilities dhcp_release and
76 dhcp_lease_time.