Cercando di capire l'incoerenza della risoluzione DNS

Sto usando un problema di DNS in cui sono entrato per aiutarmi a capire meglio la risoluzione dei DNS. Non riesco a capire l'incongruenza che vedo quando risolve www.fandompost.com. Nella parte superiore della mia list di query è OpenDNS. Quando interrogato restituiranno un ip appropriato. Avanti nell'elenco è il nostro server DNS interno. Restituisce informazioni utili ma non un IP utile. Infine mi interroga l'autorevole NS. Ancora, invece di OpenDNS, il risultato finale non è un IP utilizzabile. C'è qualcosa che ho fatto / abbiamo fatto male con il nostro server DNS interno che fa sì che il nostro server non riesca se OpenDNS ha successo?

> www.fandompost.com. Server: [208.67.222.222] Address: 208.67.222.222 ------------ SendRequest(), len 36 HEADER: opcode = QUERY, id = 45, rcode = NOERROR header flags: query questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = A, class = IN ------------ ------------ Got answer (119 bytes): HEADER: opcode = QUERY, id = 45, rcode = NOERROR header flags: response, recursion avail. questions = 1, answers = 3, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = A, class = IN ANSWERS: -> www.fandompost.com type = CNAME, class = IN, dlen = 39 canonical name = www.fandompost.com.cdn.cloudflare.net ttl = 0 (0 secs) -> www.fandompost.com.cdn.cloudflare.net type = A, class = IN, dlen = 4 internet address = 108.162.206.239 ttl = 0 (0 secs) -> www.fandompost.com.cdn.cloudflare.net type = A, class = IN, dlen = 4 internet address = 108.162.205.239 ttl = 0 (0 secs) ------------ Non-authoritative answer: ------------ SendRequest(), len 36 HEADER: opcode = QUERY, id = 46, rcode = NOERROR header flags: query questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = AAAA, class = IN ------------ ------------ Got answer (36 bytes): HEADER: opcode = QUERY, id = 46, rcode = SERVFAIL header flags: response, recursion avail. questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = AAAA, class = IN ------------ Name: www.fandompost.com.cdn.cloudflare.net Addresses: 108.162.206.239 108.162.205.239 Aliases: www.fandompost.com 

 > www.fandompost.com. Server: [192.168.1.101] Address: 192.168.1.101 ------------ SendRequest(), len 36 HEADER: opcode = QUERY, id = 48, rcode = NOERROR header flags: query questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = A, class = IN ------------ ------------ Got answer (162 bytes): HEADER: opcode = QUERY, id = 48, rcode = NOERROR header flags: response, recursion avail. questions = 1, answers = 0, authority records = 3, additional = 3 QUESTIONS: www.fandompost.com, type = A, class = IN AUTHORITY RECORDS: -> fandompost.com type = NS, class = IN, dlen = 16 nameserver = ns1.dreamhost.com ttl = 84200 (23 hours 23 mins 20 secs) -> fandompost.com type = NS, class = IN, dlen = 6 nameserver = ns2.dreamhost.com ttl = 84200 (23 hours 23 mins 20 secs) -> fandompost.com type = NS, class = IN, dlen = 6 nameserver = ns3.dreamhost.com ttl = 84200 (23 hours 23 mins 20 secs) ADDITIONAL RECORDS: -> ns1.dreamhost.com type = A, class = IN, dlen = 4 internet address = 66.33.206.206 ttl = 84581 (23 hours 29 mins 41 secs) -> ns2.dreamhost.com type = A, class = IN, dlen = 4 internet address = 208.97.182.10 ttl = 84581 (23 hours 29 mins 41 secs) -> ns3.dreamhost.com type = A, class = IN, dlen = 4 internet address = 66.33.216.216 ttl = 84581 (23 hours 29 mins 41 secs) ------------ ------------ SendRequest(), len 36 HEADER: opcode = QUERY, id = 49, rcode = NOERROR header flags: query questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = AAAA, class = IN ------------ ------------ Got answer (162 bytes): HEADER: opcode = QUERY, id = 49, rcode = NOERROR header flags: response, recursion avail. questions = 1, answers = 0, authority records = 3, additional = 3 QUESTIONS: www.fandompost.com, type = AAAA, class = IN AUTHORITY RECORDS: -> fandompost.com type = NS, class = IN, dlen = 16 nameserver = ns2.dreamhost.com ttl = 84200 (23 hours 23 mins 20 secs) -> fandompost.com type = NS, class = IN, dlen = 6 nameserver = ns3.dreamhost.com ttl = 84200 (23 hours 23 mins 20 secs) -> fandompost.com type = NS, class = IN, dlen = 6 nameserver = ns1.dreamhost.com ttl = 84200 (23 hours 23 mins 20 secs) ADDITIONAL RECORDS: -> ns2.dreamhost.com type = A, class = IN, dlen = 4 internet address = 208.97.182.10 ttl = 84581 (23 hours 29 mins 41 secs) -> ns3.dreamhost.com type = A, class = IN, dlen = 4 internet address = 66.33.216.216 ttl = 84581 (23 hours 29 mins 41 secs) -> ns1.dreamhost.com type = A, class = IN, dlen = 4 internet address = 66.33.206.206 ttl = 84581 (23 hours 29 mins 41 secs) ------------ Name: www.fandompost.com Served by: - ns1.dreamhost.com 66.33.206.206 fandompost.com - ns2.dreamhost.com 208.97.182.10 fandompost.com - ns3.dreamhost.com 66.33.216.216 fandompost.com 

 > www.fandompost.com. Server: [66.33.206.206] Address: 66.33.206.206 ------------ SendRequest(), len 36 HEADER: opcode = QUERY, id = 51, rcode = NOERROR header flags: query questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = A, class = IN ------------ ------------ Got answer (148 bytes): HEADER: opcode = QUERY, id = 51, rcode = NXDOMAIN header flags: response, auth. answer questions = 1, answers = 1, authority records = 1, additional = 0 QUESTIONS: www.fandompost.com, type = A, class = IN ANSWERS: -> www.fandompost.com type = CNAME, class = IN, dlen = 39 canonical name = www.fandompost.com.cdn.cloudflare.net ttl = 300 (5 mins) AUTHORITY RECORDS: -> cloudflare.net type = SOA, class = IN, dlen = 49 ttl = 14400 (4 hours) primary name server = ns1.dreamhost.com responsible mail addr = hostmaster.dreamhost.com serial = 2014071000 refresh = 14908 (4 hours 8 mins 28 secs) retry = 1800 (30 mins) expire = 1814400 (21 days) default TTL = 14400 (4 hours) ------------ ------------ SendRequest(), len 36 HEADER: opcode = QUERY, id = 52, rcode = NOERROR header flags: query questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com, type = AAAA, class = IN ------------ ------------ Got answer (148 bytes): HEADER: opcode = QUERY, id = 52, rcode = NXDOMAIN header flags: response, auth. answer questions = 1, answers = 1, authority records = 1, additional = 0 QUESTIONS: www.fandompost.com, type = AAAA, class = IN ANSWERS: -> www.fandompost.com type = CNAME, class = IN, dlen = 39 canonical name = www.fandompost.com.cdn.cloudflare.net ttl = 300 (5 mins) AUTHORITY RECORDS: -> cloudflare.net type = SOA, class = IN, dlen = 49 ttl = 14400 (4 hours) primary name server = ns1.dreamhost.com responsible mail addr = hostmaster.dreamhost.com serial = 2014071000 refresh = 14908 (4 hours 8 mins 28 secs) retry = 1800 (30 mins) expire = 1814400 (21 days) default TTL = 14400 (4 hours) ------------ *** [66.33.206.206] can't find www.fandompost.com.: Non-existent domain ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------ > www.fandompost.com.cdn.cloudflare.net. Server: [66.33.206.206] Address: 66.33.206.206 ------------ SendRequest(), len 55 HEADER: opcode = QUERY, id = 55, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com.cdn.cloudflare.net, type = A, class = IN ------------ ------------ Got answer (119 bytes): HEADER: opcode = QUERY, id = 55, rcode = NXDOMAIN header flags: response, auth. answer, want recursion questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: www.fandompost.com.cdn.cloudflare.net, type = A, class = IN AUTHORITY RECORDS: -> cloudflare.net type = SOA, class = IN, dlen = 52 ttl = 14400 (4 hours) primary name server = ns1.dreamhost.com responsible mail addr = hostmaster.dreamhost.com serial = 2014071000 refresh = 14908 (4 hours 8 mins 28 secs) retry = 1800 (30 mins) expire = 1814400 (21 days) default TTL = 14400 (4 hours) ------------ ------------ SendRequest(), len 55 HEADER: opcode = QUERY, id = 56, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: www.fandompost.com.cdn.cloudflare.net, type = AAAA, class = IN ------------ ------------ Got answer (119 bytes): HEADER: opcode = QUERY, id = 56, rcode = NXDOMAIN header flags: response, auth. answer, want recursion questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: www.fandompost.com.cdn.cloudflare.net, type = AAAA, class = IN AUTHORITY RECORDS: -> cloudflare.net type = SOA, class = IN, dlen = 52 ttl = 14400 (4 hours) primary name server = ns1.dreamhost.com responsible mail addr = hostmaster.dreamhost.com serial = 2014071000 refresh = 14908 (4 hours 8 mins 28 secs) retry = 1800 (30 mins) expire = 1814400 (21 days) default TTL = 14400 (4 hours) ------------ *** [66.33.206.206] can't find www.fandompost.com.cdn.cloudflare.net.: Non-exist ent domain 

  • I clienti implementano tipicamente il failover / bilanciamento del carico su più record A?
  • Server DNS di Windows Server 2008 e routes di root
  • Modifica dell'indirizzo IP amichevole
  • Come si impedisce l'attacco DDOS basato su UDP-floods su un server DNS?
  • Dove ha dedicato.abac.net. provengono dai miei record rDNS e PTR?
  • Resolver Split Horizon di PowerDNS
  • C'è un sistema o un servizio DNS che è HTTPS consapevole?
  • Come posso verificare che gli spedizioni DNS di Windows funzionano?
  • Il servizio di directory non è disponibile, le nuove impostazioni di hardware nuove
  • Non includere automaticamente tutti i sottodomini nell'indirizzo DNSMasq
  • Accedi a siti web statici di Amazon S3 attraverso IPv6
  • Server DNS di Windows 2016: non utilizza il forwarder quando risolve ricorsivamente CNAME nella zona delegata?
  • One Solution collect form web for “Cercando di capire l'incoerenza della risoluzione DNS”

    In primo luogo, confrontiamo i tre casi di risposta.

    • Primo caso (resolver1.opendns.com/208.67.222.222): Codice di risposta di NOERROR. Sembra buono: una risposta non autorevole.
    • Secondo caso (192.168.1.101): Codice di risposta di NOERROR. Risposta zero. La sezione dell'Autorità è presente, il che suggerisce che non esiste alcun problema a comunicare con il server DNS a monte. (non un problema di firewall)
    • Terzo caso (ns1.dreamhost.com/66.33.206.206): codice di risposta di NXDOMAIN. Una risposta con "flag di authentication" ( AA ) impostata: www.fandompost.com.cdn.cloudflare.net.

    Il terzo è interessante. Viene restituita una risposta autorevole, un record è nella sezione ANSWER, ma il codice di risposta è NXDOMAIN. Normalmente ti aspetteresti di vedere un codice di risposta di NOERROR in questo caso: un server nameserver autorevole non cerca in genere di risolvere in maniera ricorrente il CNAME per te.

    Date un'altra occhiata alla sezione dell'autorità per questa risposta:

     ANSWERS: -> www.fandompost.com type = CNAME, class = IN, dlen = 39 canonical name = www.fandompost.com.cdn.cloudflare.net ttl = 300 (5 mins) AUTHORITY RECORDS: -> cloudflare.net type = SOA, class = IN, dlen = 49 ttl = 14400 (4 hours) primary name server = ns1.dreamhost.com 

    Vedere il "nome server principale"? Questa zona cloudflare.net stata servita da ns1.dreamhost.com, a quanto pare. Un rapido affondamento del mio conferma questo:

     $ dig @ns1.dreamhost.com +norecurse fandompost.com cloudflare.net SOA | grep -E 'HEADER|flags' ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11600 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32367 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0 

    La bandiera aa è presente per entrambe le query SOA. Il motivo per cui ricevi una risposta NXDOMAIN da ns1.dreamhost.com è perché il nameserver sta cercando di risolvere www.fandompost.com.cdn.cloudflare.net. per te perché considera autorevole anche per quel dominio, e sembra che manca il record. Perché cloudflare.net. ha un cloudflare.net. zona? Chiedi Dreamhost. Questo codice rx NXDOMAIN non sembra presentare un problema per la maggior parte dei resolver ricorsivi; Non ho fissato per questo i RFC per questo in un po ', ma la mia migliore ipotesi è che stanno ignorando quel codice di risposta e lavorando con la risposta che è stata restituita.

    Questo port finalmente alla tua domanda: c'è un problema con il tuo server DNS? È difficile dirlo senza conoscere il software che stai utilizzando. Posso dire che BIND e Windows DNS non hanno alcun problema con questa configuration e è ansible che il tuo software gestisca il NXDOMAIN diverso rispetto a queste due implementazioni.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.