為什麼我無法使用特定 DNS 存取特定主機?

為什麼我無法使用特定 DNS 存取特定主機?

我正在嘗試發送一些訊息至www2.agenciatributaria.gob.es。我可以從多個主機執行此操作,但只有一個。

從這個我得到了錯誤名稱解析暫時失敗。然而,從同一台主機我可以通過其預設 DNS 到達許多其他伺服器(我可以 pingwww.google.es, ETC)。

所以我用 dig 來檢查發生了什麼事。如果我執行dig www2.agenciatributaria.gob.es,則在 127.0.0.53 上透過 DNS 搜尋遠端主機的 IP,結果是錯誤的(但是,如果我繼續挖掘,結果是成功的)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 存在一些問題。有人能幫我一下嗎?我該如何解決這個問題或我現在應該檢查什麼?

解析狀態

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上的警告,因為您將無法對這些警告執行任何操作,並且它們不會阻止解決方案。esgob.es

但是,請閱讀有關設定不匹配的警告NS,這意味著您處於蹩腳的委派情況。這會產生直接影響,即您的結果將取決於您詢問的名稱伺服器,並且可能在 50% 或更多的情況下是錯誤的。

透過確保您的父母 ( gob.es) 列出與您相同的權威伺服器來修復您的 DNS 設定:

$ 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)的答案所描述的那樣,您正在查找的域名仍然被破壞,因此這只是一個解決方法。

相關內容