我正在尝试发送一些信息给www2.agenciatributaria.gob.es。我可以从多个主机执行此操作,但只能从一个主机执行。
从这一个我得到错误名称解析暂时失败。但是,从同一台主机,我可以通过其默认 DNS 访问许多其他服务器(我可以 pingwww.google.es, ETC)。
因此我使用 dig 来检查发生了什么。如果我执行dig www2.agenciatributaria.gob.es
,DNS 会在 127.0.0.53 上搜索远程主机的 IP,结果会出错(尽管如此,如果我继续 dig ,结果还是成功的。www.google.es):
; <<>> DiG 9.16.1-Ubuntu <<>> www2.agenciatributaria.gob.es
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 58113
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www2.agenciatributaria.gob.es. IN A
;; Query time: 7 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Sep 27 09:17:00 UTC 2021
;; MSG SIZE rcvd: 58
另一方面,如果我执行dig +norecurse @8.8.8.8 www2.agenciatributaria.gob.es
,使用 8.8.8.8 上的 DNS 搜索远程主机的 IP,结果是成功的:
; <<>> DiG 9.16.1-Ubuntu <<>> +norecurse @8.8.8.8 www2.agenciatributaria.gob.es
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31565
;; flags: qr ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www2.agenciatributaria.gob.es. IN A
;; ANSWER SECTION:
www2.agenciatributaria.gob.es. 201 IN A 195.77.198.18
;; Query time: 0 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Mon Sep 27 09:16:28 UTC 2021
;; MSG SIZE rcvd: 74
我不是这方面的专家。但我猜只有该域的 DNS 有问题。有人能帮我吗?我该如何解决这个问题或者我现在应该检查什么?
resolvectl 状态
Global
LLMNR setting: no
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
d.f.ip6.arpa
home
internal
intranet
lan
local
private
test
Link 2 (ens3)
Current Scopes: DNS
DefaultRoute setting: yes
LLMNR setting: yes
MulticastDNS setting: no
DNSOverTLS setting: no
DNSSEC setting: no
DNSSEC supported: no
Current DNS Server: 213.186.33.99
DNS Servers: 213.186.33.99
DNS Domain: openstacklocal
答案1
您的域名配置不正确,请参阅https://dnsviz.net/d/www2.agenciatributaria.gob.es/YVHoZA/dnssec/
您可以忽略警告,因为您无法对这些警告采取任何措施,而且它们也不会阻止解决方案DS
。es
gob.es
但是,请阅读有关设置不匹配的警告NS
,这意味着您处于一个不合格的委派情况。这直接导致您的结果将取决于您询问的名称服务器,并且错误率可能达到 50% 或更多。
修复你的 DNS 设置,确保你的父母 ( gob.es
) 列出的服务器与你一样具有权威性:
$ dig gob.es NS +short
c.nic.es.
fnicdos.rediris.es.
n3ns.nic.es.
h.nic.es.
g.nic.es.
$ dig agenciatributaria.gob.es NS @c.nic.es +noall +auth
agenciatributaria.gob.es. 1d IN NS ns3chos01.telefonica-data.com.
agenciatributaria.gob.es. 1d IN NS nsjc8hos01.telefonica-data.com.
$ dig agenciatributaria.gob.es NS @nsjc8hos01.telefonica-data.com. +short
nsalchos01.telefonica-data.com.
nsjc8hos01.telefonica-data.com.
这两组NS
记录不匹配,但它们必须匹配才能获得正确的 DNS 解析。
答案2
您的本地解析器配置为将 DNS 查询转发到 213.186.33.99,这是 OVH 向其客户提供的 DNS 服务器。查询此服务器直接显示它正在报告失败。
$ host www2.agenciatributaria.gob.es 213.186.33.99
Using domain server:
Name: 213.186.33.99
Address: 213.186.33.99#53
Aliases:
Host www2.agenciatributaria.gob.es not found: 2(SERVFAIL)
编辑您的/etc/resolv.conf
以提供另一组名称服务器,然后重试。请记住,您正在查找的域名仍然有问题,正如 Patrick Mevzek 的回答所述,所以这只是一种解决方法。