none
Problema con server DNS pubblico su Windows Server 2008 SP2. RRS feed

  • 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???








    giovedì 3 maggio 2012 23:01

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

    lunedì 7 maggio 2012 09:07
    Moderatore
  • 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.




    lunedì 7 maggio 2012 16:44
    Moderatore

Tutte le risposte

  • prova ad eseguire questo comando:

    nslookup [ENTER]

    > set d2 > posta.miodominio.com

    e verifica attentamente il risultato (semmai postalo qui)

    Edoardo Benussi
    Microsoft MVP - Management Infrastructure
    edo[at]mvps[dot]org

    venerdì 4 maggio 2012 12:02
    Moderatore
  •  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)

    venerdì 4 maggio 2012 19:31
  • 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

    lunedì 7 maggio 2012 09:07
    Moderatore
  •  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...

    lunedì 7 maggio 2012 11:00
  • 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


    lunedì 7 maggio 2012 12:23
    Moderatore
  •  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?


    lunedì 7 maggio 2012 14:58
  • 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.




    lunedì 7 maggio 2012 16:44
    Moderatore
  •  Confermo che anche con il SecureResponses disabilitato il risultato non cambia.

     A questo punto sembra veramente che sia una scelta fatta da MS. Beh, poco male... Il server va e non mi dà particolari problemi.

    martedì 8 maggio 2012 22:41