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.
Install the openresolv package.
openresolv provides resolvconf(8) and is configured in
/etc/resolvconf.conf. See resolvconf.conf(5) for supported options.
resolvconf -u will generate
- 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)
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.
resolv_conf_options etc.) in
/etc/resolvconf.conf, you need to write them space separated inside quotes. E.g.:
resolv_conf_options="edns0 single-request" name_servers="192.168.35.1 fd7b:d0bd:7a6e::1"