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 / 问题 / 1169581
Accepted
Nick Williams
Nick Williams
Asked: 2024-12-29 09:46:44 +0800 CST2024-12-29 09:46:44 +0800 CST 2024-12-29 09:46:44 +0800 CST

PowerDNS Recursor 服务器昨晚停止解析大约一半的域名;我建立了一个新服务器,它仍然在做同样的事情

  • 772

我有一个现有的 PowerDNS Recursor 4.0.4 服务器,运行在 Debian Jessie 8 上(我知道,我知道,已经过时了……我马上就来)。它处理我家庭实验室网络的所有 DNS 请求。它的配置相当简单,并且已经连续工作了好几年,没有中断过。它还配置为验证并成功验证了所有 DNSSEC。

昨晚午夜刚过,它停止解析全球大约一半的域名,然后SERVFAIL又返回。有时它会解析主域名(例如athenahealth.com),但不会解析子域名(例如20785-1.portal.athenahealth.com)。有时它不会解析主域名(例如serverfault.com或askubuntu.com)。我找不到任何模式,无论我如何修改配置(包括完全关闭 DNSSEC),都无法解决问题。

我的下一个想法是我需要升级 PowerDNS Recursor,但由于我的 DNS 服务器太旧,我无法升级。因此,我在 Ubuntu 24.04.1 上构建了一个运行 PowerDNS Recursor 5.1.3 的全新服务器。同样,配置很简单。这是主要文件:

$ cat /etc/powerdns/recursor.conf 
dnssec:
  # validation: process # default
  trustanchorfile: /usr/share/dns/root.key
recursor:
  hint_file: /usr/share/dns/root.hints
  include_dir: /etc/powerdns/recursor.d
#incoming:
 # listen:
 # - 127.0.0.1 # default
#outgoing:
 # source_address:
 # - 0.0.0.0 # default

这是一个文件recursor.d:

$ cat /etc/powerdns/recursor.d/me.yml 
dnssec:
  validation: off # validate
#  log_bogus: true
incoming:
  listen:
    - 10.20.30.76:53
logging:
  common_errors: true
  facility: 1
  loglevel: 6
  quiet: true
  trace: fail
recursor:
  auth_zones:
    - zone: my-domain-1.com
      file: /etc/powerdns/my-domain-1.com.zone
  forward_zones:
    - zone: my-domain-2.com
      forwarders:
        - 10.20.31.2
  setgid: pdns
  setuid: pdns
  socket_dir: /var/run
  write_pid: true
webservice:
  address: 10.20.30.76
  allow_from:
    - 10.20.30.0/24
    - 172.24.52.0/24
  api_key: loremipsum
  password: foobarbazqux
  port: 8080

此配置与我以前的 PowerDNS Recursor 配置相同,只是禁用了 DNSSEC 以尝试使其正常工作。如果我从根目录开始手动dig(我喜欢dig)askubuntu.com,我很容易找到答案:

# Using i.root-servers.net is 192.36.148.17
$ dig @192.36.148.17 com NS

; <<>> DiG 9.10.6 <<>> @192.36.148.17 com NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2217
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 21

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;com.               IN  NS

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

;; ADDITIONAL SECTION:
b.gtld-servers.net. 43604   IN  A   192.33.14.30
b.gtld-servers.net. 71837   IN  AAAA    2001:503:231d::2:30
l.gtld-servers.net. 44115   IN  A   192.41.162.30
l.gtld-servers.net. 74612   IN  AAAA    2001:500:d937::30
a.gtld-servers.net. 59944   IN  A   192.5.6.30
a.gtld-servers.net. 52029   IN  AAAA    2001:503:a83e::2:30
e.gtld-servers.net. 11582   IN  A   192.12.94.30
e.gtld-servers.net. 63219   IN  AAAA    2001:502:1ca1::30
m.gtld-servers.net. 27782   IN  A   192.55.83.30
m.gtld-servers.net. 50020   IN  AAAA    2001:501:b1f9::30
j.gtld-servers.net. 39663   IN  A   192.48.79.30
h.gtld-servers.net. 79936   IN  A   192.54.112.30
g.gtld-servers.net. 57527   IN  A   192.42.93.30
g.gtld-servers.net. 63219   IN  AAAA    2001:503:eea3::30
d.gtld-servers.net. 44435   IN  A   192.31.80.30
d.gtld-servers.net. 10633   IN  AAAA    2001:500:856e::30
c.gtld-servers.net. 50185   IN  A   192.26.92.30
k.gtld-servers.net. 32146   IN  A   192.52.178.30
i.gtld-servers.net. 48002   IN  A   192.43.172.30
i.gtld-servers.net. 27967   IN  AAAA    2001:503:39c1::30

