Windows 2012 R2 DC und DNS-Server liefert FORMERR bzw. SERVFAIL

Mitglied: MaxMoritz6

MaxMoritz6 (Level 1) - Jetzt verbinden

07.01.2016, aktualisiert 08.01.2016, 1771 Aufrufe, 4 Kommentare

Ich habe eine Domäne mit Windows 2012 R2 als DC und DNS-Server. Als Forwarder ist der Provider-DNS-Server eingerichtet. Immer wieder passiert es, dass die Clients(Windows 7) beim STarten eines Browsers die Startseite nicht öffnen können und eine Fehlermeldung anzeigen(www.google.de).
Nach Einschalten des Debugging im DNS-Server zeigt sich, dass der DNS-Server an den Forwarder eine andere Anfrage stellt, die dieser mit einem Fehler beantwortet. Nach eine gewissen Zeit klappt alles wieder korrekt, bis dieser Fehler wieder auftritt.
Kommunikation zwischen DNS-Server und Forwarder korrekt:
*
07.01.2016 08:24:32 006C PACKET 0000003770CDC160 UDP Snd 10.42.99.65 d06a Q [0001 D NOERROR] A (3)www(6)google(2)de(0)
UDP question info at 0000003770CDC160
Socket = 10652
Remote addr 10.42.99.65, port 53
Time Query=0, Queued=0, Expire=0
Buf length = 0x0fa0 (4000)
Msg length = 0x001f (31)
Message:
XID 0xd06a
Flags 0x0100
QR 0 (QUESTION)
OPCODE 0 (QUERY)
AA 0
TC 0
RD 1
RA 0
Z 0
CD 0
AD 0
RCODE 0 (NOERROR)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
ARCOUNT 0
QUESTION SECTION:
Offset = 0x000c, RR count = 0
Name "(3)www(6)google(2)de(0)"
QTYPE A (1)
QCLASS 1
ANSWER SECTION:
empty
AUTHORITY SECTION:
empty
ADDITIONAL SECTION:
empty

07.01.2016 08:24:32 006C PACKET 000000377653A0E0 UDP Rcv 10.42.99.65 d06a R Q [8081 DR NOERROR] A (3)www(6)google(2)de(0)
UDP response info at 000000377653A0E0
Socket = 10652
Remote addr 10.42.99.65, port 53
Time Query=254111, Queued=0, Expire=0
Buf length = 0x0fa0 (4000)
Msg length = 0x00c1 (193)
Message:
XID 0xd06a
Flags 0x8180
QR 1 (RESPONSE)
OPCODE 0 (QUERY)
AA 0
TC 0
RD 1
RA 1
Z 0
CD 0
AD 0
RCODE 0 (NOERROR)
QCOUNT 1
ACOUNT 1
NSCOUNT 4
ARCOUNT 4
QUESTION SECTION:
Offset = 0x000c, RR count = 0
Name "(3)www(6)google(2)de(0)"
QTYPE A (1)
QCLASS 1
ANSWER SECTION:
Offset = 0x001f, RR count = 0
Name "[C00C](3)www(6)google(2)de(0)"
TYPE A (1)
CLASS 1
TTL 166
DLEN 4
DATA 216.58.213.227
AUTHORITY SECTION:
Offset = 0x002f, RR count = 0
Name "[C010](6)google(2)de(0)"
TYPE NS (2)
CLASS 1
TTL 84556
DLEN 16
DATA (3)ns3(6)google(3)com(0)
Offset = 0x004b, RR count = 1
Name "[C010](6)google(2)de(0)"
TYPE NS (2)
CLASS 1
TTL 84556
DLEN 6
DATA (3)ns4[C03F](6)google(3)com(0)
Offset = 0x005d, RR count = 2
Name "[C010](6)google(2)de(0)"
TYPE NS (2)
CLASS 1
TTL 84556
DLEN 6
DATA (3)ns2[C03F](6)google(3)com(0)
Offset = 0x006f, RR count = 3
Name "[C010](6)google(2)de(0)"
TYPE NS (2)
CLASS 1
TTL 84556
DLEN 6
DATA (3)ns1[C03F](6)google(3)com(0)
ADDITIONAL SECTION:
Offset = 0x0081, RR count = 0
Name "[C07B](3)ns1[C03F](6)google(3)com(0)"

