Bazı AAAA sorguları için SERVFAIL döndüren Server 2012R2 DNS sunucusu


17

(Orijinal sorularımın çoğu yeni bilgiler ışığında önemsiz olduğundan bu sorunun çoğunu yeniden yazmak)

Server 2012R2 DNS sunucularıyla ilgili sorunlar yaşıyorum. Bu sorunların en büyük yan etkisi Exchange e-postalarının geçmemesidir. A kayıtlarını denemeden önce AAAA kayıtları için sorgu alışverişi yapın. AAAA kaydı için SERVFAIL'i gördüğünde, A kayıtlarını bile denemez, sadece vazgeçer.

Bazı etki alanları için, etkin dizin DNS sunucularıma karşı sorgulama yaparken sonuçsuz NOERROR yerine SERVFAIL alıyorum.

Ben DNS çalıştıran birkaç farklı Server 2012R2 etki alanı denetleyicilerinden denedim. Bunlardan biri, farklı bir güvenlik duvarı ve internet bağlantısının arkasındaki farklı bir ağda tamamen ayrı bir etki alanıdır.

Bu soruna neden olduğunu bildiğim iki adres smtpgw1.gov.on.cavemxmta.owm.bell.net

Bunu digtest etmek için bir linux makinede kullanıyorum (192.168.5.5 benim etki alanı denetleyicimdir):

grant@linuxbox:~$ dig @192.168.5.5 smtpgw1.gov.on.ca -t AAAA

; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @192.168.5.5 smtpgw1.gov.on.ca -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 56328
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;smtpgw1.gov.on.ca.             IN      AAAA

;; Query time: 90 msec
;; SERVER: 192.168.5.5#53(192.168.5.5)
;; WHEN: Wed Oct 21 14:09:10 EDT 2015
;; MSG SIZE  rcvd: 46

Ancak bir genel etki alanı denetleyicisine yönelik sorgular beklendiği gibi çalışır:

grant@home-ssh:~$ dig @4.2.2.1 smtpgw1.gov.on.ca -t AAAA

; <<>> DiG 9.9.5-3ubuntu0.5-Ubuntu <<>> @4.2.2.1 smtpgw1.gov.on.ca -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 269
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 8192
;; QUESTION SECTION:
;smtpgw1.gov.on.ca.             IN      AAAA

;; Query time: 136 msec
;; SERVER: 4.2.2.1#53(4.2.2.1)
;; WHEN: Wed Oct 21 14:11:19 EDT 2015
;; MSG SIZE  rcvd: 46

Söylediğim gibi, bunu iki farklı ağda ve alanda denedim. Birincisi, DNS için tüm varsayılan ayarlara sahip olan yepyeni bir alan adıdır. Diğeri Server 2012'ye taşındığından, 2003/2008 tarihli bazı eski ayarlar aktarılmış olabilir. Her ikisinde de aynı sonuçları alıyorum.

EDNS'yi devre dışı bırakmak dmscnd /config /enableednsprobes 0düzeltir. EDNS'nin Server 2003'te bir sorun olduğu, ancak Server 2012'de gördüğümle pek fazla arama sonucu göremiyorum. Her iki güvenlik duvarının da EDNS ile ilgili bir sorunu yoktur. EDNS'nin devre dışı bırakılması yalnızca geçici bir çözüm olmalıdır - DNSSEC kullanımını engeller ve başka sorunlara neden olabilir.

Ayrıca Server 2008R2 ve EDNS ile ilgili sorunlar hakkında bazı mesajlar gördüm, ancak aynı mesajlar Server 2012'de bir şeylerin sabit olduğunu söylüyor, bu yüzden düzgün çalışması gerekiyor.

Ayrıca DNS için hata ayıklama günlüğünü etkinleştirmeyi denedim. Beklediğim paketleri görebiliyorum, ancak neden SERVFAIL'a döndüğüne dair çok fazla fikir vermiyor. DNS sunucusu hata ayıklama günlüğünün ilgili bölümleri şunlardır:

İlk paket - istemciden DNS sunucuma sorgu

