为了进行本地 DNSSEC 验证,我使用 Raspian Jessie 设置了 Raspberry Pi(具有静态 IP),并且不受约束地为我的 LAN 提供 DNS 服务器。
在查阅了一些教程和操作方法之后,我想出了这个似乎可行的配置:
# Unbound configuration file for Debian.
#
# See the unbound.conf(5) man page.
#
# See /usr/share/doc/unbound/examples/unbound.conf for a commented
# reference config file.
#
# The following line includes additional configuration files from the
# /etc/unbound/unbound.conf.d directory.
include: "/etc/unbound/unbound.conf.d/*.conf"
server:
verbosity: 1
interface: 0.0.0.0
interface: ::0
access-control: 192.168.0.0/24 allow
hide-identity: yes
hide-version: yes
harden-glue: yes
harden-dnssec-stripped: yes
我曾经dig
针对其 DNSSEC 功能运行了一些测试,验证工作符合预期。
由于我过去设置了 DNSSEC 验证服务器,我想知道 unbound 使用哪些上游服务器来处理 DNS 请求。如您在我的配置中看到的,我没有设置任何上游/委托服务器,但它似乎仍然有效。
是否存在某些硬编码的根服务器,unbound 正在查询以获取请求的 DNS 数据,或者它如何工作?
我的 DHCP 服务器(也是我的路由器)设置为使用 Raspberry Pi 作为 DNS 服务器并将其提供给其客户端。
我也检查过了/etc/resolv.conf
但它只列出了localhost
由 生成的 (IPv4 和 IPv6) resolvconf
。
有趣的是,resolvconf
似乎创建了一个文件,在/var/cache/unbound/resolvconf_resolvers.conf
其中写入了我要查找的转发区域,但forward-addr
不应该起作用,因为它是路由器的地址,路由器又将请求转发到 Pi。我通过停止未绑定的服务(导致该地址不再返回任何结果)并将其重新打开(再次返回结果)来检查。
以下是该文件的内容:
# Generated by resolvconf
forward-zone:
name: "."
forward-addr: 2001:beef:beef: ... :abcd # my router's IPv6 address
答案1
它使用根服务器并从那里向下工作。