$ dig @192.33.14.30 askubuntu.com NS

; <<>> DiG 9.10.6 <<>> @192.33.14.30 askubuntu.com NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46168
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 13

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;askubuntu.com.         IN  NS

;; ANSWER SECTION:
askubuntu.com.      86400   IN  NS  sureena.ns.cloudflare.com.
askubuntu.com.      86400   IN  NS  damian.ns.cloudflare.com.

;; ADDITIONAL SECTION:
damian.ns.cloudflare.com. 48087 IN  A   172.64.35.50
damian.ns.cloudflare.com. 48087 IN  A   162.159.44.50
damian.ns.cloudflare.com. 48087 IN  A   108.162.195.50
damian.ns.cloudflare.com. 13178 IN  AAAA    2803:f800:50::6ca2:c332
damian.ns.cloudflare.com. 13178 IN  AAAA    2606:4700:58::a29f:2c32
damian.ns.cloudflare.com. 13178 IN  AAAA    2a06:98c1:50::ac40:2332
sureena.ns.cloudflare.com. 38809 IN A   108.162.194.126
sureena.ns.cloudflare.com. 38809 IN A   172.64.34.126
sureena.ns.cloudflare.com. 38809 IN A   162.159.38.126
sureena.ns.cloudflare.com. 32427 IN AAAA    2a06:98c1:50::ac40:227e
sureena.ns.cloudflare.com. 32427 IN AAAA    2803:f800:50::6ca2:c27e
sureena.ns.cloudflare.com. 32427 IN AAAA    2606:4700:50::a29f:267e

$ dig @172.64.35.50 askubuntu.com A

; <<>> DiG 9.10.6 <<>> @172.64.35.50 askubuntu.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35705
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;askubuntu.com.         IN  A

;; ANSWER SECTION:
askubuntu.com.      300 IN  A   172.64.150.156
askubuntu.com.      300 IN  A   104.18.37.100

完美。但是如果我询问我现有的 PowerDNS Recursor 4.0.4 服务器或我的新 PowerDNS Recursor 5.1.3 服务器,我会得到SERVFAIL:

$ dig @10.20.30.76 askubuntu.com A

; <<>> DiG 9.10.6 <<>> @10.20.30.76 askubuntu.com A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58213
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
; OPT=15: 00 16 64 65 6c 65 67 61 74 69 6f 6e 20 63 6f 6d ("..delegation com")
;; QUESTION SECTION:
;askubuntu.com.         IN  A

OPT=15带有某种签名加号的行很delegation com有趣。这种情况不会发生在每个无法解析的域上,因此它可能是一个转移注意力的借口(并且它会发生变化……例如再次运行相同的查询会导致OPT=15: 00 16 64 65 6c 65 67 61 74 69 6f 6e 20 61 73 6b 75 62 75 6e 74 75 2e 63 6f 6d ("..delegation askubuntu.com"))。

以下是 PowerDNS Recursor 5.1.3 查找失败的跟踪信息askubuntu.com: https: //gist.github.com/beamerblvd/d8fa24bdf1037e2a670f8e331b7e4905

值得一提的是,我在康卡斯特商务舱拥有 5 个地址的静态 IP 委派。

我做错什么了?

powerdns
  • 1 1 个回答
  • 39 Views

1 个回答

  • Voted
  1. Best Answer
    Nick Williams
    2024-12-29T10:25:57+08:002024-12-29T10:25:57+08:00

    最终,在为此绞尽脑汁 12 个小时后,这个页面上关于康卡斯特“SecurityEdge”产品的评论帮助了我。我登录了康卡斯特商业账户,进入我的互联网服务选项卡,滚动到底部,禁用了昨晚神奇地启用的 SecurityEdge 产品。突然间,我的所有 DNS 又恢复正常了。毕竟我并没有做错什么。是康卡斯特做错了。

    事实证明,他们的 SecurityEdge 产品会拦截所有 DNS 请求,甚至是直接向权威服务器发出的请求,并插入他们自己的响应,这会导致看似权威但实际上并非权威的服务器发出毫无意义的答案。

    保留这个问题以便将来能够帮助到其他人。

    • 0

相关问题

  • 75.75.75.75(康卡斯特 DNS)无法解析 ironpawsllc.com

  • PowerDNS Slave 拒绝接收通知 notify Refused-*

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