551579063d8c7fc48be5784f6ae9e9b0e67a8e41
[openresolv] / resolvconf.conf.5.in
1 .\" Copyright (c) 2009-2014 Roy Marples
2 .\" All rights reserved
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\"
13 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23 .\" SUCH DAMAGE.
24 .\"
25 .Dd October 16, 2014
26 .Dt RESOLVCONF.CONF 5 SMM
27 .Os
28 .Sh NAME
29 .Nm resolvconf.conf
30 .Nd resolvconf configuration file
31 .Sh DESCRIPTION
32 .Nm
33 is the configuration file for
34 .Xr resolvconf 8 .
35 The
36 .Nm
37 file is a shell script that is sourced by
38 .Xr resolvconf 8 ,
39 meaning that
40 .Nm
41 must contain valid shell commands.
42 Listed below are the standard
43 .Nm
44 variables that may be set.
45 If the values contain white space for special shell characters,
46 ensure they are quoted and escaped correctly.
47 .Pp
48 After updating this file, you may wish to run
49 .Nm resolvconf -u
50 to apply the new configuration.
51 .Sh RESOLVCONF OPTIONS
52 .Bl -tag -width indent
53 .It Sy interface_order
54 These interfaces will always be processed first.
55 If unset, defaults to the following:-
56 .D1 lo lo[0-9]*
57 .It Sy dynamic_order
58 These interfaces will be processed next, unless they have a metric.
59 If unset, defaults to the following:-
60 .D1 tap[0-9]* tun[0-9]* vpn vpn[0-9]* ppp[0-9]* ippp[0-9]*
61 .It Sy search_domains
62 Prepend search domains to the dynamically generated list.
63 .It Sy search_domains_append
64 Append search domains to the dynamically generated list.
65 .It Sy domain_blacklist
66 A list of domains to be removed from consideration.
67 To remove a domain, you can use foo.*
68 To remove a sub domain, you can use *.bar
69 .It Sy name_servers
70 Prepend name servers to the dynamically generated list.
71 You should set this to 127.0.0.1 if you use a local name server other than
72 libc.
73 .It Sy name_servers_append
74 Append name servers to the dynamically generated list.
75 .It Sy name_server_blacklist
76 A list of name servers to be removed from consideration.
77 The default is 0.0.0.0 as some faulty routers send it via DHCP.
78 To remove a block, you can use 192.168.*
79 .It Sy private_interfaces
80 These interfaces name servers will only be queried for the domains listed
81 in their resolv.conf.
82 Useful for VPN domains.
83 This is equivalent to the
84 .Nm resolvconf -p
85 option.
86 .It Sy state_dir
87 Override the default state directory of
88 .Pa @VARDIR@ .
89 This should not be changed once
90 .Nm resolvconf
91 is in use unless the old directory is copied to the new one.
92 .El
93 .Sh LIBC OPTIONS
94 The following variables affect
95 .Xr resolv.conf 5
96 directly:-
97 .Bl -tag -width indent
98 .It Sy resolv_conf
99 Defaults to
100 .Pa /etc/resolv.conf
101 if not set.
102 .It Sy resolv_conf_options
103 A list of libc resolver options, as specified in
104 .Xr resolv.conf 5 .
105 .It Sy resolv_conf_passthrough
106 When set to YES the latest resolv.conf is written to
107 .Sy resolv_conf
108 without any alteration.
109 .It Sy resolv_conf_sortlist
110 A libc resolver sortlist, as specified in
111 .Xr resolv.conf 5 .
112 .It Sy resolv_conf_local_only
113 If a local name server is configured then the default is just to specify that
114 and ignore all other entries as they will be configured for the local
115 name server.
116 Set this to NO to also list non-local nameservers.
117 This will give you working DNS even if the local nameserver stops functioning
118 at the expense of duplicated server queries.
119 .El
120 .Sh SUBSCRIBER OPTIONS
121 openresolv ships with subscribers for the name servers
122 .Xr dnsmasq 8 ,
123 .Xr named 8 ,
124 .Xr pdnsd 8
125 and
126 .Xr unbound 8 .
127 Each subscriber can create configuration files which should be included in
128 in the subscribers main configuration file.
129 .Bl -tag -width indent
130 .It Sy dnsmasq_conf
131 This file tells dnsmasq which name servers to use for specific domains.
132 .It Sy dnsmasq_resolv
133 This file tells dnsmasq which name servers to use for global lookups.
134 .Pp
135 Example resolvconf.conf for dnsmasq:
136 .D1 name_servers=127.0.0.1
137 .D1 dnsmasq_conf=/etc/dnsmasq-conf.conf
138 .D1 dnsmasq_resolv=/etc/dnsmasq-resolv.conf
139 .Pp
140 Example dnsmasq.conf:
141 .D1 listen-address=127.0.0.1
142 .D1 # If dnsmasq is compiled for DBus then we can take
143 .D1 # advantage of not having to restart dnsmasq.
144 .D1 enable-dbus
145 .D1 conf-file=/etc/dnsmasq-conf.conf
146 .D1 resolv-file=/etc/dnsmasq-resolv.conf
147 .It Sy named_options
148 Include this file in the named options block.
149 This file tells named which name servers to use for global lookups.
150 .It Sy named_zones
151 Include this file in the named global scope, after the options block.
152 This file tells named which name servers to use for specific domains.
153 .Pp
154 Example resolvconf.conf for named:
155 .D1 name_servers=127.0.0.1
156 .D1 named_options=/etc/named-options.conf
157 .D1 named_zones=/etc/named-zones.conf
158 .Pp
159 Example named.conf:
160 .D1 options {
161 .D1     listen-on { 127.0.0.1; };
162 .D1     include "/etc/named-options.conf";
163 .D1 };
164 .D1 include "/etc/named-zones.conf";
165 .It Sy pdnsd_conf
166 This is the main pdnsd configuration file which we modify to add our
167 forward domains to.
168 If this variable is not set then we rely on the pdnsd configuration file
169 setup to read
170 .Pa pdnsd_resolv
171 as documented below.
172 .It Sy pdnsd_resolv
173 This file tells pdnsd about global name servers.
174 If this variable is not set then it's written to
175 .Pa pdnsd_conf .
176 .Pp
177 Example resolvconf.conf for pdnsd:
178 .D1 name_servers=127.0.0.1
179 .D1 pdnsd_conf=/etc/pdnsd.conf
180 .D1 # pdnsd_resolv=/etc/pdnsd-resolv.conf
181 .Pp
182 Example pdnsd.conf:
183 .D1 global {
184 .D1     server_ip = 127.0.0.1;
185 .D1     status_ctl = on;
186 .D1 }
187 .D1 server {
188 .D1     # A server definition is required, even if emtpy.
189 .D1     label="empty";
190 .D1     proxy_only=on;
191 .D1     # file="/etc/pdnsd-resolv.conf";
192 .D1 }
193 .It Sy unbound_conf
194 This file tells unbound about specific and global name servers.
195 .It Sy unbound_insecure
196 Instructs unbound to mark the domains as insecure, thus ignoring DNSSEC.
197 .Pp
198 Example resolvconf.conf for unbound:
199 .D1 name_servers=127.0.0.1
200 .D1 unbound_conf=/etc/unbound-resolvconf.conf
201 .Pp
202 Example unbound.conf:
203 .D1 include: /etc/unbound-resolvconf.conf
204 .El
205 .Sh SUBSCRIBER INTEGRATION
206 Not all distributions store the files the subscribers need in the same
207 locations.
208 For example, named service scripts have been called named, bind and rc.bind
209 and they could be located in a directory called /etc/rc.d, /etc/init.d or
210 similar.
211 Each subscriber attempts to automatically configure itself, but not every
212 distribution has been catered for.
213 Also, users could equally want to use a different version from the one
214 installed by default, such as bind8 and bind9.
215 To accomodate this, the subscribers have these files in configurable
216 variables, documented below.
217 .Pp
218 .Bl -tag -width indent
219 .It Sy dnsmasq_service
220 Location of the dnsmasq service.
221 .It Sy dnsmasq_restart
222 Command to restart the dnsmasq service.
223 .It Sy dnsmasq_pid
224 Location of the dnsmasq pidfile.
225 .It Sy libc_service
226 Location of the libc service.
227 .It Sy libc_restart
228 Command to restart the libc service.
229 .It Sy named_service
230 Location of the named service.
231 .It Sy named_restart
232 Command to restart the named service.
233 .It Sy pdnsd_restart
234 Command to restart the pdnsd service.
235 .It Sy unbound_service
236 Location of the unbound service.
237 .It Sy unbound_restart
238 Command to restart the unbound service.
239 .It Sy unbound_pid
240 Location of the unbound pidfile.
241 .El
242 .Sh SEE ALSO
243 .Xr resolv.conf 5 ,
244 .Xr resolvconf 8
245 and
246 .Xr sh 1 .
247 .Sh AUTHORS
248 .An Roy Marples Aq Mt roy@marples.name
249 .Sh BUGS
250 Each distribution is a special snowflake and likes to name the same thing
251 differently, namely the named service script.
252 .Pp
253 Please report them to
254 .Lk http://roy.marples.name/projects/openresolv