Сервер DNS-сервера 2012R2, що повертає SERVFAIL для деяких запитів AAAA


17

(Переписування більшості цього питання, оскільки багато моїх оригінальних тестів не мають значення з огляду на нову інформацію)

У мене виникають проблеми із серверами DNS Server 2012R2. Найбільшим побічним ефектом цих проблем є обмін електронними листами. Обміняйте запити на записи AAAA перед тим, як спробувати записи A. Коли він бачить SERVFAIL для запису AAAA, він навіть не пробує записи A, він просто здається.

Для деяких доменів під час запитів до моїх активних серверів DNS-каталогів я отримую SERVFAIL замість NOERROR без результатів.

Я спробував це у кількох різних контролерів домену Server 2012R2, на яких працює DNS. Один з них - це цілком окремий домен, в іншій мережі за іншим брандмауером та підключенням до Інтернету.

Два адреси , які я знаю , причина цієї проблеми є smtpgw1.gov.on.caіmxmta.owm.bell.net

Я використовував digна машині Linux тестування цього (192.168.5.5 - це мій контролер домену):

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

Але запити проти контролера публічного домену працюють як слід:

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

Як я вже говорив, я спробував це в двох різних мережах і доменах. Один - це абсолютно новий домен, який безумовно має всі параметри за замовчуванням для DNS. Інший був перенесений на сервер 2012, тому деякі старі налаштування з 2003/2008, можливо, перенеслися. Я отримую однакові результати на обох.

Відключення EDNS за допомогою dmscnd /config /enableednsprobes 0виправлень. Я бачу, що багато результатів пошуку, пов’язані з тим, що EDNS є проблемою на сервері 2003, але не дуже відповідає тому, що я бачу на сервері 2012. Жоден брандмауер не має проблеми з EDNS. Відключення EDNS має бути лише тимчасовим вирішенням проблеми - це перешкоджає використанню DNSSEC та може спричинити інші проблеми.

Я також бачив деякі публікації щодо проблем із сервером Server 2008R2 та EDNS, але ці ж повідомлення говорять, що все виправлено у Server 2012, тому воно має працювати належним чином.

Я також спробував увімкнути журнал налагодження для DNS. Я бачу пакети, які я очікував, але це не дає мені багато розуміння того, чому він повертається SERVFAIL. Ось відповідні частини журналу налагодження сервера DNS:

Перший пакет - запит від клієнта до мого DNS-сервера

16.10.2015 9:42:29 0974 ПАКЕТ 000000EFF1BF01A0 UDP Rcv 172.16.0.254 a61e Q [2001 D NOERROR] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
Інформація про питання UDP за номером 000000EFF1BF01A0
  Розетка = 508
  Віддалений пристрій 172.16.0.254, порт 50764
  Запит часу = 4556080, черга = 0, термін дії = 0
  Довжина Buf = 0x0fa0 (4000)
  Msg довжина = 0x002e (46)
  Повідомлення:
    XID 0xa61e
    Прапори 0x0120
      QR 0 (ПИТАННЯ)
      OPCODE 0 (QUERY)
      AA 0
      TC 0
      РД 1
      RA 0
      Z 0
      CD 0
      AD 1
      RCODE 0 (NOERROR)
    QCOUNT 1
    ОБЛІК 0
    NSCOUNT 0
    АРКОУНТ ​​1
    РОЗДІЛ ЗАПИТАННЯ:
    Зсув = 0x000c, кількість RR = 0
    Назва "(7) smtpgw1 (3) gov (2) on (2) ca (0)"
      QTYPE AAAA (28)
      QCLASS 1
    ВІДПОВІДЬ:
      порожній
    РОЗДІЛ ВЛАДИ:
      порожній
    ДОДАТКОВИЙ РОЗДІЛ:
    Зсув = 0x0023, кількість RR = 0
    Назва "(0)"
      ТИП ОПТ (41)
      КЛАС 4096
      TTL 0
      DLEN 0
      ДАНІ   
        Розмір буфера = 4096
        Rcode Ext = 0
        Rcode Full = 0
        Версія = 0
        Прапори = 0

