NAME¶
resolvconf — 
a framework for managing
  multiple DNS configurations
SYNOPSIS¶
  
    
    
  
  
    | resolvconf | 
    [-m
      metric]
      [-p] -a
      interface
      <file | 
  
  
    
    
  
  
    | resolvconf | 
    [-f] -d
      interface | 
  
DESCRIPTION¶
resolvconf manages 
resolv.conf(5) files from
  multiple sources, such as DHCP and VPN clients. Traditionally, the host runs
  just one client and that updates 
/etc/resolv.conf. More
  modern systems frequently have wired and wireless interfaces and there is no
  guarantee both are on the same network. With the advent of VPN and other types
  of networking daemons, many things now contend for the contents of
  
/etc/resolv.conf.
resolvconf solves this by letting the daemon send their
  
resolv.conf(5) file to 
resolvconf via
  
stdin(3) with the argument 
-a
  interface instead of the filesystem.
  
resolvconf then updates 
/etc/resolv.conf
  as it thinks best. When a local resolver other than libc is installed, such as
  
dnsmasq(8) or 
named(8), then
  
resolvconf will supply files that the resolver should be
  configured to include.
resolvconf can mark an interfaces
  
resolv.conf as private. This means that the name servers
  listed in that 
resolv.conf are only used for queries against
  the domain/search listed in the same file. This only works when a local
  resolver other than libc is installed. See
  
resolvconf.conf(5) for how to configure
  
resolvconf to use a local name server.
When an interface goes down, it should then call 
resolvconf
  with 
-d interface arguments to delete
  the 
resolv.conf file for the
  
interface.
Here are some more options that 
resolvconf has:-
  - -I
 
  - Initialise the state directory
      /run/resolvconf. This only needs to be called if the
      initial system boot sequence does not automatically clean it out; for
      example the state directory is moved somewhere other than
      /var/run. If used, it should only be called once as
      early in the system boot sequence as possible and before
      resolvconf is used to add interfaces.
 
  - -f
 
  - Ignore non existant interfaces. Only really useful for
      deleting interfaces.
 
  - -i
    pattern
 
  - List the interfaces, optionally matching
      pattern, we have resolv.conf files
      for.
 
  - -l
    pattern
 
  - List the resolv.conf files we have. If
      pattern is specified then we list the files for the
      interfaces that match it.
 
  - -m
    metric
 
  - Set the metric of the interface when adding it, default of
      0. Lower metrics take precedence. This affects the default order of
      interfaces when listed.
 
  - -p
 
  - Marks the interface resolv.conf as
      private.
 
  - -u
 
  - Force resolvconf to update all it's
      subscribers. resolvconf does not update the subscribers
      when adding a resolv.conf that matches what it already has for that
      interface.
 
resolvconf also has some options designed to be used by it's
  subscribers:-
  - -v
 
  - Echo variables DOMAINS, SEARCH and NAMESERVERS so that the
      subscriber can configure the resolver easily.
 
INTERFACE ORDERING¶
For 
resolvconf to work effectively, it has to process the
  resolv.confs for the interfaces in the correct order.
  
resolvconf first processes interfaces from the
  
interface_order list, then interfaces without a metic and
  that match the 
dynamic_order list, then interfaces with a
  metric in order and finally the rest in the operating systems lexical order.
  See 
resolvconf.conf(5) for details on these lists.
IMPLEMENTATION NOTES¶
If a subscriber has the executable bit then it is executed otherwise it is
  assumed to be a shell script and sourced into the current environment in a
  subshell. This is done so that subscribers can remain fast, but are also not
  limited to the shell language.
Portable subscribers should not use anything outside of 
/bin
  and 
/sbin because 
/usr and others may not
  be available when booting. Also, it would be unwise to assume any shell
  specific features.
ENVIRONMENT¶
  - IF_METRIC
 
  - If the -m option is not present then we
      use IF_METRIC for the metric.
 
  - IF_PRIVATE
 
  - Marks the interface resolv.conf as
      private.
 
FILES¶
  - /etc/resolvconf.conf
 
  - Configuration file for resolvconf.
 
  - /lib/resolvconf
 
  - Directory of subscribers which are run every time
      resolvconf adds, deletes or updates.
 
  - /lib/resolvconf/libc.d
 
  - Directory of subscribers which are run after the libc
      subscriber is run.
 
  - /run/resolvconf
 
  - State directory for resolvconf.
 
HISTORY¶
This implementation of 
resolvconf is called openresolv and is
  fully command line compatible with Debian's resolvconf, as written by Thomas
  Hood.
SEE ALSO¶
resolv.conf(5), 
resolvconf.conf(5),
  
resolver(3), 
stdin(3)
AUTHORS¶
Roy Marples ⟨roy@marples.name⟩
BUGS¶
Please report them to
  
http://roy.marples.name/projects/openresolv
resolvconf does not validate any of the files given to it.
When running a local resolver other than libc, you will need to configure it to
  include files that 
resolvconf will generate. You should
  consult 
resolvconf.conf(5) for instructions on how to
  configure your resolver.