openresolv - ArchWiki

Jump to content
From ArchWiki

Related articles

- systemd-resolvconf

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.

Tip: An alternative implementation is systemd-resolvconf, but it can only be used with systemd-resolved.

## 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`.

This article or section needs expansion.

Reason: Provide common usage examples. (Discuss in Talk:Openresolv)

## Users

DHCP clients:

- dhcpcd has a hook which uses resolvconf if it is installed.
- iwd#Enable built-in network configuration

Network managers:

- netctl (used by default)
- NetworkManager#Use openresolv (limited to a single interface)

VPN clients:

- OpenConnect
- OpenVPN#DNS
- strongSwan
- WireGuard

## Subscribers

openresolv can be configured to pass name servers and search domains to DNS resolvers. The supported resolvers are:

- BIND
- dnsmasq#openresolv
- pdnsd
- powerdns-recursor
- Unbound

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"

Category:

- Domain Name System

Hidden category:

- Pages or sections flagged with Template:Expansion