Principale utente con più risposte
Problema con server DNS pubblico su Windows Server 2008 SP2.

Domanda
-
Stò riscontrando una strana situazione con un DNS pubblico installato su Windows 2008 SP2 64bit. Il server è NS principale per alcuni domini pubblici mentre il record NS secondario è un server CentOS 5.7 64bit con bind ed ospita solo zone secondarie del server Windows.
A seguito di altri problemi non collegati, mi sono accorto che il server Windows restituisce sempre delle risposte incomplete alle query DNS: Ogni risposta è mancante delle sezioni "AUTHORITY" ed "ADDITIONAL" che sono invece restituite dal server linux, come di seguito riportato:
Server Windows:
dig @a.b.c.e -q posta.miodominio.it ; <<>> DiG 9.9.0 <<>> @a.b.c.e -q posta.miodominio.it ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38983 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 1280 ;; QUESTION SECTION: ;posta.miodominio.it. IN A ;; ANSWER SECTION: posta.miodominio.it. 3600 IN A a.b.c.f ;; Query time: 36 msec ;; SERVER: a.b.c.e#53(a.b.c.e) ;; WHEN: Fri May 4 01:17:42 2012 ;; MSG SIZE rcvd: 64
*********************
Server Linux
dig @a.b.c.d -q posta.miodominio.it ; <<>> DiG 9.9.0 <<>> @a.b.c.d -q posta.miodominio.it ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7682 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; WARNING: recursion requested but not available ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;posta.miodominio.it. IN A ;; ANSWER SECTION: posta.miodominio.it. 3600 IN A a.b.c.f ;; AUTHORITY SECTION: miodominio.it. 3600 IN NS dns1.miodominio.it. miodominio.it. 3600 IN NS dns2.miodominio.it. ;; ADDITIONAL SECTION: dns1.miodominio.it. 3600 IN A a.b.c.e dns2.miodominio.it. 3600 IN A a.b.c.d ;; Query time: 27 msec ;; SERVER: a.b.c.d#53(a.b.c.d) ;; WHEN: Fri May 4 01:13:21 2012 ;; MSG SIZE rcvd: 134
Questo non sembra comportare particolari problemi nell'utilizzo quotidiano ma mi sembra quantomeno scorretto o anomalo.Cosa sbaglio???
- Modificato Matteo Fracassetti giovedì 3 maggio 2012 23:20
Risposte
-
la risposta dei comandi nslookup e dig mi sembra corretta dal momento che il dns server su linux ospita zone secondarie del tuo dominio e che è il dns su windows detiene i SOA del tuo dominio.
Edoardo Benussi
Microsoft MVP - Management Infrastructure
edo[at]mvps[dot]org- Proposto come risposta Fabrizio GiammariniMVP, Moderator mercoledì 9 maggio 2012 08:23
- Contrassegnato come risposta Matteo Fracassetti mercoledì 9 maggio 2012 08:36
-
Avevo inserito l'articolo solo per il comando di disabilitazione, comunque una volta eseguita la verifica riabilita il SecureResponses.
Il fatto che la risposta è uguale è proprio quello che mi aspettavo dal test.
Ricordo di aver letto che su un server autorevole in alcuni casi viene disabilitata proprio l'ADDITIONAL SECTION oltre che per rendere più difficile il DNS spoofing (non può essere sfruttata per leggere eventualmente i dati degli altri server), anche per ridurre il numero di dati inviati e migliorare il query throughput. Quindi credo che sia stata una scelta di Microsoft nascondere tali sezioni (anche con BIND ci sono dei comandi appositi per farlo), anche perchè che io sappia tutti i DNS Windows hanno quel tipo di risposte.
Purtroppo però non sono ancora riuscito a trovare un articolo Technet che conferma questa cosa.
- Proposto come risposta Fabrizio GiammariniMVP, Moderator mercoledì 9 maggio 2012 08:23
- Contrassegnato come risposta Matteo Fracassetti mercoledì 9 maggio 2012 08:36
- Modificato Fabrizio GiammariniMVP, Moderator sabato 2 giugno 2012 17:15
Tutte le risposte
-
prova ad eseguire questo comando:
e verifica attentamente il risultato (semmai postalo qui)nslookup [ENTER]
> set d2 > posta.miodominio.com
Edoardo Benussi
Microsoft MVP - Management Infrastructure
edo[at]mvps[dot]org -
Da come lo dici sembra che tu abbia già capito... Dici che ho fatto una cavolata enorme??
Comunque sia, Questi sono gli output che mi hai chiesto. Ho fatto l'interrogazione da casa, quindi da internet e da una macchina completamente fuori dominio.
Questo è quello che ho ottenuto dal server Windows:
------------ SendRequest(), len 41 HEADER: opcode = QUERY, id = 1, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: f.c.b.a.in-addr.arpa, type = PTR, class = IN ------------ ------------ Got answer (80 bytes): HEADER: opcode = QUERY, id = 1, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: f.c.b.a.in-addr.arpa, type = PTR, class = IN ANSWERS: -> f.c.b.a.in-addr.arpa type = PTR, class = IN, dlen = 27 name = dns1.miodominio.it ttl = 86400 (1 day) ------------ Server: dns1.miodominio.it Address: a.b.c.f ------------ SendRequest(), len 53 HEADER: opcode = QUERY, id = 2, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = A, class = IN ------------ ------------ Got answer (484 bytes): HEADER: opcode = QUERY, id = 2, rcode = NOERROR header flags: response, want recursion questions = 1, answers = 0, authority records = 13, additional = 1 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = A, class = IN AUTHORITY RECORDS: -> (root) type = NS, class = IN, dlen = 20 nameserver = f.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = g.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = h.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = i.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = j.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = k.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = l.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = m.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = a.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = b.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = c.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = d.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = e.root-servers.net ttl = 3600 (1 hour) ADDITIONAL RECORDS: -> a.root-servers.net type = A, class = IN, dlen = 4 internet address = 198.41.0.4 ttl = 3600 (1 hour) ------------ ------------ SendRequest(), len 53 HEADER: opcode = QUERY, id = 3, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = AAAA, class = IN ------------ ------------ Got answer (484 bytes): HEADER: opcode = QUERY, id = 3, rcode = NOERROR header flags: response, want recursion questions = 1, answers = 0, authority records = 13, additional = 1 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = AAAA, class = IN AUTHORITY RECORDS: -> (root) type = NS, class = IN, dlen = 20 nameserver = g.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = h.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = i.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = j.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = k.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = l.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = m.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = a.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = b.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = c.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = d.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = e.root-servers.net ttl = 3600 (1 hour) -> (root) type = NS, class = IN, dlen = 20 nameserver = f.root-servers.net ttl = 3600 (1 hour) ADDITIONAL RECORDS: -> a.root-servers.net type = A, class = IN, dlen = 4 internet address = 198.41.0.4 ttl = 3600 (1 hour) ------------ ------------ SendRequest(), len 37 HEADER: opcode = QUERY, id = 4, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it, type = A, class = IN ------------ ------------ Got answer (53 bytes): HEADER: opcode = QUERY, id = 4, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it, type = A, class = IN ANSWERS: -> posta.miodominio.it type = A, class = IN, dlen = 4 internet address = a.b.c.e ttl = 3600 (1 hour) ------------ ------------ SendRequest(), len 37 HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it, type = AAAA, class = IN ------------ ------------ Got answer (89 bytes): HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: posta.miodominio.it, type = AAAA, class = IN AUTHORITY RECORDS: -> miodominio.it type = SOA, class = IN, dlen = 40 ttl = 86400 (1 day) primary name server = dns1.miodominio.it responsible mail addr = sistemisti.miodominio.it serial = 2012042405 refresh = 7200 (2 hours) retry = 600 (10 mins) expire = 1209600 (14 days) default TTL = 3600 (1 hour) ------------ Nome: posta.miodominio.it Address: a.b.c.e
E questa è la stessa interrogazione verso il server linux, che ricordo ospita una zona secondaria del server Windows:
------------ SendRequest(), len 41 HEADER: opcode = QUERY, id = 1, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: d.c.b.a.in-addr.arpa, type = PTR, class = IN ------------ ------------ Got answer (118 bytes): HEADER: opcode = QUERY, id = 1, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 1, authority records = 2, additional = 0 QUESTIONS: d.c.b.a.in-addr.arpa, type = PTR, class = IN ANSWERS: -> d.c.b.a.in-addr.arpa type = PTR, class = IN, dlen = 17 name = dns2.miodominio.it ttl = 86400 (1 day) AUTHORITY RECORDS: -> c.b.a.in-addr.arpa type = NS, class = IN, dlen = 17 nameserver = dns2.fastweb.it ttl = 86400 (1 day) -> c.b.a.in-addr.arpa type = NS, class = IN, dlen = 7 nameserver = dns1.fastweb.it ttl = 86400 (1 day) ------------ Server: dns2.miodominio.it Address: a.b.c.d ------------ SendRequest(), len 53 HEADER: opcode = QUERY, id = 2, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = A, class = IN ------------ ------------ Got answer (512 bytes): HEADER: opcode = QUERY, id = 2, rcode = NOERROR header flags: response, want recursion questions = 1, answers = 0, authority records = 13, additional = 14 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = A, class = IN AUTHORITY RECORDS: -> (root) type = NS, class = IN, dlen = 20 nameserver = e.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = f.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = g.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = h.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = i.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = j.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = k.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = l.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = m.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = a.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = b.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = c.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = d.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) ADDITIONAL RECORDS: -> a.root-servers.net type = A, class = IN, dlen = 4 internet address = 198.41.0.4 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> a.root-servers.net type = AAAA, class = IN, dlen = 16 AAAA IPv6 address = 2001:503:ba3e::2:30 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> b.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.228.79.201 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> c.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.33.4.12 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> d.root-servers.net type = A, class = IN, dlen = 4 internet address = 128.8.10.90 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> d.root-servers.net type = AAAA, class = IN, dlen = 16 AAAA IPv6 address = 2001:500:2d::d ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> e.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.203.230.10 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> f.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.5.5.241 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> g.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.112.36.4 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> h.root-servers.net type = A, class = IN, dlen = 4 internet address = 128.63.2.53 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> i.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.36.148.17 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> j.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.58.128.30 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> k.root-servers.net type = A, class = IN, dlen = 4 internet address = 193.0.14.129 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> l.root-servers.net type = A, class = IN, dlen = 4 internet address = 199.7.83.42 ttl = 259037 (2 days 23 hours 57 mins 17 secs) ------------ ------------ SendRequest(), len 53 HEADER: opcode = QUERY, id = 3, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = AAAA, class = IN ------------ ------------ Got answer (512 bytes): HEADER: opcode = QUERY, id = 3, rcode = NOERROR header flags: response, want recursion questions = 1, answers = 0, authority records = 13, additional = 14 QUESTIONS: posta.miodominio.it.miaretelocale.lan, type = AAAA, class = IN AUTHORITY RECORDS: -> (root) type = NS, class = IN, dlen = 20 nameserver = d.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = e.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = f.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = g.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = h.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = i.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = j.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = k.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = l.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = m.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = a.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = b.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) -> (root) type = NS, class = IN, dlen = 4 nameserver = c.root-servers.net ttl = 172637 (1 day 23 hours 57 mins 17 secs) ADDITIONAL RECORDS: -> a.root-servers.net type = A, class = IN, dlen = 4 internet address = 198.41.0.4 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> a.root-servers.net type = AAAA, class = IN, dlen = 16 AAAA IPv6 address = 2001:503:ba3e::2:30 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> b.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.228.79.201 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> c.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.33.4.12 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> d.root-servers.net type = A, class = IN, dlen = 4 internet address = 128.8.10.90 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> d.root-servers.net type = AAAA, class = IN, dlen = 16 AAAA IPv6 address = 2001:500:2d::d ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> e.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.203.230.10 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> f.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.5.5.241 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> g.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.112.36.4 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> h.root-servers.net type = A, class = IN, dlen = 4 internet address = 128.63.2.53 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> i.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.36.148.17 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> j.root-servers.net type = A, class = IN, dlen = 4 internet address = 192.58.128.30 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> k.root-servers.net type = A, class = IN, dlen = 4 internet address = 193.0.14.129 ttl = 259037 (2 days 23 hours 57 mins 17 secs) -> l.root-servers.net type = A, class = IN, dlen = 4 internet address = 199.7.83.42 ttl = 259037 (2 days 23 hours 57 mins 17 secs) ------------ ------------ SendRequest(), len 37 HEADER: opcode = QUERY, id = 4, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it, type = A, class = IN ------------ ------------ Got answer (123 bytes): HEADER: opcode = QUERY, id = 4, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 1, authority records = 2, additional = 2 QUESTIONS: posta.miodominio.it, type = A, class = IN ANSWERS: -> posta.miodominio.it type = A, class = IN, dlen = 4 internet address = a.b.c.e ttl = 3600 (1 hour) AUTHORITY RECORDS: -> miodominio.it type = NS, class = IN, dlen = 7 nameserver = dns2.miodominio.it ttl = 3600 (1 hour) -> miodominio.it type = NS, class = IN, dlen = 7 nameserver = dns1.miodominio.it ttl = 3600 (1 hour) ADDITIONAL RECORDS: -> dns1.miodominio.it type = A, class = IN, dlen = 4 internet address = a.b.c.f ttl = 3600 (1 hour) -> dns2.miodominio.it type = A, class = IN, dlen = 4 internet address = a.b.c.d ttl = 3600 (1 hour) ------------ ------------ SendRequest(), len 37 HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: query, want recursion questions = 1, answers = 0, authority records = 0, additional = 0 QUESTIONS: posta.miodominio.it, type = AAAA, class = IN ------------ ------------ Got answer (89 bytes): HEADER: opcode = QUERY, id = 5, rcode = NOERROR header flags: response, auth. answer, want recursion questions = 1, answers = 0, authority records = 1, additional = 0 QUESTIONS: posta.miodominio.it, type = AAAA, class = IN AUTHORITY RECORDS: -> miodominio.it type = SOA, class = IN, dlen = 40 ttl = 3600 (1 hour) primary name server = dns1.miodominio.it responsible mail addr = sistemisti.miodominio.it serial = 2012042405 refresh = 7200 (2 hours) retry = 600 (10 mins) expire = 1209600 (14 days) default TTL = 3600 (1 hour) ------------ Nome: posta.miodominio.it Address: a.b.c.e
Mi pare che le due risposte differiscano, appunto, solo per la mancanza delle sezioni "AUTHORITY" ed "ADDITIONAL" nella risposta del server Windows che vengono invece restituite dal server Linux:AUTHORITY RECORDS: -> miodominio.it type = NS, class = IN, dlen = 7 nameserver = dns2.miodominio.it ttl = 3600 (1 hour) -> miodominio.it type = NS, class = IN, dlen = 7 nameserver = dns1.miodominio.it ttl = 3600 (1 hour) ADDITIONAL RECORDS: -> dns1.miodominio.it type = A, class = IN, dlen = 4 internet address = a.b.c.f ttl = 3600 (1 hour) -> dns2.miodominio.it type = A, class = IN, dlen = 4 internet address = a.b.c.d ttl = 3600 (1 hour)
-
la risposta dei comandi nslookup e dig mi sembra corretta dal momento che il dns server su linux ospita zone secondarie del tuo dominio e che è il dns su windows detiene i SOA del tuo dominio.
Edoardo Benussi
Microsoft MVP - Management Infrastructure
edo[at]mvps[dot]org- Proposto come risposta Fabrizio GiammariniMVP, Moderator mercoledì 9 maggio 2012 08:23
- Contrassegnato come risposta Matteo Fracassetti mercoledì 9 maggio 2012 08:36
-
Infatti, non ho alcun problema "tangibile" con la risoluzione DNS. Quello che però non riesco a capire è come mai il server Windows abbia arbitrariamente deciso di non trasmettere quelle due sezioni, che pure sono previste e importanti...
Non ho trovato alcuna possibilità di agire sulla configurazione per modificare la risposta del server, quindi chiedevo a voi se vi risulta essere un comportamento normale del servizio DNS su Windows 2008 oppure se ho sbagliato qualcosa...
-
Se non sbaglio è normale che non ci siano quelle sezioni per prevenire il DNS spoofing.
Come test prova a disabilitare il SecureResponses dal server e ad eseguire una nuova interrogazione:
http://support.microsoft.com/kb/316786/en
- Modificato Fabrizio GiammariniMVP, Moderator lunedì 7 maggio 2012 12:24
-
Ho riprovato la query con il SecureResponses disabilitato ma mi sembra uguale, stasera me la riguardo con un pò più di calma.
L'articolo che hai indicato, però, riporta una cosa diversa: L'articolo e gli esempi parlano di un server DNS (cache DNS) che ne interroga un'altro per ottenere un record per cui il secondo server non è autorevole o comunque in cui il NS autorevole appartiene ad un dominio diverso da quello per cui è stato richiesto il record.
In questo caso, non stiamo parlando di un cache DNS che può venire inquinato ma di un master server autorevole per la zona (e che quindi non deve consultare una cache ottenuta in seguito ad interrogazioni verso un terzo server ma dovrebbe leggere le risposte dal proprio file di zona) che non restituisce alle richieste client alcune informazioni che sarebbero invece previste.
Le stesse identiche informazioni dovrebbero essere facilmente ottenibili interrogando il registro competente per il dominio di livello superiore (in questo caso, il primo livello) perchè sono informazioni che dovrebbero essere pubbliche, non credo ci sia motivo di oscurarle. Giusto?
- Modificato Matteo Fracassetti lunedì 7 maggio 2012 14:59
-
Avevo inserito l'articolo solo per il comando di disabilitazione, comunque una volta eseguita la verifica riabilita il SecureResponses.
Il fatto che la risposta è uguale è proprio quello che mi aspettavo dal test.
Ricordo di aver letto che su un server autorevole in alcuni casi viene disabilitata proprio l'ADDITIONAL SECTION oltre che per rendere più difficile il DNS spoofing (non può essere sfruttata per leggere eventualmente i dati degli altri server), anche per ridurre il numero di dati inviati e migliorare il query throughput. Quindi credo che sia stata una scelta di Microsoft nascondere tali sezioni (anche con BIND ci sono dei comandi appositi per farlo), anche perchè che io sappia tutti i DNS Windows hanno quel tipo di risposte.
Purtroppo però non sono ancora riuscito a trovare un articolo Technet che conferma questa cosa.
- Proposto come risposta Fabrizio GiammariniMVP, Moderator mercoledì 9 maggio 2012 08:23
- Contrassegnato come risposta Matteo Fracassetti mercoledì 9 maggio 2012 08:36
- Modificato Fabrizio GiammariniMVP, Moderator sabato 2 giugno 2012 17:15
-