resolvconf.conf —
resolvconf configuration file
resolvconf.conf is the configuration file for
resolvconf(8). The
resolvconf.conf file is a shell script that is
sourced by
resolvconf(8), meaning that
resolvconf.conf must contain valid shell
commands. Listed below are the standard
resolvconf.conf variables that may be set. If the
values contain whitespace, wildcards or other special shell characters, ensure
they are quoted and escaped correctly. See the
replace variable for an example on quoting.
After updating this file, you may wish to run
resolvconf -u to apply the new configuration.
When a dynamically generated list is appended or prepended to, the whole is made
unique where left-most wins.
- resolvconf
- Set to NO to disable
resolvconf from running any subscribers.
Defaults to YES.
- allow_interfaces
- If set, only these interfaces will be processed.
- deny_interfaces
- If set, these interfaces will not be processed.
- interface_order
- These interfaces will always be processed first. If unset,
defaults to the following:
- dynamic_order
- These interfaces will be processed next, unless they have a
metric. If unset, defaults to the following:
- inclusive_interfaces
- Ignore any exclusive marking for these interfaces. This is
handy when 3rd party integrations force the
resolvconf -x option and you want to disable
it easily.
- local_nameservers
- If unset, defaults to the following:
- search_domains
- Prepend search domains to the dynamically generated
list.
- search_domains_append
- Append search domains to the dynamically generated
list.
- 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
- 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.
- name_servers_append
- Append name servers to the dynamically generated list.
- 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.*
- private_interfaces
- These interfaces name servers will only be queried for the
domains listed in their resolv.conf. Useful for VPN domains. Setting
private_interfaces="*" will stop
the forwarding of the root zone and allows the local resolver to
recursively query the root servers directly. Requires a local nameserver
other than libc. This is equivalent to the
resolvconf -p option.
- public_interfaces
- Force these interface to be public, overriding the private
marking. This is handy when 3rd party integrations force the
resolvconf -p option and you want to disable
it easily.
- replace
- Is a space separated list of replacement keywords. The
syntax is this:
$keyword/$match/$replacement
Example, given this resolv.conf:
and this configuration:
you would get this resolv.conf instead:
- replace_sub
- Works the same way as replace
except it works on each space separated value rather than the whole line,
so it's useful for the replacing a single domain within the search
directive. Using the same example resolv.conf and changing
replace to
replace_sub, you would get this resolv.conf
instead:
- state_dir
- Override the default state directory of
/run/resolvconf. This should not be changed
once resolvconf is in use unless the old
directory is copied to the new one.
The following variables affect
resolv.conf(5)
directly:-
- resolv_conf
- Defaults to /etc/resolv.conf
if not set.
- resolv_conf_options
- A list of libc resolver options, as specified in
resolv.conf(5).
- resolv_conf_passthrough
- When set to YES the latest resolv.conf is written to
resolv_conf without any alteration. When set
to /dev/null or NULL, resolv_conf_local_only
is defaulted to NO, local_nameservers is
unset unless overridden and only the information set in
resolvconf.conf is written to
resolv_conf.
- resolv_conf_sortlist
- A libc resolver sortlist, as specified in
resolv.conf(5).
- 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.
- append_nameservers
- Append name servers to the dynamically generated list.
- prepend_nameservers
- Prepend name servers to the dynamically generated
list.
- append_search
- Append search domains to the dynamically generated
list.
- prepend_search
- Prepend search domains to the dynamically generated
list.
openresolv ships with subscribers for the name servers
dnsmasq(8),
named(8),
pdnsd(8),
pdns_recursor(1), and
unbound(8). Each subscriber can create
configuration files which should be included in the subscribers main
configuration file.
To disable a subscriber, simply set it's name to NO. For example, to disable the
libc subscriber you would set:
- dnsmasq_conf
- This file tells dnsmasq which name servers to use for
specific domains.
- dnsmasq_resolv
- This file tells dnsmasq which name servers to use for
global lookups.
Example resolvconf.conf for dnsmasq:
Example dnsmasq.conf:
- named_options
- Include this file in the named options block. This file
tells named which name servers to use for global lookups.
- 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.
Example resolvconf.conf for named:
Example named.conf:
- 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
pdnsd_resolv as documented below.
- pdnsd_resolv
- This file tells pdnsd about global name servers. If this
variable is not set then it's written to
pdnsd_conf.
Example resolvconf.conf for pdnsd:
Example pdnsd.conf:
- pdns_zones
- This file tells pdns_recursor about specific and global
name servers.
Example resolvconf.conf for pdns_recursor:
Example recursor.conf:
- unbound_conf
- This file tells unbound about specific and global name
servers.
- unbound_insecure
- When set to YES, unbound marks the domains as insecure,
thus ignoring DNSSEC.
Example resolvconf.conf for unbound:
Example unbound.conf:
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 accommodate this, the subscribers have these files in configurable
variables, documented below.
- dnsmasq_service
- Name of the dnsmasq service.
- dnsmasq_restart
- Command to restart the dnsmasq service.
- dnsmasq_pid
- Location of the dnsmasq pidfile.
- libc_service
- Name of the libc service.
- libc_restart
- Command to restart the libc service.
- named_service
- Name of the named service.
- named_restart
- Command to restart the named service.
- pdnsd_restart
- Command to restart the pdnsd service.
- pdns_service
- Command to restart the pdns_recursor service.
- pdns_restart
- Command to restart the pdns_recursor service.
- unbound_service
- Name of the unbound service.
- unbound_restart
- Command to restart the unbound service.
- unbound_pid
- Location of the unbound pidfile.
sh(1),
resolv.conf(5),
resolvconf(8)
Roy Marples
<
[email protected]>
Each distribution is a special snowflake and likes to name the same thing
differently, namely the named service script.
Please report them to
http://roy.marples.name/projects/openresolv