16/10/2015 9:42:29 AM 0974 PAKET 000000EFF1BF01A0 UDP Rcv 172.16.0.254 a61e Q [2001 D NOERROR] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
000000EFF1BF01A0 adresindeki UDP soru bilgisi
  Soket = 508
  Uzak adres 172.16.0.254, bağlantı noktası 50764
  Zaman Sorgusu = 4556080, Sıraya Alınmış = 0, Süre sonu = 0
  Buf uzunluğu = 0x0fa0 (4000)
  Mesaj uzunluğu = 0x002e (46)
  İleti:
    XID 0xa61e
    Bayraklar 0x0120
      QR 0 (SORU)
      OPCODE 0 (QUERY)
      AA 0
      TC 0
      RD 1
      RA 0
      Z 0
      CD 0
      AD 1
      RCODE 0 (NOERROR)
    QCOUNT 1
    HESAP 0
    NSCOUNT 0
    MUHASEBE 1
    SORU BÖLÜM:
    Ofset = 0x000c, RR sayısı = 0
    (2) ca (0) üzerinde "(7) smtpgw1 (3) gov (2) adı
      ADET AAAA (28)
      QCLASS 1
    CEVAP BÖLÜMÜ:
      boş
    YETKİ BÖLÜMÜ:
      boş
    EK BÖLÜM:
    Ofset = 0x0023, RR sayısı = 0
    Adı "(0)"
      TİP OPT (41)
      SINIF 4096
      TTL 0
      DLEN 0
      VERİ   
        Arabellek Boyutu = 4096
        Rcode Dahili = 0
        Rcode Dolu = 0
        Sürüm = 0
        Bayraklar = 0

İkinci paket - DNS sunucumdan DNS sunucularına sorgu

16/10/2015 9:42:29 AM 0974 PAKET 000000EFF0A22160 UDP Snd 204.41.8.237 3e6c Q [0000 NOERROR] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
000000EFF0A22160 adresindeki UDP soru bilgisi
  Soket = 9812
  Uzak adres 204.41.8.237, bağlantı noktası 53
  Zaman Sorgusu = 0, Sıraya Alınmış = 0, Süre sonu = 0
  Buf uzunluğu = 0x0fa0 (4000)
  Msg uzunluğu = 0x0023 (35)
  İleti:
    XID 0x3e6c
    Bayraklar 0x0000
      QR 0 (SORU)
      OPCODE 0 (QUERY)
      AA 0
      TC 0
      RD 0
      RA 0
      Z 0
      CD 0
      AD 0
      RCODE 0 (NOERROR)
    QCOUNT 1
    HESAP 0
    NSCOUNT 0
    HESAP 0
    SORU BÖLÜM:
    Ofset = 0x000c, RR sayısı = 0
    (2) ca (0) üzerinde "(7) smtpgw1 (3) gov (2) adı
      ADET AAAA (28)
      QCLASS 1
    CEVAP BÖLÜMÜ:
      boş
    YETKİ BÖLÜMÜ:
      boş
    EK BÖLÜM:
      boş

Üçüncü paket - DNS sunucularından yanıt (NOERROR)

16/10/2015 9:42:29 AM 0974 PAKET 000000EFF2188100 UDP Rcv 204.41.8.237 3e6c RQ [284 A NOERROR] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
000000EFF2188100 adresindeki UDP yanıt bilgileri
  Soket = 9812
  Uzak adres 204.41.8.237, bağlantı noktası 53
  Zaman Sorgusu = 4556080, Sıraya Alınmış = 0, Süre sonu = 0
  Buf uzunluğu = 0x0fa0 (4000)
  Msg uzunluğu = 0x0023 (35)
  İleti:
    XID 0x3e6c
    Bayraklar 0x8400
      QR 1 (YANIT)
      OPCODE 0 (QUERY)
      AA 1
      TC 0
      RD 0
      RA 0
      Z 0
      CD 0
      AD 0
      RCODE 0 (NOERROR)
    QCOUNT 1
    HESAP 0
    NSCOUNT 0
    HESAP 0
    SORU BÖLÜM:
    Ofset = 0x000c, RR sayısı = 0
    (2) ca (0) üzerinde "(7) smtpgw1 (3) gov (2) adı
      ADET AAAA (28)
      QCLASS 1
    CEVAP BÖLÜMÜ:
      boş
    YETKİ BÖLÜMÜ:
      boş
    EK BÖLÜM:
      boş

Dördüncü paket - DNS sunucumdan istemciye yanıt (SERVFAIL)