Kommunikation zwischen DNS-Server und Forwarder fehlerbehaftet:
*
07.01.2016 10:13:04 2130 PACKET 000000376F628200 UDP Snd 10.42.99.65 619b Q [0001 D NOERROR] A (3)www(6)google(2)de(0)
UDP question info at 000000376F628200
Socket = 7944
Remote addr 10.42.99.65, port 53
Time Query=0, Queued=0, Expire=0
Buf length = 0x0fa0 (4000)
Msg length = 0x002a (42)
Message:
XID 0x619b
Flags 0x0100
QR 0 (QUESTION)
OPCODE 0 (QUERY)
AA 0
TC 0
RD 1
RA 0
Z 0
CD 0
AD 0
RCODE 0 (NOERROR)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
ARCOUNT 1
QUESTION SECTION:
Offset = 0x000c, RR count = 0
Name "(3)www(6)google(2)de(0)"
QTYPE A (1)
QCLASS 1
ANSWER SECTION:
empty
AUTHORITY SECTION:
empty
ADDITIONAL SECTION:
Offset = 0x001f, RR count = 0
Name "(0)"
TYPE OPT (41)
CLASS 4000
TTL 32768
DLEN 0
DATA
Buffer Size = 4000
Rcode Ext = 0
Rcode Full = 0
Version = 0
Flags = 80 DO

07.01.2016 10:13:04 2130 PACKET 00000037743A0250 UDP Rcv 10.42.99.65 619b R Q [8181 DR FORMERR] A (3)www(6)google(2)de(0)
UDP response info at 00000037743A0250
Socket = 7944
Remote addr 10.42.99.65, port 53
Time Query=260623, Queued=0, Expire=0
Buf length = 0x0fa0 (4000)
Msg length = 0x002a (42)
Message:
XID 0x619b
Flags 0x8181
QR 1 (RESPONSE)
OPCODE 0 (QUERY)
AA 0
TC 0
RD 1
RA 1
Z 0
CD 0
AD 0
RCODE 1 (FORMERR)
QCOUNT 1
ACOUNT 0
NSCOUNT 0
ARCOUNT 1
QUESTION SECTION:
Offset = 0x000c, RR count = 0
Name "(3)www(6)google(2)de(0)"
QTYPE A (1)
QCLASS 1
ANSWER SECTION:
empty
AUTHORITY SECTION:
empty
ADDITIONAL SECTION:
Offset = 0x001f, RR count = 0
Name "(0)"
TYPE OPT (41)
CLASS 4000
TTL 32768
DLEN 0
DATA
Buffer Size = 4000
Rcode Ext = 0
Rcode Full = 1
Version = 0
Flags = 80 DO

Es zeigt sich, dass bei der Anfrage der Abschnitt:
ADDITIONAL SECTION:
Offset = 0x001f, RR count = 0
Name "(0)"
TYPE OPT (41)
CLASS 4000
TTL 32768
DLEN 0
DATA
Buffer Size = 4000
Rcode Ext = 0
Rcode Full = 0
Version = 0
Flags = 80 DO
zusätzlich vorhanden ist, die der Forwarder(ich habe schon einen anderen ausprobiert) mit "FORMERR" beantwortet. Das kann man auch mit nslookup direkt anzeigen. Der Browser und alles andere(Windowsupdate usw.) reagiert dann entsprechend.
Nach einem Neustart des DNS-Server Dienstes läuft erstmal alles korrekt, bis dann ein Ausfall kommt. Hin und wieder ist eine Kommunikation wieder möglich.

Ich vermute fast, dass der DNS-Server die Ursache ist. In der Konfiguration habe ich schon alles überprüft und keine Unstimmigkeit gefunden.