Другий пакет - запит від мого DNS-сервера до їх DNS-сервера

16.10.2015 9:42:29 0974 ПАКЕТ 000000EFF0A22160 UDP Snd 204.41.8.237 3e6c Q [0000 NOERROR] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
Інформація про питання UDP за номером 000000EFF0A22160
  Розетка = 9812
  Віддалений додавач 204.41.8.237, порт 53
  Запит часу = 0, в черзі = 0, термін дії = 0
  Довжина Buf = 0x0fa0 (4000)
  Msg довжина = 0x0023 (35)
  Повідомлення:
    XID 0x3e6c
    Прапори 0х0000
      QR 0 (ПИТАННЯ)
      OPCODE 0 (QUERY)
      AA 0
      TC 0
      RD 0
      RA 0
      Z 0
      CD 0
      AD 0
      RCODE 0 (NOERROR)
    QCOUNT 1
    ОБЛІК 0
    NSCOUNT 0
    ARCOUNT 0
    РОЗДІЛ ЗАПИТАННЯ:
    Зсув = 0x000c, кількість RR = 0
    Назва "(7) smtpgw1 (3) gov (2) on (2) ca (0)"
      QTYPE AAAA (28)
      QCLASS 1
    ВІДПОВІДЬ:
      порожній
    РОЗДІЛ ВЛАДИ:
      порожній
    ДОДАТКОВИЙ РОЗДІЛ:
      порожній

Третій пакет - відповідь з їх сервера DNS (NOERROR)

16.10.2015 9:42:29 0974 ПАКЕТ 000000EFF2188100 UDP Rcv 204.41.8.237 3e6c RQ [0084 A NOERROR] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
Інформація про відповіді UDP за номером 000000EFF2188100
  Розетка = 9812
  Віддалений додавач 204.41.8.237, порт 53
  Запит часу = 4556080, черга = 0, термін дії = 0
  Довжина Buf = 0x0fa0 (4000)
  Msg довжина = 0x0023 (35)
  Повідомлення:
    XID 0x3e6c
    Прапори 0x8400
      QR 1 (ВІДПОВІДЬ)
      OPCODE 0 (QUERY)
      АА 1
      TC 0
      RD 0
      RA 0
      Z 0
      CD 0
      AD 0
      RCODE 0 (NOERROR)
    QCOUNT 1
    ОБЛІК 0
    NSCOUNT 0
    ARCOUNT 0
    РОЗДІЛ ЗАПИТАННЯ:
    Зсув = 0x000c, кількість RR = 0
    Назва "(7) smtpgw1 (3) gov (2) on (2) ca (0)"
      QTYPE AAAA (28)
      QCLASS 1
    ВІДПОВІДЬ:
      порожній
    РОЗДІЛ ВЛАДИ:
      порожній
    ДОДАТКОВИЙ РОЗДІЛ:
      порожній

Четвертий пакет - відповідь від мого DNS-сервера до клієнта (SERVFAIL)

