1.\" Copyright (c) 2009-2010 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 29, 2010
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
33is the configuration file for
34.Xr resolvconf 8 .
35The
36.Nm
37file is a shell script that is sourced by
38.Xr resolvconf 8 ,
39meaning that
40.Nm
41must contain valid shell commands.
42Listed below are the standard
43.Nm
44variables that may be set.
45.Pp
46After updaing this file, you may wish to run
47.Nm resolvconf -u
48to apply the new configuration.
49.Sh RESOLVCONF OPTIONS
50.Bl -tag -width indent
51.It Sy interface_order
52These interfaces will always be processed first.
53If unset, defaults to the following:-
54.D1 lo lo[0-9]*
55.It Sy dynamic_order
56These interfaces will be processed next, unless they have a metric.
57If unset, defaults to the following:-
58.D1 tap[0-9]* tun[0-9]* vpn vpn[0-9]* ppp[0-9]* ippp[0-9]*
59.It Sy search_domains
60Prepend search domains to the dynamically generated list.
61.It Sy search_domains_append
62Append search domains to the dynamically generated list.
63.It Sy name_servers
64Prepend name servers to the dynamically generated list.
65You should set this to 127.0.0.1 if you use a local name server other than
66libc.
67.It Sy name_servers_append
68Append name servers to the dynamically generated list.
69.It Sy private_interfaces
70These interfaces name servers will only be queried for the domains listed
71in their resolv.conf.
72Useful for VPN domains.
73This is equivalent to the
74.Nm resolvconf -p
75option.
76.It Sy state_dir
77Override the default state directory of
78.Pa @VARDIR@ .
79This should not be changed once
80.Nm resolvconf
81is in use unless the old directory is copied to the new one.
82.El
83.Sh LIBC OPTIONS
84The following variables affect
85.Xr resolv.conf 5
86directly:-
87.Bl -tag -width indent
88.It Sy resolv_conf
89Defaults to
90.Pa /etc/resolv.conf
91if not set.
92.It Sy resolv_conf_options
93A list of libc resolver options, as specified in
94.Xr resolv.conf 5 .
95.It Sy resolv_conf_passthrough
96When set to YES the latest resolv.conf is written to
97.Sy resolv_conf
98without any alteration.
99.El
100.Sh SUBSCRIBER OPTIONS
101openresolv ships with subscribers for the name servers
102.Xr dnsmasq 8 ,
103.Xr named 8 ,
104.Xr pdnsd 8
105and
106.Xr unbound 8 .
107Each subscriber can create configuration files which should be included in
108in the subscribers main configuration file.
109.Bl -tag -width indent
110.It Sy dnsmasq_conf
111This file tells dnsmasq which nameservers to use for specific domains.
112.It Sy dnsmasq_resolv
113This file tells dnsmasq which nameservers to use for global lookups.
114.Pp
115Example resolvconf.conf for dnsmasq:
116.D1 nameservers=127.0.0.1
117.D1 dnsmasq_conf=/etc/dnsmasq-conf.conf
118.D1 dnsmasq_resolv=/etc/dnsmasq-resolv.conf
119.Pp
120Example dnsmasq.conf:
121.D1 listen-address=127.0.0.1
122.D1 conf-file=/etc/dnsmasq-conf.conf
123.D1 resolv-file=/etc/dnsmasq-resolv.conf
124.It Sy named_options
125Include this file in the named options block.
126This file tells named which nameservers to use for global lookups.
127.It Sy named_zones
128Include this file in the named global scope, after the options block.
129This file tells named which nameservers to use for specific domains.
130.Pp
131Example resolvconf.conf for named:
132.D1 nameservers=127.0.0.1
133.D1 named_options=/etc/named-options.conf
134.D1 named_zones=/etc/named-zones.conf
135.Pp
136Example named.conf:
137.D1 options {
138.D1 	listen-on { 127.0.0.1; };
139.D1 	include "/etc/named-options.conf";
140.D1 };
141.D1 include "/etc/named-zones.conf";
142.It Sy pdnsd_conf
143This is the main pdnsd configuration file which we modify to add our
144forward domains to.
145If this variable is not set then we rely on the pdnsd configuration file
146setup to read
147.Pa pdnsd_resolv
148as documented below.
149.It Sy pdnsd_resolv
150This file tells pdnsd about global nameservers.
151If this variable is not set then it's written to
152.Pa pdnsd_conf .
153.Pp
154Example resolvconf.conf for pdnsd:
155.D1 nameservers=127.0.0.1
156.D1 pdnsd_conf=/etc/pdnsd.conf
157.D1 # pdnsd_resolv=/etc/pdnsd-resolv.conf
158.Pp
159Example pdnsd.conf:
160.D1 global {
161.D1 	server_ip = 127.0.0.1;
162.D1 	status_ctl = on;
163.D1 }
164.D1 server {
165.D1 	# A server definition is required, even if emtpy.
166.D1 	label="empty";
167.D1 	proxy_only=on;
168.D1 	# file="/etc/pdnsd-resolv.conf";
169.D1 }
170.It Sy unbound_conf
171This file tells unbound about specific and global nameservers.
172.Pp
173Example resolvconf.conf for unbound:
174.D1 nameservers=127.0.0.1
175.D1 unbound_conf=/etc/unbound-resolvconf.conf
176.Pp
177Example unbound.conf:
178.D1 include: /etc/unbound-resolvconf.conf
179.El
180.Sh SEE ALSO
181.Xr resolv.conf 5
182and
183.Xr resolvconf 8 .
184.Sh AUTHORS
185.An Roy Marples Aq roy@marples.name
186.Sh BUGS
187Please report them to http://roy.marples.name/projects/openresolv
188