Hat jemand eine Idee?

MaxMoritz
Mitglied: AndiEoh
LÖSUNG 07.01.2016, aktualisiert 08.01.2016
Hallo,

habt Ihr irgend eine Form von Firewall dazwischen die in den DNS Packeten rumschnüffelt. Es gibt eine Menge an "Sicherheitssoftware" die mit modernen DNS Records oder größer 512 Byte UDP nichts anfangen können oder diese schlicht kürzen. Auch beachten das viele Security Suites unter Windows genau das auch tun.

Du kannst mal diese Test hier machen : https://www.dns-oarc.net/oarc/services/replysizetest

Gruß

Andi
Bitte warten ..
Mitglied: MaxMoritz6
08.01.2016 um 10:01 Uhr
Hallo,
ganz verstehe ich die tests nicht.
In der Zeit, wo alles ok ist, habe ich mal jeweils drei test gemacht(1. Windows-DNS Server; 2. Firewall; 3. Provider DNS):
C:\Temp\BIND\BIND9.10.3-P2.x64>nslookup www.google.de
Server: 10.42.99.72
Address: 10.42.99.72#53

Non-authoritative answer:
Name: www.google.de
Address: 173.194.112.95
Name: www.google.de
Address: 173.194.112.87
Name: www.google.de
Address: 173.194.112.88
Name: www.google.de
Address: 173.194.112.79


C:\Temp\BIND\BIND9.10.3-P2.x64>nslookup www.google.de 10.42.99.65
Server: 10.42.99.65
Address: 10.42.99.65#53

Non-authoritative answer:
Name: www.google.de
Address: 173.194.112.95
Name: www.google.de
Address: 173.194.112.79
Name: www.google.de
Address: 173.194.112.88
Name: www.google.de
Address: 173.194.112.87


C:\Temp\BIND\BIND9.10.3-P2.x64>nslookup www.google.de 10.254.1.253
Server: 10.254.1.253
Address: 10.254.1.253#53

Non-authoritative answer:
Name: www.google.de
Address: 173.194.116.143
Name: www.google.de
Address: 173.194.116.152
Name: www.google.de
Address: 173.194.116.151
Name: www.google.de
Address: 173.194.116.159


C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.42.99.72 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.42.99.72 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 14354
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; Query time: 0 msec
;; SERVER: 10.42.99.72#53(10.42.99.72)
;; WHEN: Fri Jan 08 09:53:53 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 44


C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.42.99.65 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.42.99.65 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 14633
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; Query time: 0 msec
;; SERVER: 10.42.99.65#53(10.42.99.65)
;; WHEN: Fri Jan 08 09:54:02 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 44


C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.254.1.253 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.254.1.253 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 22027
;; flags: qr rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; Query time: 0 msec
;; SERVER: 10.254.1.253#53(10.254.1.253)
;; WHEN: Fri Jan 08 09:54:23 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 44

Komisch, dass da zweimal der "FORMERR" kam.

Einmal ist vom Windows-DNS-Server die folgende Ausgabe erfolgt:
C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.42.99.72 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.42.99.72 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26873
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; ANSWER SECTION:
rs.dns-oarc.net. 23 IN CNAME rst.x487.rs.dns-oarc.net.
rst.x487.rs.dns-oarc.net. 23 IN CNAME rst.x461.x487.rs.dns-oarc.net.
rst.x461.x487.rs.dns-oarc.net. 22 IN CNAME rst.x466.x461.x487.rs.dns-oarc.n
et.
rst.x466.x461.x487.rs.dns-oarc.net. 21 IN TXT "Tested at 2016-01-08 08:41:31 U
TC"
rst.x466.x461.x487.rs.dns-oarc.net. 21 IN TXT "194.25.108.49 DNS reply size li
mit is at least 487"
rst.x466.x461.x487.rs.dns-oarc.net. 21 IN TXT "194.25.108.49 sent EDNS buffer
size 512"

;; Query time: 46 msec
;; SERVER: 10.42.99.72#53(10.42.99.72)
;; WHEN: Fri Jan 08 09:41:19 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 274