16/10/2015 9:42:29 AM 0974 PAKET 000000EFF1BF01A0 UDP Snd 172.16.0.254 a61e RQ [8281 DR SERVFAIL] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
000000EFF1BF01A0 adresindeki UDP yanıt bilgileri
  Soket = 508
  Uzak adres 172.16.0.254, bağlantı noktası 50764
  Zaman Sorgusu = 4556080, Sıraya Alınmış = 4556080, Süre sonu = 4556083
  Buf uzunluğu = 0x0fa0 (4000)
  Mesaj uzunluğu = 0x002e (46)
  İleti:
    XID 0xa61e
    Bayraklar 0x8182
      QR 1 (YANIT)
      OPCODE 0 (QUERY)
      AA 0
      TC 0
      RD 1
      RA 1
      Z 0
      CD 0
      AD 0
      RCODE 2 (SERVFAIL)
    QCOUNT 1
    HESAP 0
    NSCOUNT 0
    MUHASEBE 1
    SORU BÖLÜM:
    Ofset = 0x000c, RR sayısı = 0
    (2) ca (0) üzerinde "(7) smtpgw1 (3) gov (2) adı
      ADET AAAA (28)
      QCLASS 1
    CEVAP BÖLÜMÜ:
      boş
    YETKİ BÖLÜMÜ:
      boş
    EK BÖLÜM:
    Ofset = 0x0023, RR sayısı = 0
    Adı "(0)"
      TİP OPT (41)
      SINIF 4000
      TTL 0
      DLEN 0
      VERİ   
        Arabellek Boyutu = 4000
        Rcode Dahili = 0
        Rcode Dolu = 2
        Sürüm = 0
        Bayraklar = 0

Dikkat edilecek diğer şeyler:

  • Ağlardan birinin yerel IPv6 internet erişimi vardır, diğeri yoktur (ancak varsayılan ayarlara sahip sunucularda IPv6 yığını etkindir). IPv6 ağ sorunu gibi görünmüyor
  • Tüm etki alanlarını etkilemez. Örneğin dig @192.168.5.5 -t AAAA serverfault.com, NOERROR döndürür ve sonuç vermez. Aynı şey google.comGoogle'ın IPv6 adreslerini düzgün döndürür.
  • KB3014171'den düzeltmeyi yüklemeyi denedi , hiçbir fark yaratmadı .
  • KB3004539'dan güncelleme zaten yüklü.

Düzenle 7 Kas 2015

Başka bir etki alanı olmayan Server 2012R2 makinesi kurdum ve DNS sunucusu rolünü yükledim ve komutla test ettim nslookup -type=aaaa smtpgw1.gov.on.ca localhost. Aynı sorunlara sahip DEĞİLDİR.

Her iki VM de aynı ana bilgisayarda ve aynı ağdadır, böylece tüm ağ / güvenlik duvarı sorunlarını ortadan kaldırır. Şimdi ya yama düzeyine ya da farkı yaratan bir etki alanı üyesi / etki alanı denetleyicisi olmaktan çıktı.

Düzenle 8 Kas 2015

Tüm güncellemeleri uyguladı, hiçbir fark yaratmadı. Yeni sınama sunucum ile etki alanı denetleyicimin DNS ayarları arasında herhangi bir yapılandırma farklılığı olup olmadığını iki kez denetlemeye gittim ve - etki alanı denetleyicisinin ileticiler kurulumu vardı.

Şimdi, eminim ileticilerle ve ilk testlerim olmadan denedim, ama sadece digbir linux makinesinden denedim . Windows makinede nslookup kullandığımda ileticiler kurulumu ile (Google, OpenDNS, 4.2.2.1 ve ISS DNS sunucuları ile denedim) biraz farklı sonuçlar alıyorum.

Bir iletici seti ile anladım Server failed.

İletici olmadan (böylece kök DNS sunucularını kullanır), anladım No IPv6 address (AAAA) records available for smtpgw1.gov.on.ca.

Ancak bu hala IPv6 kayıtları olmayan diğer etki alanları için aldığımla aynı değil - pencerelerde nslookup diğer etki alanları için hiçbir sonuç döndürmez.

İletici olsun veya olmasın, Windows DNS sunucumu sorgularken digyine SERVFAILde bu adı gösterir .

Sorunlu etki alanı ile Windows DNS sunucumu içermediğimde bile alakalı görünen diğer alanlar arasında küçük bir fark var:

dig -t aaaa @8.8.8.8 smtpgw1.gov.on.ca yanıtları yoktur ve yetki bölümü yoktur.

dig -t aaaa @8.8.8.8 serverfault.comcevap vermiyor ancak yetki bölümü var. Hangi çözümleyici kullanırsam kullansam, denediğim diğer alan adlarının çoğu da öyle.

Öyleyse bu yetki bölümü neden eksik ve diğer DNS sunucuları olmadığında Windows DNS sunucusu neden başarısız olarak davranıyor?


Bu sınamaları Exchange sunucusundan mı yapıyorsunuz? Değilse, Exchange'in bakış açısından görebilmeniz için bunu yapmanızı öneririm. Exchange sunucusundan da SMTPDiag çalıştırmayı deneyebilirsiniz. Ağ / DNS etkinliğinin ayrıntılarını görüntüleyebilmeniz için Exchange sunucusunda bir ağ yakalama gerçekleştirirken çalıştırmanızı öneririm. SMTPDiag eski bir araçtır, ancak herhangi bir kurulum gerektirmeyen bir komut satırı aracıdır, bu yüzden Exchange'in tüm sürümlerinde çalışması gerektiğini düşünüyorum. - microsoft.com/tr-tr/download/details.aspx?id=11393
joeqwerty

