All rights reserved
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
.Dd April 27, 2013 .Dt RESOLVCONF.CONF 5 SMM .Os .Sh NAME .Nm resolvconf.conf .Nd resolvconf configuration file .Sh DESCRIPTION .Nm is the configuration file for .Xr resolvconf 8 . The .Nm file is a shell script that is sourced by .Xr resolvconf 8 , meaning that .Nm must contain valid shell commands. Listed below are the standard .Nm variables that may be set.
p After updating this file, you may wish to run .Nm resolvconf -u to apply the new configuration. .Sh RESOLVCONF OPTIONS l -tag -width indent t Sy interface_order These interfaces will always be processed first. If unset, defaults to the following:- .D1 lo lo[0-9]* t Sy dynamic_order These interfaces will be processed next, unless they have a metric. If unset, defaults to the following:- .D1 tap[0-9]* tun[0-9]* vpn vpn[0-9]* ppp[0-9]* ippp[0-9]* t Sy search_domains Prepend search domains to the dynamically generated list. t Sy search_domains_append Append search domains to the dynamically generated list. t Sy domain_blacklist A list of domains to be removed from consideration. To remove a domain, you can use foo.* To remove a sub domain, you can use *.bar t Sy name_servers Prepend name servers to the dynamically generated list. You should set this to 127.0.0.1 if you use a local name server other than libc. t Sy name_servers_append Append name servers to the dynamically generated list. t Sy name_server_blacklist A list of name servers to be removed from consideration. The default is 0.0.0.0 as some faulty routers send it via DHCP. To remove a block, you can use 192.168.* t Sy private_interfaces These interfaces name servers will only be queried for the domains listed in their resolv.conf. Useful for VPN domains. This is equivalent to the .Nm resolvconf -p option. t Sy state_dir Override the default state directory of
a @VARDIR@ . This should not be changed once .Nm resolvconf is in use unless the old directory is copied to the new one. .El .Sh LIBC OPTIONS The following variables affect .Xr resolv.conf 5 directly:- l -tag -width indent t Sy resolv_conf Defaults to
a /etc/resolv.conf if not set. t Sy resolv_conf_options A list of libc resolver options, as specified in .Xr resolv.conf 5 . t Sy resolv_conf_passthrough When set to YES the latest resolv.conf is written to .Sy resolv_conf without any alteration. t Sy resolv_conf_sortlist A libc resolver sortlist, as specified in .Xr resolv.conf 5 . t Sy resolv_conf_local_only If a local name server is configured then the default is just to specify that and ignore all other entries as they will be configured for the local name server. Set this to NO to also list non-local nameservers. This will give you working DNS even if the local nameserver stops functioning at the expense of duplicated server queries. .El .Sh SUBSCRIBER OPTIONS openresolv ships with subscribers for the name servers .Xr dnsmasq 8 , .Xr named 8 , .Xr pdnsd 8 and .Xr unbound 8 . Each subscriber can create configuration files which should be included in in the subscribers main configuration file. l -tag -width indent t Sy dnsmasq_conf This file tells dnsmasq which name servers to use for specific domains. t Sy dnsmasq_resolv This file tells dnsmasq which name servers to use for global lookups.
p Example resolvconf.conf for dnsmasq: .D1 name_servers=127.0.0.1 .D1 dnsmasq_conf=/etc/dnsmasq-conf.conf .D1 dnsmasq_resolv=/etc/dnsmasq-resolv.conf
p Example dnsmasq.conf: .D1 listen-address=127.0.0.1 .D1 # If dnsmasq is compiled for DBus then we can take .D1 # advantage of not having to restart dnsmasq. .D1 enable-dbus .D1 conf-file=/etc/dnsmasq-conf.conf .D1 resolv-file=/etc/dnsmasq-resolv.conf t Sy named_options Include this file in the named options block. This file tells named which name servers to use for global lookups. t Sy named_zones Include this file in the named global scope, after the options block. This file tells named which name servers to use for specific domains.
p Example resolvconf.conf for named: .D1 name_servers=127.0.0.1 .D1 named_options=/etc/named-options.conf .D1 named_zones=/etc/named-zones.conf
p Example named.conf: .D1 options { .D1 listen-on { 127.0.0.1; }; .D1 include "/etc/named-options.conf"; .D1 }; .D1 include "/etc/named-zones.conf"; t Sy pdnsd_conf This is the main pdnsd configuration file which we modify to add our forward domains to. If this variable is not set then we rely on the pdnsd configuration file setup to read
a pdnsd_resolv as documented below. t Sy pdnsd_resolv This file tells pdnsd about global name servers. If this variable is not set then it's written to
a pdnsd_conf .
p Example resolvconf.conf for pdnsd: .D1 name_servers=127.0.0.1 .D1 pdnsd_conf=/etc/pdnsd.conf .D1 # pdnsd_resolv=/etc/pdnsd-resolv.conf
p Example pdnsd.conf: .D1 global { .D1 server_ip = 127.0.0.1; .D1 status_ctl = on; .D1 } .D1 server { .D1 # A server definition is required, even if emtpy. .D1 label="empty"; .D1 proxy_only=on; .D1 # file="/etc/pdnsd-resolv.conf"; .D1 } t Sy unbound_conf This file tells unbound about specific and global name servers.
p Example resolvconf.conf for unbound: .D1 name_servers=127.0.0.1 .D1 unbound_conf=/etc/unbound-resolvconf.conf
p Example unbound.conf: .D1 include: /etc/unbound-resolvconf.conf .El .Sh SUBSCRIBER INTEGRATION Not all distributions store the files the subscribers need in the same locations. For example, named service scripts have been called named, bind and rc.bind and they could be located in a directory called /etc/rc.d, /etc/init.d or similar. Each subscriber attempts to automatically configure itself, but not every distribution has been catered for. Also, users could equally want to use a different version from the one installed by default, such as bind8 and bind9. To accomodate this, the subscribers have these files in configurable variables, documented below.
p l -tag -width indent t Sy dnsmasq_service Location of the dnsmasq service. t Sy dnsmasq_restart Command to restart the dnsmasq service. t Sy dnsmasq_pid Location of the dnsmasq pidfile. t Sy libc_service Location of the libc service. t Sy libc_restart Command to restart the libc service. t Sy named_service Location of the named service. t Sy named_restart Command to restart the named service. t Sy pdnsd_restart Command to restart the pdnsd service. t Sy unbound_service Location of the unbound service. t Sy unbound_restart Command to restart the unbound service. t Sy unbound_pid Location of the unbound pidfile. .El .Sh SEE ALSO .Xr resolv.conf 5 and .Xr resolvconf 8 . .Sh AUTHORS .An Roy Marples Aq roy@marples.name .Sh BUGS Each distribution is a special snowflake and likes to name the same thing differently, namely the named service script.
p Please report them to .Lk http://roy.marples.name/projects/openresolv