blob: 768662e38fdb51283ba847bdb7bcbf2cac43242b [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
Simon Kelley461b7b42017-04-11 18:06:13 +010034 /etc/network/interfaces are ignored. If you do not use
Simon Kelleyc72daea2012-01-05 21:33:27 +000035 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.
Andy Hawkins6f1cbfd2018-02-14 21:35:56 +000057 uselua : provide support for lease-change scripts written
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000058 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.
Simon Kelley3b323bd2013-02-22 21:55:29 +000062 noipset : omit IPset support.
Simon Kelleyc72daea2012-01-05 21:33:27 +000063 nortc : compile alternate mode suitable for systems without an RTC.
64 noi18n : omit translations and internationalisation support.
65 noidn : omit international domain name support, must be
66 combined with noi18n to be effective.
Simon Kelley02ed24d2013-09-09 18:06:45 +010067 gitversion : set the version of the produced packages from the
68 git-derived versioning information on the source,
Simon Kelley461b7b42017-04-11 18:06:13 +010069 rather than the debian changelog.
Simon Kelleyc72daea2012-01-05 21:33:27 +000070
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000071(9) Dnsmasq comes as three packages - dnsmasq-utils, dnsmasq-base and
72 dnsmasq. Dnsmasq-base provides the dnsmasq executable and
Simon Kelleyc72daea2012-01-05 21:33:27 +000073 documentation (including this file). Dnsmasq, which depends on
74 dnsmasq-base, provides the init script and configuration
75 infrastructure. This file assumes that both are installed. It is
76 possible to install only dnsmasq-base and use dnsmasq as a
77 non-"system" daemon. Libvirt, for instance, does this.
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000078 Dnsmasq-utils provides the utilities dhcp_release and
79 dhcp_lease_time.