Bazı ağ aygıtları EDNS paketlerini tanımaz ve reddeder. Ağ ekibiniz yakın zamanda yeni cihaz / ayar tanıttı mı? Bu olasılığı ortadan kaldırmak için google.com'un AAAA kaydını çözmeyi deneyin, bir IPv6 adresi döndürmelidir.
strongline

@strongline EDNS paketleri iyi gelir. Google için AAAA kaydı, IPv6 çalıştığını bildiğim birkaç başka site gibi çalışıyor. Son zamanlarda elde edilen tek şans, son Server 2008R2 DC / DNS sunucumuzdan kurtulmak ve 2012R2 ile değiştirmekti.
Grant

IPv6 ortamınızda herhangi bir şekilde devre dışı mı?
Jim B

@JimB ne gerçekten etkin ne de devre dışı ... IPv6 yığını sunucularda çalışıyor, çünkü varsayılan olarak sahip olduğu varsayılan yapılandırmayla çalışıyor. Ağ geçidi ve internet bağlantısında IPv6 yoktur.
Hibe

Yanıtlar:


3

Ağa biraz daha baktım ve biraz okuma yaptım. AAAA kaydı için istek mevcut olmadığında, bir SOA döndürür. SOA'nın talep edilenden farklı bir alan adı için olduğu ortaya çıktı. Bu yüzden Windows'un yanıtı reddettiğini sanıyorum. Mx.atomwide.com için AAAA isteyin. Lgfl.org.uk. için yanıt SOA. Bu bilgilerle biraz ilerleme kaydedip edemeyeceğimizi göreceğim. DÜZENLEME: Sadece ileride başvurmak üzere, "Kirliliğe karşı güvenli önbellek" geçici olarak kapatıldığında sorgunun başarılı olması sağlanır. İdeal değil, ancak sorunun tehlikeli bir DNS kaydında olduğunu kanıtlıyor. RFC4074 de iyi bir referanstır - Giriş ve Bölüm.


Bunu bugün çevremde test etmeye çalışacağım, ama sanırım bir şeyin üzerinde olabilirsiniz!
Hibe

Ayrıca bağlantınızı düzenledim - imzalara ve konu dışı bağlantılara burada izin verilmiyor ve bunun için mükemmel cevabınızın silinmesini görmek istemiyorum.
Grant

0

KB832223'e göre

Sebep olmak

Bu sorun, Windows Server DNS'de desteklenen DNS için Uzantı Mekanizmaları (EDNS0) işlevselliği nedeniyle oluşur.

EDNS0 daha büyük Kullanıcı Datagram Protokolü (UDP) paket boyutlarına izin verir. Ancak, bazı güvenlik duvarı programları 512 bayttan büyük UDP paketlerine izin vermeyebilir. Bu nedenle, bu DNS paketleri güvenlik duvarı tarafından engellenebilir.

Microsoft şu çözünürlüğe sahiptir:

çözüm

Bu sorunu gidermek için, güvenlik duvarı programını 512 bayttan büyük UDP paketlerini tanıyacak ve izin verecek biçimde güncelleştirin. Bunun nasıl yapılacağı hakkında daha fazla bilgi için güvenlik duvarı programınızın üreticisine başvurun.

Microsoft, bu soruna geçici bir çözüm bulmak için aşağıdaki öneriye sahiptir:

Geçici çözüm

Bu soruna geçici bir çözüm bulmak için <a0> </a0>, Windows tabanlı DNS sunucularında EDNS0 özelliğini kapatın. Bunu yapmak için aşağıdaki işlemi yapın:

Komut isteminde aşağıdaki komutu yazın ve Enter tuşuna basın:

dnscmd /config /enableednsprobes 0

Not Bu komutta "enablensprobes" ifadesinden sonra "O" harfini değil, 0 (sıfır) yazın.


Bu makaleyi gördüm - test ettiğim güvenlik duvarları, linux üzerinde mükemmel çalıştığı kanıtlandığı gibi, her ikisi de büyük dns paketini sorunsuz geçiyor. Kenarları devre dışı bırakmak DNSSEC kullanımını engeller, bu nedenle sorunu düzeltmesine rağmen iyi bir çözüm değildir.
Hibe

üzgünüm, Microsoft'un rehberliğinin Linux için de geçerli olacağını fark etmedim. Meraktan, güvenlik duvarı üzerinden çalışan herhangi bir Microsoft işletim sisteminiz var mı?
Tim Penner
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.