openresolv
openresolv is a resolvconf implementation, i.e. a resolv.conf management framework.
Although openresolv is most known for allowing multiple applications to modify /etc/resolv.conf
, it is currently the only standard way to implement:
- dynamic control of a DNS resolver (other than glibc),
- dynamic conditional forwarding.
Installation
Install the openresolv package.
Usage
openresolv provides resolvconf(8) and is configured in /etc/resolvconf.conf
. See resolvconf.conf(5) for supported options.
Running resolvconf -u
will generate /etc/resolv.conf
.
Users
DHCP clients:
- dhcpcd has a hook which uses resolvconf if it is installed.
- iwd#Enable built-in network configuration
- netctl (used by default)
- NetworkManager#Use openresolv (limited to a single interface)
VPN clients:
Subscribers
openresolv can be configured to pass name servers and search domains to DNS resolvers. The supported resolvers are:
See the official documentation for instructions.
Tips and tricks
Defining multiple values for options
The man page does not mention it, but to define multiple values, for options that support it (e.g. name_servers
, resolv_conf_options
etc.) in /etc/resolvconf.conf
, you need to write them space separated inside quotes. E.g.:
/etc/resolvconf.conf
resolv_conf_options="edns0 single-request" name_servers="192.168.35.1 fd7b:d0bd:7a6e::1"