不受约束的本地区域和本地数据:我做对了吗?

不受约束的本地区域和本地数据:我做对了吗?

我正在尝试unbound将 DNS 查询转发到权威 DNS 服务器,缓存它们,并添加其他本地信息。我的配置非常简单:

/etc/unbound/unbound.conf

server:
  ... # all default settings
  include: "/etc/unbound/unbound.conf.d/*.conf"

forward-zone:
  name: "."
  forward-addr: 1.1.1.1   # authoritative server

然后我想local-data在几个中添加一些local-zone,例如:

/etc/unbound/unbound.conf.d/foobar.org.conf

server:
  local-zone: "foobar.org." transparent
  local-data: "foobar.org. 3600 IN SOA admin.foobar.org. admin.foobar.org. 1710435698 86400 3600 3600000 300"
  local-data: "foobar.org. 3600 IN NS admin."
  local-data: "foobar.org. 3600 IN MX 0 foobar.org"
  local-data: "foobar.org. 3600 IN A 12.34.56.78"  
  local-data: 'system.at.foobar.org. 14400 IN TXT "[email protected]"'
  local-data: "private.foobar.org. 3600 IN A 10.0.1.2"
  local-data-ptr: "10.0.1.2 private.foobar.org."
  local-data: "public.foobar.org. 3600 IN A 98.76.54.32"
  local-data-ptr: "98.76.54.32 public.foobar.org."  
  ...

此设置按预期工作。local-data记录已得到很好的解决,PTRTXT等也是如此。

但这真的是unbound需要配置的方式吗?local-zonelocal-data

如果我将此设置与“经典”bind区域文件进行比较:

$ORIGIN foobar.org.
$TTL    3600
@   IN  SOA admin.foobar.org. admin.foobar.org. (
        1710435698      ; Serial
        86400           ; Refresh
        3600            ; Retry
        3600000         ; Expire
        300 )           ; Negative Cache TTL
@       IN  NS  admin.
@       IN  MX 0    foobar.org.
@       IN  A   12.34.56.78
system.at           IN  TXT "[email protected]"
private             IN  A   10.0.1.2
public              IN  A   98.76.54.32

在此bind区域:

  • 我不必为每条记录重复 TTL
  • 我不必重复搜索记录的区域名称
  • 对于每条记录,我知道他们是区域的一部分

所以我的问题是:我的设置是否正确,或者我是否错过了配置& ; 和将记录链接到区域的unbound方法?local-zonelocal-data

答案1

local-data选项不使用“经典”区域文件,因为它从未打算托管区域。Unbound 首先是一个缓存解析器(旨在与 NSD 一起用于权威托管);您使用的选项只是为了让您覆盖DNS 会逐个名称地进行回复。(这就是为什么会有“透明”之类的本地区域模式——普通的权威区域不会这样做。)

所以是的,这是需要配置的方式local-data,因为您试图让它做一些它实际上不适合做的事情。

Unbound 的当前版本(显然从 1.7.x 开始)确实支持权威托管,但您可以使用单独的auth-zone:部分对其进行配置:

auth-zone:
    name: "example.com"
    zonefile: "example.com.zone"
    for-downstream: yes
    for-upstream: yes

相关内容