blob: 660cf6722fd8040eb522e77e6681e219f83d4703 [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
Tarun Kundu12e3b2e2024-08-15 16:16:53 -07007 options you might need to refer to a copy of RFC 2132. This is
Simon Kelleyc72daea2012-01-05 21:33:27 +00008 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
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070013 fragments. This behaviour can be disabled by editing
Simon Kelleyc72daea2012-01-05 21:33:27 +000014 /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
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070033(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
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070040 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
Simon Kelleyc72daea2012-01-05 21:33:27 +000043 wildcard address and allows servers listening on port 53 on
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070044 interfaces not in use by dnsmasq to work. The Debian
Simon Kelleyc72daea2012-01-05 21:33:27 +000045 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.
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070051 nostrip : don't remove symbols from binary.
Simon Kelleyc72daea2012-01-05 21:33:27 +000052 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.
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070061 noconntrack : omit connection tracking support.
Simon Kelley3b323bd2013-02-22 21:55:29 +000062 noipset : omit IPset support.
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070063 nonftset : omit nftset support.
Simon Kelleyc72daea2012-01-05 21:33:27 +000064 nortc : compile alternate mode suitable for systems without an RTC.
65 noi18n : omit translations and internationalisation support.
66 noidn : omit international domain name support, must be
67 combined with noi18n to be effective.
Simon Kelley02ed24d2013-09-09 18:06:45 +010068 gitversion : set the version of the produced packages from the
69 git-derived versioning information on the source,
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070070 rather than the debian changelog.
Simon Kelleyc72daea2012-01-05 21:33:27 +000071
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000072(9) Dnsmasq comes as three packages - dnsmasq-utils, dnsmasq-base and
73 dnsmasq. Dnsmasq-base provides the dnsmasq executable and
Simon Kelleyc72daea2012-01-05 21:33:27 +000074 documentation (including this file). Dnsmasq, which depends on
75 dnsmasq-base, provides the init script and configuration
76 infrastructure. This file assumes that both are installed. It is
77 possible to install only dnsmasq-base and use dnsmasq as a
78 non-"system" daemon. Libvirt, for instance, does this.
Tarun Kundu12e3b2e2024-08-15 16:16:53 -070079 Dnsmasq-utils provides the utilities dhcp_release and
Simon Kelley6ea6dcf2012-02-10 21:26:52 +000080 dhcp_lease_time.