16.10.2015 9:42:29 0974 ПАКЕТ 000000EFF1BF01A0 UDP Snd 172.16.0.254 a61e RQ [8281 DR SERVFAIL] AAAA (7) smtpgw1 (3) gov (2) on (2) ca (0)
Інформація про відповідь UDP за номером 000000EFF1BF01A0
  Розетка = 508
  Віддалений пристрій 172.16.0.254, порт 50764
  Запит часу = 4556080, черга = 4556080, термін дії = 4556083
  Довжина Buf = 0x0fa0 (4000)
  Msg довжина = 0x002e (46)
  Повідомлення:
    XID 0xa61e
    Прапори 0x8182
      QR 1 (ВІДПОВІДЬ)
      OPCODE 0 (QUERY)
      AA 0
      TC 0
      РД 1
      РА 1
      Z 0
      CD 0
      AD 0
      RCODE 2 (SERVFAIL)
    QCOUNT 1
    ОБЛІК 0
    NSCOUNT 0
    АРКОУНТ ​​1
    РОЗДІЛ ЗАПИТАННЯ:
    Зсув = 0x000c, кількість RR = 0
    Назва "(7) smtpgw1 (3) gov (2) on (2) ca (0)"
      QTYPE AAAA (28)
      QCLASS 1
    ВІДПОВІДЬ:
      порожній
    РОЗДІЛ ВЛАДИ:
      порожній
    ДОДАТКОВИЙ РОЗДІЛ:
    Зсув = 0x0023, кількість RR = 0
    Назва "(0)"
      ТИП ОПТ (41)
      КЛАС 4000
      TTL 0
      DLEN 0
      ДАНІ   
        Розмір буфера = 4000
        Rcode Ext = 0
        Rcode Full = 2
        Версія = 0
        Прапори = 0

Інші примітки:

  • В одній із мереж є власний доступ до Інтернету IPv6, в іншій немає (але стек IPv6 увімкнено на серверах із налаштуваннями за замовчуванням). Здається, це не проблема мережі IPv6
  • Це не стосується всіх доменів. Наприклад, dig @192.168.5.5 -t AAAA serverfault.comповертає NOERROR, а результатів немає. Те саме, що google.comправильно повертає IPv6 адреси google.
  • Спробувавши встановити виправлення з KB3014171 , це не мало значення.
  • Оновлення від KB3004539 вже встановлено.

Редагувати 7 листопада 2015 року

Я налаштував ще одну не-доменну приєднану машину Server 2012R2, встановив роль сервера DNS і перевірив команду nslookup -type=aaaa smtpgw1.gov.on.ca localhost. У НЕ виникають однакові проблеми.

Обидва віртуальних машин знаходяться на одному хості та в одній мережі, що дозволяє усунути будь-які проблеми з мережею / брандмауером. Тепер це знижується або на рівні патчу, або на тому, що член домену / контролер домену, який має значення.

Редагувати 8 листопада 2015 року

Застосовували всі оновлення, без різниці. Перейшов до подвійної перевірки, чи існували якісь відмінності в конфігурації між моїм новим тестовим сервером та налаштуваннями DNS мого контролера домену.

Тепер я впевнений, що я намагався з експедиторами та без своїх початкових тестів, але я спробував це лише digз машини Linux. Я отримую дещо інші результати за допомогою та без налаштування експедиторів (пробував із Google, OpenDNS, 4.2.2.1 та моїми DNS-серверами ISP), коли використовую nslookup на машині Windows.

З набором експедитора я дістаюсь Server failed.

Без експедитора (тому він використовує кореневі сервери DNS), я отримую No IPv6 address (AAAA) records available for smtpgw1.gov.on.ca.

Але це все одно не те саме, що я отримую для інших доменів, які не мають записів IPv6 - nslookup у Windows просто не повертає результатів для інших доменів.

З експедиторами або без них digвсе ще відображається SERVFAILдля цього імені при запиті мого DNS-сервера Windows.

Існує невелика різниця між проблемним доменом та іншими, що здається актуальним, навіть коли я не залучаю свій DNS-сервер Windows:

dig -t aaaa @8.8.8.8 smtpgw1.gov.on.ca не має відповідей і не має розділу з повноваженнями.

dig -t aaaa @8.8.8.8 serverfault.comне дає відповідей, але має розділ повноважень. Так само, як і більшість інших доменів, які я намагаюсь, незалежно від того, яким резолютором я користуюся.

То чому цей розділ повноважень відсутній і чому сервер Windows DNS трактує це як збій, коли інші сервери DNS цього не роблять?