Kannst du da bitte etwas mit anfangen?

Gruß, MaxMoritz
Bitte warten ..
Mitglied: AndiEoh
08.01.2016 um 17:39 Uhr
Zitat von @MaxMoritz6:

Hallo,
ganz verstehe ich die tests nicht.
In der Zeit, wo alles ok ist, habe ich mal jeweils drei test gemacht(1. Windows-DNS Server; 2. Firewall; 3. Provider DNS):
C:\Temp\BIND\BIND9.10.3-P2.x64>nslookup www.google.de
Server: 10.42.99.72
Address: 10.42.99.72#53
C:\Temp\BIND\BIND9.10.3-P2.x64>nslookup www.google.de 10.42.99.65
Server: 10.42.99.65
Address: 10.42.99.65#53

C:\Temp\BIND\BIND9.10.3-P2.x64>nslookup www.google.de 10.254.1.253
Server: 10.254.1.253
Address: 10.254.1.253#53


Die DNS Antwort für www.google.de ist recht klein, also kein echter Test. Bis du sicher das dein Provider Resolver die IPv4 10.254.1.253 hat? Das ist eine "interne" Adresse...


C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.42.99.72 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.42.99.72 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 14354
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; Query time: 0 msec
;; SERVER: 10.42.99.72#53(10.42.99.72)
;; WHEN: Fri Jan 08 09:53:53 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 44


Es werden große DNS UDP Packete angefragt bzw. signalisiert das es unterstützt wird, leider verhindert das irgend einer dazwischen. Ist im Windows DNS ein Forwarder eingetragen und wenn ja was?


C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.42.99.65 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.42.99.65 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 14633
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; Query time: 0 msec
;; SERVER: 10.42.99.65#53(10.42.99.65)
;; WHEN: Fri Jan 08 09:54:02 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 44


Die Firewall mag wohl keine EDNS0 Abfragen oder stört sich an etwas anderem. Was ist das für eine Firewall, Cisco??



C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.254.1.253 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.254.1.253 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: FORMERR, id: 22027
;; flags: qr rd ad; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; Query time: 0 msec
;; SERVER: 10.254.1.253#53(10.254.1.253)
;; WHEN: Fri Jan 08 09:54:23 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 44

Geht natürlich auch nicht.


Komisch, dass da zweimal der "FORMERR" kam.


