dns - BIND 9.9 显示的 ADDITIONAL SECTION 数量是否错误?

标签 dns named dig

我使用 BIND 9.9.4 并看到以下问题。

dig 命令向我们显示 ADDITIONAL 部分中有 2 条记录:

ADDITIONAL: 2

但它实际上只向我们显示了响应中的 1 条记录:

;; ADDITIONAL SECTION:
 dns1.example.net.  3600    IN  A   127.0.0.1

示例: 通过此链接:https://kb.isc.org/article/AA-00711/0/In-line-Signing-With-NSEC3-in-BIND-9.9-A-Walk-through.html#informer

root:/etc/namedb/keys# dig @127.0.0.1 foo.example.net any

  ; <<>> DiG 9.9.1-P1 <<>> @127.0.0.1 foo.example.net any
  ; (1 server found)
  ;; global options: +cmd
  ;; Got answer:
  ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20991
  ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

  ;; OPT PSEUDOSECTION:
  ; EDNS: version: 0, flags:; udp: 4096
  ;; QUESTION SECTION:
  ;foo.example.net.     IN  ANY

  ;; ANSWER SECTION:
  foo.example.net.  3600    IN  A   192.168.10.10

  ;; AUTHORITY SECTION:
  example.net.      86400   IN  NS  dns1.example.net.

  ;; ADDITIONAL SECTION:
  dns1.example.net. 3600    IN  A   127.0.0.1

  ;; Query time: 0 msec
  ;; SERVER: 127.0.0.1#53(127.0.0.1)
  ;; WHEN: Mon Jun 11 16:34:26 2012
  ;; MSG SIZE  rcvd: 95

最佳答案

从技术上讲,这不是一个错误,而是令人困惑的演示。在 9.9 中,dig 开始默认打开 EDNS(0),因此响应会在附加部分返回 OPT 记录。 OPT 没有定义的文本输出格式,因此它不会打印为记录;你能知道它在那里的唯一方法是在顶部附近寻找“OPT PSEUDOSECTION”字样。但它附加部分中的一条额外记录,因此您看到的计数是正确的。

如果您在 9.8 中使用“dig +edns=0”或在 9.9 中使用“dig +noedns”,计数将匹配。

关于dns - BIND 9.9 显示的 ADDITIONAL SECTION 数量是否错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19047810/

相关文章:

networking - 为什么dig命令只返回google.com的一个IP地址?

azure - 如何仅在 Azure 中托 pipe 域,而在其他地方托管主域?

javascript - ajax跨域请求

linux - 四级域名末尾带下划线的网站无法访问

java - 保存域对象基本审计数据的简便方法?

haskell - 如何访问haskell中的新类型命名元组字段

java - 扩展@Named @SessionScoped bean

dns - 搜索域和子域的所有 DNS TXT 记录

c - 打开 FIFO 进行写入返回 "No such device or address"

regex - 如何使用 dig 控制 bash 中的 de 输出?