AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1076266
Accepted
p.g.
p.g.
Asked: 2021-09-02 01:53:17 +0800 CST2021-09-02 01:53:17 +0800 CST 2021-09-02 01:53:17 +0800 CST

bind9:当互联网连接断开时,转发到本地名称服务器不起作用

  • 772

我有以下设置:

非常有限的硬件上的 bind9 实例(以下称为 L),用于解析本地网络上的名称。它是 home.mydomain.com 区域的权威大师。对该服务器的查询工作并将 homedns.home.mydomian.com 作为 NS 返回,并将其 IP 192.168.1.77 作为附加记录返回。

用于解析 Internet 和本地名称的 bind9 实例(以下称为 M)。这里没有使用全局转发选项。配置了一个转发区域:

zone "home.mydomain.com" in {
        type forward;
        forward only;
        forwarders { 192.168.1.77; };
};

注意 1:mydomain.com 是一个现有的注册域,但没有 home.mydomain.com 的记录

注2:M的bind9版本很老:9.8.1-P1

只要互联网连接正常,此设置就可以工作,但当连接断开时,本地名称查询不会得到答复。日志是 syslog 是

Aug 30 09:05:42 M named[1611]: error (no valid DS) resolving 'xxx.home.mydomain.com/A/IN': 192.168.1.77#53

当连接建立时捕获网络以成功解析表明 M 在收到 L 的回答后在 Internet 上查询 mydomain.com。在 M 给客户端的回答中,AUTHORITY SECTION 已更改:

挖到L:

;; ANSWER SECTION:
syslog.home.mydomain.com. 3600  IN      A       192.168.1.99

;; AUTHORITY SECTION:
home.mydomain.com.        3600  IN      NS      homedns.home.mydomain.com.

;; ADDITIONAL SECTION:
homedns.home.mydomain.com. 3600 IN      A       192.168.1.77

挖到M:

;; ANSWER SECTION:
syslog.home.mydomain.com. 2134  IN      A       192.168.1.99

;; AUTHORITY SECTION:
net.                    171334  IN      NS      j.gtld-servers.net.
net.                    171334  IN      NS      m.gtld-servers.net.
net.                    171334  IN      NS      i.gtld-servers.net.
net.                    171334  IN      NS      k.gtld-servers.net.
net.                    171334  IN      NS      g.gtld-servers.net.
net.                    171334  IN      NS      e.gtld-servers.net.
net.                    171334  IN      NS      h.gtld-servers.net.
net.                    171334  IN      NS      a.gtld-servers.net.
net.                    171334  IN      NS      d.gtld-servers.net.
net.                    171334  IN      NS      f.gtld-servers.net.
net.                    171334  IN      NS      b.gtld-servers.net.
net.                    171334  IN      NS      c.gtld-servers.net.
net.                    171334  IN      NS      l.gtld-servers.net.

我不明白为什么 M 不只是将 L 的答案返回给客户端,而且我没有任何想法,我可以尝试避免向 Internet 查询转发区域。

domain-name-system bind forwarding dns-zone
  • 1 1 个回答
  • 141 Views

1 个回答

  • Voted
  1. Best Answer
    Håkan Lindqvist
    2021-09-02T07:20:12+08:002021-09-02T07:20:12+08:00

    问题中引用的日志条目表明该错误与没有 Internet 连接时 DNSSEC 验证失败有关。

    请注意错误消息的“无有效 DS”部分:

    Aug 30 09:05:42 M named[1611]: error (no valid DS) resolving 'xxx.home.example.com/A/IN': 192.168.1.77#53
    

    推测到达该前向区域的查询的答案通常仅因为公共example.com区域作为未签名区域存在(即,DS作为正确区域委托的一部分存在不证明example.com)而被接受,但是当无法再获取该证明时因为没有互联网连接,答案不再被接受,因为不再可能验证这些是否/如何必须签名。

    一种选择是签署区域并专门为此区域home.example.com添加静态信任锚。

    另一个是选择性地禁用验证;当前 BIND 有一个validate-except选项,允许您指定不应执行验证的域名列表,如下所示:

    validate-except

    这指定了不应执行 DNSSEC 验证的域名列表,无论这些名称处或上方是否存在信任锚。例如,当配置仅用于本地使用的顶级域时,可以使用此功能,这样根区域中该域的安全委派不会导致验证失败。(这类似于设置负信任锚,只是它是永久配置,而负信任锚会在设定的时间段后过期并被删除。)

    还有可能使用该dnssec-validation选项完全禁用验证,如果此 BIND 实例比此特定转发具有更广泛的用途,我不建议这样做。

    (请注意,我已将问题中使用的域名替换为,example.com因为该问题似乎不太可能与其引用的域名或拥有它的企业有任何关系。)

    • 0

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve