Changeset View
Changeset View
Standalone View
Standalone View
resolvconf.conf.5.in
| .\" Copyright (c) 2009-2016 Roy Marples | .\" Copyright (c) 2009-2025 Roy Marples | ||||
| .\" All rights reserved | .\" All rights reserved | ||||
| .\" | .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\" notice, this list of conditions and the following disclaimer. | .\" notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\" notice, this list of conditions and the following disclaimer in the | .\" notice, this list of conditions and the following disclaimer in the | ||||
| .\" documentation and/or other materials provided with the distribution. | .\" documentation and/or other materials provided with the distribution. | ||||
| .\" | .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | .\" SUCH DAMAGE. | ||||
| .\" | .\" | ||||
| .Dd September 8, 2019 | .Dd May 15, 2025 | ||||
| .Dt RESOLVCONF.CONF 5 | .Dt RESOLVCONF.CONF 5 | ||||
| .Os | .Os | ||||
| .Sh NAME | .Sh NAME | ||||
| .Nm resolvconf.conf | .Nm resolvconf.conf | ||||
| .Nd resolvconf configuration file | .Nd resolvconf configuration file | ||||
| .Sh DESCRIPTION | .Sh DESCRIPTION | ||||
| .Nm | .Nm | ||||
| is the configuration file for | is the configuration file for | ||||
| Show All 22 Lines | |||||
| is made unique where left-most wins. | is made unique where left-most wins. | ||||
| .Sh RESOLVCONF OPTIONS | .Sh RESOLVCONF OPTIONS | ||||
| .Bl -tag -width indent | .Bl -tag -width indent | ||||
| .It Sy resolvconf | .It Sy resolvconf | ||||
| Set to NO to disable | Set to NO to disable | ||||
| .Nm resolvconf | .Nm resolvconf | ||||
| from running any subscribers. | from running any subscribers. | ||||
| Defaults to YES. | Defaults to YES. | ||||
| .It Sy interface_order | .It Sy allow_keys | ||||
| These interfaces will always be processed first. | If set, only these keys will be processed. | ||||
| If unset, defaults to the following:- | .It Sy deny_keys | ||||
| .Bd -compact -literal -offset indent | If set, these keys will not be processed. | ||||
| .It Sy exclude | |||||
| Is a space separated list of key/value pairs to match. | |||||
| If all key/value pairs in one element can be found in the file, | |||||
| then the whole file will be excluded from processing. | |||||
| The syntax is this: | |||||
| .Va $keyword Ns / Ns Va $match Ns Op / Ns Va $keyword Ns / Ns Va $match | |||||
| .Pp | |||||
| For example given this configuration: | |||||
| .Bd -literal -compact -offset indent | |||||
| exclude="search/foo*/nameserver/1.2.3.4 search/bar.org" | |||||
| .Ed | |||||
| .Pp | |||||
| Then any resolv.conf with both a search option starting with foo with a nameserver of 1.2.3.4 | |||||
| OR a search option of bar.org would be excluded. | |||||
| .It Sy key_order | |||||
| These keys will always be processed first. | |||||
| If unset, defaults to the following: | |||||
| .Bd -literal -compact -offset indent | |||||
| lo lo[0-9]* | lo lo[0-9]* | ||||
| .Ed | .Ed | ||||
| .It Sy dynamic_order | .It Sy dynamic_order | ||||
| These interfaces will be processed next, unless they have a metric. | These keys will be processed next, unless they have a metric. | ||||
| If unset, defaults to the following:- | If unset, defaults to the following: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| tap[0-9]* tun[0-9]* vpn vpn[0-9]* ppp[0-9]* ippp[0-9]* | tap[0-9]* tun[0-9]* vpn vpn[0-9]* wg[0-9]* ppp[0-9]* ippp[0-9]* | ||||
| .Ed | .Ed | ||||
| .It Sy inclusive_interfaces | .It Sy inclusive_keys | ||||
| Ignore any exclusive marking for these interfaces. | Ignore any exclusive marking for these keys. | ||||
| This is handy when 3rd party integrations force the | This is handy when 3rd party integrations force the | ||||
| .Nm resolvconf -x | .Nm resolvconf -x | ||||
| option and you want to disable it easily. | option and you want to disable it easily. | ||||
| .It Sy local_nameservers | .It Sy local_nameservers | ||||
| If unset, defaults to the following:- | If unset, defaults to the following: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| 127.* 0.0.0.0 255.255.255.255 ::1 | 127.* 0.0.0.0 255.255.255.255 ::1 | ||||
| .Ed | .Ed | ||||
| .It Sy search_domains | .It Sy search_domains | ||||
| Prepend search domains to the dynamically generated list. | Prepend search domains to the dynamically generated list. | ||||
| .It Sy search_domains_append | .It Sy search_domains_append | ||||
| Append search domains to the dynamically generated list. | Append search domains to the dynamically generated list. | ||||
| .It Sy domain_blacklist | .It Sy domain_blacklist | ||||
| A list of domains to be removed from consideration. | A list of domains to be removed from consideration. | ||||
| To remove a domain, you can use foo.* | To remove a domain, you can use foo.* | ||||
| To remove a sub domain, you can use *.bar | To remove a sub domain, you can use *.bar | ||||
| .It Sy name_servers | .It Sy name_servers | ||||
| Prepend name servers to the dynamically generated list. | Prepend name servers to the dynamically generated list. | ||||
| You should set this to 127.0.0.1 if you use a local name server other than | You should set this to 127.0.0.1 if you use a local name server other than | ||||
| libc. | libc. | ||||
| .It Sy name_servers_append | .It Sy name_servers_append | ||||
| Append name servers to the dynamically generated list. | Append name servers to the dynamically generated list. | ||||
| .It Sy name_server_blacklist | .It Sy name_server_blacklist | ||||
| A list of name servers to be removed from consideration. | A list of name servers to be removed from consideration. | ||||
| The default is 0.0.0.0 as some faulty routers send it via DHCP. | The default is 0.0.0.0 as some faulty routers send it via DHCP. | ||||
| To remove a block, you can use 192.168.* | To remove a block, you can use 192.168.* | ||||
| .It Sy private_interfaces | .It Sy private_keys | ||||
| These interfaces name servers will only be queried for the domains listed | These keys name servers will only be queried for the domains listed | ||||
| in their resolv.conf. | in their resolv.conf. | ||||
| Useful for VPN domains. | Useful for VPN domains. | ||||
| Setting | Setting | ||||
| .Sy private_interfaces Ns ="*" | .Sy private_keys Ns ="*" | ||||
| will stop the forwarding of the root zone and allows the local resolver to | will stop the forwarding of the root zone and allows the local resolver to | ||||
| recursively query the root servers directly. | recursively query the root servers directly. | ||||
| Requires a local nameserver other than libc. | Requires a local nameserver other than libc. | ||||
| This is equivalent to the | This is equivalent to the | ||||
| .Nm resolvconf -p | .Nm resolvconf -p | ||||
| option. | option. | ||||
| .It Sy public_interfaces | .It Sy nosearch_keys | ||||
| Force these interface to be public, overriding the private marking. | These keys domains/search won't be added to the global search list | ||||
| in | |||||
| .Pa /etc/resolv.conf . | |||||
| .It Sy public_keys | |||||
| Force these keys to be public, overriding the private and nosearch | |||||
| markings. | |||||
| This is handy when 3rd party integrations force the | This is handy when 3rd party integrations force the | ||||
| .Nm resolvconf -p | .Nm resolvconf -p | ||||
| option and you want to disable it easily. | option and you want to disable it easily. | ||||
| .It Sy replace | .It Sy replace | ||||
| Is a space separated list of replacement keywords. | Is a space separated list of replacement keywords. | ||||
| The syntax is this: | The syntax is this: | ||||
| .Va $keyword Ns / Ns Va $match Ns / Ns Va $replacement | .Va $keyword Ns / Ns Va $match Ns / Ns Va $replacement | ||||
| .Pp | .Pp | ||||
| Example, given this resolv.conf: | Example, given this resolv.conf: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| domain foo.org | domain foo.org | ||||
| search foo.org dead.beef | search foo.org dead.beef | ||||
| nameserver 1.2.3.4 | nameserver 1.2.3.4 | ||||
| nameserver 2.3.4.5 | nameserver 2.3.4.5 | ||||
| .Ed | .Ed | ||||
| and this configuaration: | .Pp | ||||
| .Bd -compact -literal -offset indent | and this configuration: | ||||
| .Bd -literal -compact -offset indent | |||||
| replace="search/foo*/bar.com" | replace="search/foo*/bar.com" | ||||
| replace="$replace nameserver/1.2.3.4/5.6.7.8" | replace="$replace nameserver/1.2.3.4/5.6.7.8" | ||||
| replace="$replace nameserver/2.3.4.5/" | replace="$replace nameserver/2.3.4.5/" | ||||
| .Ed | .Ed | ||||
| .Pp | |||||
| you would get this resolv.conf instead: | you would get this resolv.conf instead: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| domain foo.org | domain foo.org | ||||
| search bar.com | search bar.com | ||||
| nameserver 5.6.7.8 | nameserver 5.6.7.8 | ||||
| .Ed | .Ed | ||||
| .Pp | |||||
| .It Sy replace_sub | .It Sy replace_sub | ||||
| Works the same way as | Works the same way as | ||||
| .Sy replace | .Sy replace | ||||
| except it works on each space separated value rather than the whole line, | except it works on each space separated value rather than the whole line, | ||||
| so it's useful for the replacing a single domain within the search directive. | so it's useful for the replacing a single domain within the search directive. | ||||
| Using the same example resolv.conf and changing | Using the same example resolv.conf and changing | ||||
| .Sy replace | .Sy replace | ||||
| to | to | ||||
| .Sy replace_sub , | .Sy replace_sub , | ||||
| you would get this resolv.conf instead: | you would get this resolv.conf instead: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| domain foo.org | domain foo.org | ||||
| search bar.com dead.beef | search bar.com dead.beef | ||||
| nameserver 5.6.7.8 | nameserver 5.6.7.8 | ||||
| .Ed | .Ed | ||||
| .Pp | |||||
| .It Sy state_dir | .It Sy state_dir | ||||
| Override the default state directory of | Override the default state directory of | ||||
| .Pa @VARDIR@ . | .Pa @VARDIR@ . | ||||
| This should not be changed once | This should not be changed once | ||||
| .Nm resolvconf | .Nm resolvconf | ||||
| is in use unless the old directory is copied to the new one. | is in use unless the old directory is copied to the new one. | ||||
| .El | .El | ||||
| .Sh LIBC OPTIONS | .Sh LIBC OPTIONS | ||||
| The following variables affect | The following variables affect | ||||
| .Xr resolv.conf 5 | .Xr resolv.conf 5 | ||||
| directly:- | directly: | ||||
| .Bl -tag -width indent | .Bl -tag -width indent | ||||
| .It Sy resolv_conf | .It Sy resolv_conf | ||||
| Defaults to | Defaults to | ||||
| .Pa /etc/resolv.conf | .Pa /etc/resolv.conf | ||||
| if not set. | if not set. | ||||
| Set to | |||||
| .Pa /dev/null | |||||
| to stop | |||||
| .Xr resolvconf 8 | |||||
| from changing it. | |||||
| .It Sy resolv_conf_options | .It Sy resolv_conf_options | ||||
| A list of libc resolver options, as specified in | A list of libc resolver options, as specified in | ||||
| .Xr resolv.conf 5 . | .Xr resolv.conf 5 . | ||||
| .It Sy resolv_conf_passthrough | .It Sy resolv_conf_passthrough | ||||
| When set to YES the latest resolv.conf is written to | When set to YES the latest resolv.conf is written to | ||||
| .Sy resolv_conf | .Sy resolv_conf | ||||
| without any alteration. | without any alteration. | ||||
| When set to /dev/null or NULL, | When set to /dev/null or NULL, | ||||
| .Sy resolv_conf_local_only | .Sy resolv_conf_local_only | ||||
| is defaulted to NO, | is defaulted to NO, | ||||
| .Sy local_nameservers | .Sy local_nameservers | ||||
| is unset unless overridden and only the information set in | is unset unless overridden and only the information set in | ||||
| .Nm | .Nm | ||||
| is written to | is written to | ||||
| .Sy resolv_conf . | .Sy resolv_conf . | ||||
| .It Sy resolv_conf_restore | |||||
| When set to YES and | |||||
| and an empty | |||||
| .Pa resolv.conf | |||||
| would be written, restore | |||||
| .Pa resolv.conf.bak | |||||
| instead if it exists. | |||||
| Defaults to YES if not set. | |||||
| .It Sy resolv_conf_sortlist | .It Sy resolv_conf_sortlist | ||||
| A libc resolver sortlist, as specified in | A libc resolver sortlist, as specified in | ||||
| .Xr resolv.conf 5 . | .Xr resolv.conf 5 . | ||||
| .It Sy resolv_conf_local_only | .It Sy resolv_conf_local_only | ||||
| If a local name server is configured then the default is just to specify that | If a local name server is configured then the default is just to specify that | ||||
| and ignore all other entries as they will be configured for the local | and ignore all other entries as they will be configured for the local | ||||
| name server. | name server. | ||||
| Set this to NO to also list non-local nameservers. | Set this to NO to also list non-local nameservers. | ||||
| This will give you working DNS even if the local nameserver stops functioning | This will give you working DNS even if the local nameserver stops functioning | ||||
| at the expense of duplicated server queries. | at the expense of duplicated server queries. | ||||
| .It Sy append_nameservers | .It Sy append_nameservers | ||||
| Append name servers to the dynamically generated list. | Append name servers to the dynamically generated list. | ||||
| .It Sy prepend_nameservers | .It Sy prepend_nameservers | ||||
| Prepend name servers to the dynamically generated list. | Prepend name servers to the dynamically generated list. | ||||
| .It Sy append_search | .It Sy append_search | ||||
| Append search domains to the dynamically generated list. | Append search domains to the dynamically generated list. | ||||
| .It Sy prepend_search | .It Sy prepend_search | ||||
| Prepend search domains to the dynamically generated list. | Prepend search domains to the dynamically generated list. | ||||
| .It Sy resolv_conf_mv | |||||
| Defaults to NO. | |||||
| Defines if | |||||
| .Pa /etc/resolv.conf | |||||
| is updated by writing to a temporary file and then moving it | |||||
| vs writing directly to it. | |||||
| .El | .El | ||||
| .Sh SUBSCRIBER OPTIONS | .Sh SUBSCRIBER OPTIONS | ||||
| openresolv ships with subscribers for the name servers | openresolv ships with subscribers for the name servers | ||||
| .Xr dnsmasq 8 , | .Xr dnsmasq 8 , | ||||
| .Xr named 8 , | .Xr named 8 , | ||||
| .Xr pdnsd 8 , | .Xr pdnsd 8 , | ||||
| .Xr pdns_recursor 8 , | .Xr pdns_recursor 1 , | ||||
| and | and | ||||
| .Xr unbound 8 . | .Xr unbound 8 . | ||||
| Each subscriber can create configuration files which should be included in | Each subscriber can create configuration files which should be included in | ||||
| in the subscribers main configuration file. | the subscribers main configuration file. | ||||
| .Pp | .Pp | ||||
| To disable a subscriber, simply set it's name to NO. | To disable a subscriber, simply set its name to NO. | ||||
| If the subscriber name has a dash in it, then replace it with an underscore. | |||||
| For example, to disable the libc subscriber you would set: | For example, to disable the libc subscriber you would set: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| libc=NO | libc=NO | ||||
| .Ed | .Ed | ||||
| .Bl -tag -width indent | .Bl -tag -width indent | ||||
| .It Sy dnsmasq_conf | .It Sy dnsmasq_conf | ||||
| This file tells dnsmasq which name servers to use for specific domains. | This file tells dnsmasq which name servers to use for specific domains. | ||||
| .It Sy dnsmasq_resolv | .It Sy dnsmasq_resolv | ||||
| This file tells dnsmasq which name servers to use for global lookups. | This file tells dnsmasq which name servers to use for global lookups. | ||||
| .Pp | .Pp | ||||
| Example resolvconf.conf for dnsmasq: | Example resolvconf.conf for dnsmasq: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| name_servers=127.0.0.1 | name_servers=127.0.0.1 | ||||
| dnsmasq_conf=/etc/dnsmasq-conf.conf | dnsmasq_conf=/etc/dnsmasq-conf.conf | ||||
| dnsmasq_resolv=/etc/dnsmasq-resolv.conf | dnsmasq_resolv=/etc/dnsmasq-resolv.conf | ||||
| .Ed | .Ed | ||||
| .Pp | .Pp | ||||
| Example dnsmasq.conf: | Example dnsmasq.conf: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| listen-address=127.0.0.1 | listen-address=127.0.0.1 | ||||
| # If dnsmasq is compiled for DBus then we can take | # If dnsmasq is compiled for DBus then we can take | ||||
| # advantage of not having to restart dnsmasq. | # advantage of not having to restart dnsmasq. | ||||
| enable-dbus | enable-dbus | ||||
| conf-file=/etc/dnsmasq-conf.conf | conf-file=/etc/dnsmasq-conf.conf | ||||
| resolv-file=/etc/dnsmasq-resolv.conf | resolv-file=/etc/dnsmasq-resolv.conf | ||||
| .Ed | .Ed | ||||
| .It Sy named_options | .It Sy named_options | ||||
| Include this file in the named options block. | Include this file in the named options block. | ||||
| This file tells named which name servers to use for global lookups. | This file tells named which name servers to use for global lookups. | ||||
| .It Sy named_zones | .It Sy named_zones | ||||
| Include this file in the named global scope, after the options block. | Include this file in the named global scope, after the options block. | ||||
| This file tells named which name servers to use for specific domains. | This file tells named which name servers to use for specific domains. | ||||
| .Pp | .Pp | ||||
| Example resolvconf.conf for named: | Example resolvconf.conf for named: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| name_servers=127.0.0.1 | name_servers=127.0.0.1 | ||||
| named_options=/etc/named-options.conf | named_options=/etc/named-options.conf | ||||
| named_zones=/etc/named-zones.conf | named_zones=/etc/named-zones.conf | ||||
| .Ed | .Ed | ||||
| .Pp | .Pp | ||||
| Example named.conf: | Example named.conf: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| options { | options { | ||||
| listen-on { 127.0.0.1; }; | listen-on { 127.0.0.1; }; | ||||
| include "/etc/named-options.conf"; | include "/etc/named-options.conf"; | ||||
| }; | }; | ||||
| include "/etc/named-zones.conf"; | include "/etc/named-zones.conf"; | ||||
| .Ed | .Ed | ||||
| .It Sy pdnsd_conf | .It Sy pdnsd_conf | ||||
| This is the main pdnsd configuration file which we modify to add our | This is the main pdnsd configuration file which we modify to add our | ||||
| forward domains to. | forward domains to. | ||||
| If this variable is not set then we rely on the pdnsd configuration file | If this variable is not set then we rely on the pdnsd configuration file | ||||
| setup to read | setup to read | ||||
| .Pa pdnsd_resolv | .Pa pdnsd_resolv | ||||
| as documented below. | as documented below. | ||||
| .It Sy pdnsd_resolv | .It Sy pdnsd_resolv | ||||
| This file tells pdnsd about global name servers. | This file tells pdnsd about global name servers. | ||||
| If this variable is not set then it's written to | If this variable is not set then it's written to | ||||
| .Pa pdnsd_conf . | .Pa pdnsd_conf . | ||||
| .Pp | .Pp | ||||
| Example resolvconf.conf for pdnsd: | Example resolvconf.conf for pdnsd: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| name_servers=127.0.0.1 | name_servers=127.0.0.1 | ||||
| pdnsd_conf=/etc/pdnsd.conf | pdnsd_conf=/etc/pdnsd.conf | ||||
| # pdnsd_resolv=/etc/pdnsd-resolv.conf | # pdnsd_resolv=/etc/pdnsd-resolv.conf | ||||
| .Ed | .Ed | ||||
| .Pp | .Pp | ||||
| Example pdnsd.conf: | Example pdnsd.conf: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| global { | global { | ||||
| server_ip = 127.0.0.1; | server_ip = 127.0.0.1; | ||||
| status_ctl = on; | status_ctl = on; | ||||
| } | } | ||||
| server { | server { | ||||
| # A server definition is required, even if empty. | # A server definition is required, even if empty. | ||||
| label="empty"; | label="empty"; | ||||
| proxy_only=on; | proxy_only=on; | ||||
| # file="/etc/pdnsd-resolv.conf"; | # file="/etc/pdnsd-resolv.conf"; | ||||
| } | } | ||||
| .Ed | .Ed | ||||
| .It Sy pdns_zones | .It Sy pdns_zones | ||||
| This file tells pdns_recursor about specific and global name servers. | This file tells pdns_recursor about specific and global name servers. | ||||
| .Pp | .Pp | ||||
| Example resolvconf.conf for pdns_recursor: | Example resolvconf.conf for pdns_recursor: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| name_servers=127.0.0.1 | name_servers=127.0.0.1 | ||||
| pdns_zones=/etc/pdns/recursor-zones.conf | pdns_zones=/etc/pdns/recursor-zones.conf | ||||
| .Ed | .Ed | ||||
| .Pp | .Pp | ||||
| Example recursor.conf: | Example recursor.conf: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| allow-from=127.0.0.0/8, ::1/128 | allow-from=127.0.0.0/8, ::1/128 | ||||
| forward-zones-file=/etc/pdns/recursor-zones.conf | forward-zones-file=/etc/pdns/recursor-zones.conf | ||||
| .Ed | .Ed | ||||
| .It Sy resolvectl | |||||
| When set to YES, | |||||
| .Xr resolvectl 1 | |||||
| will be used to write per interface entries from | |||||
| .Xr resolvconf 8 | |||||
| to | |||||
| .Xr systemd-resolved 8 . | |||||
| A warning is emitted for any entry that cannot be matched to an | |||||
| interface. | |||||
| .Pp | |||||
| This subscriber should only be used if your systemd-resolved does | |||||
| not support DNS delegates and you need private or non searchable | |||||
| .Xr resolvconf 8 | |||||
| entries, or you're really beholden to seeing DNS setup per interface via | |||||
| .Xr resolvectl 1 . | |||||
| The systemd-resolved subscriber documented below is the better option. | |||||
| .Pp | |||||
| Example resolvconf.conf for resolvectl: | |||||
| .Bd -literal -compact -offset indent | |||||
| # Keep /etc/resolv.conf as systemd-resolved wants it | |||||
| libc=NO | |||||
| resolvectl=YES | |||||
| .Ed | |||||
| .It Sy systemd_resolved | |||||
| When set to YES, global DNS will be written to the | |||||
| .Sy systemd_resolved_conf | |||||
| configuration file and DNS delegates will be written to the | |||||
| .Sy systemd_delegate_dir | |||||
| directory. | |||||
| .It Sy systemd_resolved_conf | |||||
| Defaults to | |||||
| .Pa /run/systemd/resolved.conf.d/60-resolvconf.conf . | |||||
| .It Sy systemd_delegate_dir | |||||
| Defaults to | |||||
| .Pa /run/systemd/dns-delegate.d . | |||||
| .Pp | |||||
| Example resolvconf.conf for systemd-resolved: | |||||
| .Bd -literal -compact -offset indent | |||||
| # Keep /etc/resolv.conf as systemd-resolved wants it | |||||
| libc=NO | |||||
| systemd_resolved=YES | |||||
| .Ed | |||||
| .It Sy unbound_conf | .It Sy unbound_conf | ||||
| This file tells unbound about specific and global name servers. | This file tells unbound about specific and global name servers. | ||||
| .It Sy unbound_insecure | .It Sy unbound_insecure | ||||
| When set to YES, unbound marks the domains as insecure, thus ignoring DNSSEC. | When set to YES, unbound marks the domains as insecure, thus ignoring DNSSEC. | ||||
| .It Sy unbound_private | |||||
| When set to YES, unbound marks the domains as private, allowing it and its subdomains to contain private addresses. | |||||
| .It Sy unbound_forward_zone_options | |||||
| Options appended to each forward zone. | |||||
| Each option should be separated by an embedded new line. | |||||
| .Pp | .Pp | ||||
| Example resolvconf.conf for unbound: | Example resolvconf.conf for unbound: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| name_servers=127.0.0.1 | name_servers=127.0.0.1 | ||||
| unbound_conf=/etc/unbound-resolvconf.conf | unbound_conf=/etc/unbound-resolvconf.conf | ||||
| .Ed | .Ed | ||||
| .Pp | .Pp | ||||
| Example unbound.conf: | Example unbound.conf: | ||||
| .Bd -compact -literal -offset indent | .Bd -literal -compact -offset indent | ||||
| include: /etc/unbound-resolvconf.conf | include: /etc/unbound-resolvconf.conf | ||||
| .Ed | .Ed | ||||
| .El | .El | ||||
| .Sh SUBSCRIBER INTEGRATION | .Sh SUBSCRIBER INTEGRATION | ||||
| Not all distributions store the files the subscribers need in the same | Not all distributions store the files the subscribers need in the same | ||||
| locations. | locations. | ||||
| For example, named service scripts have been called named, bind and rc.bind | For example, named service scripts have been called named, bind and rc.bind | ||||
| and they could be located in a directory called /etc/rc.d, /etc/init.d or | and they could be located in a directory called /etc/rc.d, /etc/init.d or | ||||
| Show All 37 Lines | |||||
| .Xr resolv.conf 5 , | .Xr resolv.conf 5 , | ||||
| .Xr resolvconf 8 | .Xr resolvconf 8 | ||||
| .Sh AUTHORS | .Sh AUTHORS | ||||
| .An Roy Marples Aq Mt roy@marples.name | .An Roy Marples Aq Mt roy@marples.name | ||||
| .Sh BUGS | .Sh BUGS | ||||
| Each distribution is a special snowflake and likes to name the same thing | Each distribution is a special snowflake and likes to name the same thing | ||||
| differently, namely the named service script. | differently, namely the named service script. | ||||
| .Pp | .Pp | ||||
| Swapping between resolvectl and systemd-resolved subscribers at runtime | |||||
| is not supported. | |||||
| Files referenced by systemd_resolved_conf and systemd_delegate_dir | |||||
| need to be removed by hand. | |||||
| A reboot is recommended so that stale data is removed. | |||||
| While you could run them both at the same time, only using one is the | |||||
| recommended approach. | |||||
| .Pp | |||||
| Please report them to | Please report them to | ||||
| .Lk http://roy.marples.name/projects/openresolv | .Lk https://roy.marples.name/projects/openresolv | ||||