openresolv
openresolv 是一个 resolvconf 的实现,即一个 resolv.conf 管理框架。
虽然 openresolv 最为人所知的是允许多个应用程序修改 /etc/resolv.conf
,但它目前是实现以下功能的唯一标准方法
- DNS 解析器的动态控制(glibc 除外),
- 动态 条件转发。
提示: 替代实现是 systemd-resolvconf,但它只能与 systemd-resolved 一起使用。
安装
安装 openresolv 软件包。
用法
openresolv 提供了 resolvconf(8),并在 /etc/resolvconf.conf
中配置。请参阅 resolvconf.conf(5) 以了解支持的选项。
运行 resolvconf -u
将生成 /etc/resolv.conf
。
用户
DHCP 客户端
- dhcpcd 有一个钩子,如果安装了 resolvconf,它会使用它。
- iwd#启用内置网络配置
- netctl(默认使用)
- NetworkManager#使用 openresolv(仅限于单个接口)
VPN 客户端
订阅者
openresolv 可以配置为将名称服务器和搜索域传递给 DNS 解析器。支持的解析器有
请参阅 官方文档 获取说明。
技巧与诀窍
为选项定义多个值
手册页没有提及,但是要为支持它的选项(例如 name_servers
、resolv_conf_options
等)在 /etc/resolvconf.conf
中定义多个值,您需要将它们用空格分隔写在引号内。例如:
/etc/resolvconf.conf
resolv_conf_options="edns0 single-request" name_servers="192.168.35.1 fd7b:d0bd:7a6e::1"