Ви проводите ці тести з сервера Exchange? Якщо ні, я б запропонував зробити так, щоб ви могли бачити це з точки зору біржі. Ви можете спробувати запустити SMTPDiag і з сервера Exchange. Я б запропонував запустити його під час здійснення захоплення мережі на сервері Exchange, щоб ви могли переглянути деталі мережі / DNS-діяльності. SMTPDiag - це старий інструмент, але це інструмент командного рядка, який не потребує встановлення, тому я думаю, що він повинен працювати на всіх версіях Exchange. - microsoft.com/en-us/download/details.aspx?id=11393
joeqwerty

Деякі мережеві пристрої не розпізнають і відхилять пакети EDNS. Чи нещодавно ваша мережна команда представила новий пристрій / налаштування? Щоб усунути цю можливість, спробуйте вирішити запис AAAA google.com, він повинен повернути адресу IPv6.
strongline

@strongline EDNS-пакети проходять добре. Запис AAAA для Google працює, як і для кількох інших сайтів, які я знаю, працює IPv6. Єдиним випадком, який було зроблено нещодавно, було позбавлення нашого останнього сервера 2008 / DC DC / DNS-сервера та заміна 2012R2.
Грант

Чи вимкнено IPv6 у вашому оточенні?
Джим Б

@JimB ні реально не ввімкнено, ні відключено ... Стек IPv6 працює на серверах, оскільки він увімкнено, за будь-якої конфігурації за замовчуванням. Шлюз та підключення до Інтернету взагалі не мають IPv6.
Грант

Відповіді:


3

Я ще раз заглянув у мережу Tace та почитав. Запит на запис AAAA, коли його немає, повертає SOA. Виявляється, SOA призначений для іншого домену, ніж той, що запитується. Я підозрюю, що тому Windows відхиляє відповідь. Запит AAAA на mx.atomwide.com. SOA відповіді для lgfl.org.uk. Я побачу, чи зможемо ми досягти певного прогресу з цією інформацією. EDIT: Тільки для подальшої довідки тимчасове вимкнення "Захищеного кешу проти забруднення" дозволить успішному запиту. Не ідеально, але доводить, що проблема полягає у химерному записі DNS. RFC4074 - це також хороший референс - Intro та Section.


Я сьогодні спробую перевірити це в моєму середовищі, але я думаю, що ти можеш на щось потрапити!
Грант

Також я відредагував ваше посилання - підписи та посилання поза темою тут заборонені, і я не хочу бачити, щоб ваша інакша відмінна відповідь була видалена за неї.
Грант

0

Згідно KB832223

Причина

Ця проблема виникає через механізми розширення для DNS (EDNS0), які підтримуються в DNS Windows Server.

EDNS0 дозволяє збільшити розміри пакетів протоколу (UDP) протоколу користувача (UDP). Однак деякі програми брандмауера можуть не дозволяти пакети UDP, що перевищують 512 байт. Тому ці пакети DNS можуть бути заблоковані брандмауером.

Microsoft має таку роздільну здатність:

Дозвіл

Щоб вирішити цю проблему, оновіть програму брандмауера, щоб розпізнати та дозволити пакети UDP, що перевищують 512 байт. Для отримання додаткової інформації про те, як це зробити, зверніться до виробника програми брандмауера.

Microsoft пропонує наступну пропозицію для вирішення проблеми:

Обхід

Щоб вирішити цю проблему, вимкніть функцію EDNS0 на серверах DNS на базі Windows. Для цього вживайте наступних дій:

У командному рядку введіть таку команду та натисніть клавішу Enter:

dnscmd /config /enableednsprobes 0

Примітка Введіть 0 (нуль), а не літеру "O" після "увімкнених зондів" у цій команді.


Я бачив цю статтю - брандмауери, які я протестував з обома передаючими великими пакетами dns без проблем, про що свідчить, що вона прекрасно працює на Linux. Якщо вимкнути Еднс, перешкоджає використанню DNSSEC, тому, хоч він усуває проблему, це не є гарним рішенням.
Грант

Вибачте, що я не усвідомлював, що керівництво Microsoft стосуватиметься і Linux. З цікавості, у вас є якась - або операційна система Microsoft, яка працює через брандмауер?
Тім Пеннер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.