Difference between revisions of "Openresolv"

From ArchWiki
Jump to navigation Jump to search
m (Defining multiple name-servers: add "E.g.")
m (style)
 
(16 intermediate revisions by 5 users not shown)
Line 3: Line 3:
 
[[ja:Openresolv]]
 
[[ja:Openresolv]]
 
[[pt:Openresolv]]
 
[[pt:Openresolv]]
 +
{{Related articles start}}
 +
{{Related|systemd-resolvconf}}
 +
{{Related articles end}}
 +
 
[https://roy.marples.name/projects/openresolv Openresolv] is a [[Wikipedia:resolvconf|resolvconf]] implementation, i.e. a [[resolv.conf]] management framework.
 
[https://roy.marples.name/projects/openresolv Openresolv] is a [[Wikipedia:resolvconf|resolvconf]] implementation, i.e. a [[resolv.conf]] management framework.
 +
 +
Although openresolv is most known for allowing multiple applications to modify {{ic|/etc/resolv.conf}}, it is currently the only standard way to implement:
 +
* dynamic control of a DNS resolver (other than glibc),
 +
* dynamic [[Resolv.conf#Conditional_forwarding|conditional forwarding]].
 +
 +
{{Tip|An alternative implementation is [[systemd-resolvconf]], but it can only be used with [[systemd-resolved]].}}
  
 
== Installation ==
 
== Installation ==
Line 14: Line 24:
  
 
Running {{ic|resolvconf -u}} will generate {{ic|/etc/resolv.conf}}.
 
Running {{ic|resolvconf -u}} will generate {{ic|/etc/resolv.conf}}.
 
Openresolv can additionally be configured to pass DNS server addresses to [[unbound]], [[dnsmasq]], [[BIND]] and [[pdnsd]] resolvers. See the [https://roy.marples.name/projects/openresolv/config official documentation] for instructions.
 
  
 
{{Expansion|Provide common usage examples.}}
 
{{Expansion|Provide common usage examples.}}
Line 21: Line 29:
 
== Users ==
 
== Users ==
  
Stand-alone DHCP clients:
+
Stand-alone [[DHCP]] clients:
  
 
* [[dhcpcd]] has a hook which uses ''resolvconf'' if it is installed.
 
* [[dhcpcd]] has a hook which uses ''resolvconf'' if it is installed.
Line 28: Line 36:
  
 
* [[netctl]] (used by default)
 
* [[netctl]] (used by default)
* [[NetworkManager#Use openresolv]]
+
* [[NetworkManager#Use openresolv]] (limited to a single interface)
  
 
[[VPN]] clients:
 
[[VPN]] clients:
  
 +
* [[OpenConnect]]
 
* [[OpenVPN#DNS]]
 
* [[OpenVPN#DNS]]
 
* [[strongSwan]]
 
* [[strongSwan]]
 
* [[WireGuard]]
 
* [[WireGuard]]
 +
 +
== Subscribers ==
 +
 +
Openresolv can be configured to pass name servers and search domains to DNS resolvers. The supported resolvers are:
 +
 +
* [[BIND]]
 +
* [[dnsmasq#openresolv]]
 +
* [[pdnsd]]
 +
* [[Unbound]]
 +
 +
See the [https://roy.marples.name/projects/openresolv/config official documentation] for instructions.
  
 
== Tips and tricks ==
 
== Tips and tricks ==
  
=== Defining multiple name-servers ===
+
=== Defining multiple values for options ===
 
 
{{Expansion|This is not limited to {{ic|name_servers}}, it applies to almost all options.}}
 
  
The man page does not mention it, but to define multiple name-servers in {{ic|/etc/resolvconf.conf}} you need to write them space separated inside quotes. E.g.:
+
The man page does not mention it, but to define multiple values, for options that support it (e.g. {{ic|name_servers}}, {{ic|resolv_conf_options}} etc.) in {{ic|/etc/resolvconf.conf}}, you need to write them space separated inside quotes. E.g.:
  
 
{{hc|/etc/resolvconf.conf|2=
 
{{hc|/etc/resolvconf.conf|2=
name_servers="dns1.example.com dns2.example.com dns3.example.com"
+
resolv_conf_options="edns0 single-request"
 +
name_servers="192.168.35.1 fd7b:d0bd:7a6e::1"
 
}}
 
}}

Latest revision as of 06:37, 13 May 2019

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:

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.

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

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

Users

Stand-alone DHCP clients:

  • dhcpcd has a hook which uses resolvconf if it is installed.

Network managers:

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"