Ist die typische Antwort wenn Optionen verwendet werden mit denen der Gegenpart nix anfangen kann. Der Hersteller der Firewall mal fragen warum er DNS Packete kaputt optimiert. Eventuell dem Windows DNS Server als Workaround EDNS0 abschalten (https://support.microsoft.com/de-de/kb/832223).


Einmal ist vom Windows-DNS-Server die folgende Ausgabe erfolgt:
C:\Temp\BIND\BIND9.10.3-P2.x64>dig @10.42.99.72 rs.dns-oarc.net txt

; <<>> DiG 9.10.3-P2 <<>> @10.42.99.72 rs.dns-oarc.net txt
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26873
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;rs.dns-oarc.net. IN TXT

;; ANSWER SECTION:
rs.dns-oarc.net. 23 IN CNAME rst.x487.rs.dns-oarc.net.
rst.x487.rs.dns-oarc.net. 23 IN CNAME rst.x461.x487.rs.dns-oarc.net.
rst.x461.x487.rs.dns-oarc.net. 22 IN CNAME rst.x466.x461.x487.rs.dns-oarc.n
et.
rst.x466.x461.x487.rs.dns-oarc.net. 21 IN TXT "Tested at 2016-01-08 08:41:31 U
TC"
rst.x466.x461.x487.rs.dns-oarc.net. 21 IN TXT "194.25.108.49 DNS reply size li
mit is at least 487"
rst.x466.x461.x487.rs.dns-oarc.net. 21 IN TXT "194.25.108.49 sent EDNS buffer
size 512"

;; Query time: 46 msec
;; SERVER: 10.42.99.72#53(10.42.99.72)
;; WHEN: Fri Jan 08 09:41:19 Mitteleuropõische Zeit 2016
;; MSG SIZE rcvd: 274


Wie befürchtet, 512Byte UDP geht, mehr wohl nicht.

Kannst du da bitte etwas mit anfangen?

Frag mal den Firewall Hersteller...

Gruß

Andi
Bitte warten ..
Mitglied: MaxMoritz6
13.01.2016 um 09:30 Uhr
Nach einigen recherchen mit dem Provider, haben wir festgestellt, dass es an EDNS0 liegt. Nach der Abschaltung bei den Windows 2012R2 Servern klappt es jetzt wunderbar.
Die Firewalls waren wohl nicht die Ursache.
Der Provider meint, dass es an dem "Load Balancing" liegt. Dort sind zwei DNS-Server installiert und die IP 10.254.1.253 ist nur die Adresse der Firewall davor. Unsere "alten" 2003R2-Server hatten keine Probleme, da dort standartmäßig EDNS0 deaktiviert ist.

Vielen Dank!

MfG
Max Moritz
Bitte warten ..
Heiß diskutierte Inhalte
Off Topic
Realistische Gehaltsvorstellung für eine "IT-Allroundkraft"
gelöst JiggyLeeVor 23 StundenFrageOff Topic19 Kommentare

Hallo an alle, ich hege momentan den Wunsch mich von der alten verstaubten Behörden Bürokratie und langweiliger Aufgaben los zu lösen und in einem ...

Windows 10
Windows 10 Geschwindigkeitprobleme trotz viel mehr Gb Ram
Matthes88Vor 1 TagFrageWindows 1045 Kommentare

Hallo ihr lieben aaaalso : Da mein neuer Arbeitsspeicher (32gb) von meiner alten Windows 7 version (max mit 8gb kompatibel) nicht angenommen wurde, habe ...

Humor (lol)
Tipp: Dinge, die man besser nicht klaut
altmetallerVor 1 TagTippHumor (lol)12 Kommentare

Hallo, so wurde meiner Hündin z.B. heute der (eingeschaltete) GPS-Tracker mit Mobilfunkanbindung quasi "direkt vom Halsband weggefunden". Akku hatte noch 60% :-P Und ich ...

Windows Server
GPU Passthrough HYPER-V 2019
bintesVor 1 TagFrageWindows Server8 Kommentare

Hallo, ich habe ein ein Problem mit der Bereitstellung einer Grafikkarte an eine virtuelle Maschine. Hardware: - HPE ProLiant DL380 Gen9 V4 Rack Server ...

Video & Streaming
Videoaufnahme funktioniert nur bis zum ersten Reboot (0x80040217)
IllusionFACTORYVor 1 TagFrageVideo & Streaming11 Kommentare

Ich nehme über eine Video-Software von einem USB-Hardware-Encoder Video auf. Das funktioniert exakt bis zum ersten Reboot - danach bekomme ich beim Starten der ...

Windows Server
Windows Admin Center DC
maximidVor 1 TagFrageWindows Server3 Kommentare

Hallo, ich hätte mal eine Frage zu Windows Admin Center und zwar schaue ich es mir aktuell etwas an da mir die zentrale Verwaltung ...

Grafikkarten & Monitore
Monitorhalterung mit 80cm Armlänge
ben1300Vor 22 StundenFrageGrafikkarten & Monitore7 Kommentare

Guten Abend ! ich bin auf der Suche nach einer Monitorhalterung, im besten Fall ohne Bohrung für einen 28" Monitor (Vesa Halterung). Nun kommt ...

SAN, NAS, DAS
Synology DS213j - Volume nach HDD Austausch vergrößern
gelöst JasperBeardleyVor 1 TagFrageSAN, NAS, DAS4 Kommentare

Moin, ich hab meinem NAS zwei neue 8TB spendiert, da die 3TB Platten jetzt 6 Jahre alt sind. Da die beiden Platten im JBOD ...