Udostępnij za pośrednictwem


System Windows DNS rejestruje zduplikowane rekordy SRV dla kontrolera domeny, jeśli jego nazwa komputera ma wielkie litery

Ten artykuł pomaga rozwiązać problem polegający na tym, że system Windows DNS rejestruje zduplikowane rekordy lokalizacji serwera (SRV) dla kontrolera domeny, jeśli jego nazwa komputera ma wielkie litery.

Dotyczy: Windows Server 2019, Windows Server 2016
Oryginalny numer KB: 4496901

Symptomy

W ramach wdrożenia korzystasz z co najmniej jednego kontrolera domeny opartego na systemie Windows Server 2019 lub Windows Server 2016, który używa stref DNS zintegrowanych z usługami AD DS. Co najmniej jedna z kontrolerów domeny ma nazwę komputera, która zawiera wielkie litery.

W takiej sytuacji zauważysz, że rekordy DNS dla domeny obejmują zduplikowane rekordy lokalizacji serwera (SRV) dla kontrolerów domeny, które mają wielkie litery w nazwach komputerów. Jeden rekord zawiera nazwę komputera w RDATA we wszystkich małych literach, a jeden rekord zawiera nazwę komputera w RDATA w tym samym przypadku znaku co nazwa komputera.

Przyczyna

Takie zachowanie występuje ze względu na zmianę sposobu zarządzania segmentem RDATA rekordu SRV przez funkcję DNS systemu Windows Server. W systemie Windows Server 2012 R2 i starszych wersjach segment RDATA zawiera tylko małe litery. Jeśli nazwa komputera zawiera wielkie litery, funkcja DNS konwertuje je na małe litery. Jednak funkcja DNS systemu Windows Server 2016 (lub nowszej) akceptuje wielkie i małe litery.

Gdy serwer DNS sprawdza, czy nazwa komputera ma już skojarzony rekord SRV, nie uwzględnia zmian w przypadku. W związku z tym uważa winserv16.contoso.com i WinServ16.contoso.com ma być różnymi adresami.

Z tego powodu w przypadku używania następujących konfiguracji mogą wystąpić nieoczekiwane efekty:

  • Wszystkie serwery DNS i kontrolery domeny w domenie zostały uaktualnione z systemu Windows Server 2012 R2 (lub starszej wersji) do systemu Windows Server 2016 (lub nowszej wersji). Baza danych DNS może generować dodatkowe rekordy SRV dla dowolnego kontrolera domeny, który ma wielkie litery w nazwie komputera.

  • Wszystkie serwery DNS i kontrolery domeny w domenie działają w systemie Windows Server 2012 lub starszym. Rolę serwera DNS należy zainstalować na serwerze członkowskim systemu Windows Server 2016, a następnie podwyższyć poziom tego serwera członkowskiego do kontrolera domeny w tej samej domenie. Jeśli kontroler domeny systemu Windows Server 2016 ma wielkie litery w nazwie komputera, będzie miał dodatkowe rekordy SRV w systemie DNS.

  • Masz domenę zawierającą kontrolery domeny i serwery DNS z różnymi wersjami systemu Windows Server. Podstawowym serwerem DNS jest kontroler domeny z systemem Windows Server 2012 lub starszym, a pomocniczy serwer DNS jest kontrolerem domeny systemu Windows Server 2016. Podstawowy serwer DNS stanie się niedostępny i zmienisz kontroler domeny systemu Windows Server 2016 na nowy podstawowy serwer DNS. Po tej zmianie baza danych DNS może wygenerować dodatkowe rekordy SRV dla dowolnego kontrolera domeny, który ma wielkie litery w nazwie komputera.

Rozwiązanie

Firma Microsoft opublikowała aktualizację, która ogranicza ten problem. W poniższej tabeli wymieniono odpowiednie wersje aktualizacji dla wersji systemu Windows, których dotyczy problem.

Wersja Zwolnij
Windows Server 2019, wersja 1903 24 marca 2020 r. —KB4541335 (kompilacje systemu operacyjnego 18362.752 i 18363.752)
Windows Server 2019, wersja 1809 17 marca 2020 r. —KB4541331 (kompilacja systemu operacyjnego 17763.1131)
Windows Server 2016 17 marca 2020 r. —KB4541329 (kompilacja systemu operacyjnego 14393.3595)

Aktualizacja wprowadza nowe ustawienie zasad grupy w NETLOGON. Plik ADMX, zgodnie z opisem w poniższej tabeli.

Nazwa zasady Użyj małych liter nazw hostów DNS podczas rejestrowania rekordów SRV kontrolera domeny
Ścieżka zasad Konfiguracja komputera\Zasady\Szablony administracyjne\System\Net Logon\DC Lokalizator rekordów DNS\
Wartości zasad
  • 1 (wartość domyślna). Zasady są włączone. Zasady czyszczą zduplikowane rekordy SRV DNS. Po zainstalowaniu aktualizacji na kontrolerze domeny staje się to częścią domyślnej konfiguracji lokalnej tego kontrolera domeny.
  • 0. Zasady są wyłączone. W tym ustawieniu problematyczne zachowanie będzie kontynuowane, a kontrolery domeny z nazwami komputerów, które zawierają wielkie litery, nadal rejestrują rekordy SRV zawierające te wielkie litery. Wartość 0 jest obsługiwana tylko w przypadku użycia awaryjnego lub testowego. Nie należy jej używać w typowych warunkach.
Jeśli zasady nie są skonfigurowane lub brakuje jej wartości, kontroler domeny wraca do nowej domyślnej konfiguracji lokalnej i traktuje zasady jako włączone.

Aktualizacja dodaje następujący wpis rejestru skojarzony z tą zasadą. (Te informacje są udostępniane tylko do celów referencyjnych).

  • Podklucz rejestru: HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Netlogon\Parameters
  • Wpis rejestru: DnsSrvRecordUseLowerCaseHostNames
  • Typ danych: REG_DWORD

Po zainstalowaniu aktualizacji

Uwaga 16.

Nie trzeba ponownie uruchamiać ani wyłączać usługi Netlogon podczas instalowania aktualizacji, ręcznego czyszczenia rekordów ani wyłączania zasad. Po zainstalowaniu aktualizacji nie trzeba ponownie uruchamiać komputera.

Podczas instalowania aktualizacji (lub włączania zasad w środowisku, w którym została wyłączona), usługa Netlogon podejmuje najlepszą próbę usunięcia istniejących rekordów DNS, które mają wielkie litery.

Zalecamy zainstalowanie tej poprawki (lub włączenie zasad), a następnie poczekaj dzień lub dwa, aby umożliwić usłudze Netlogon uzyskanie i zastosowanie nowego ustawienia. Następnie poczekaj wystarczająco długo, aż zmiany zostaną zreplikowane w całym środowisku. Po tym czasie sprawdź rekordy DNS pod kątem pozostałych duplikatów. Prawdopodobnie zasady przegapią niektóre zduplikowane rekordy. W takim przypadku należy ręcznie usunąć te rekordy.

Do przeglądania rekordów można użyć następującego polecenia programu Windows PowerShell:

Get-DnsServerResourceRecord -ZoneName "contoso.com" -RRType Srv

Uwaga 16.

W tym poleceniu contoso.com jest symbolem zastępczym nazwy domeny.

Aby usunąć pozostałe zduplikowane rekordy, uruchom następujące polecenie programu PowerShell:

Remove-DnsServerResourceRecord -ZoneName "contoso.com" -RRType Srv -Name "<hostname of record to delete>" -RecordData "<recorddata of record to delete>"​

Wyłączenie zasad nie wymaga czyszczenia.

Ważne

Firma Microsoft opublikowała aktualizację, aby rozwiązać ten problem i uniemożliwić jej cykliczne działanie. Zalecamy zainstalowanie aktualizacji zamiast obejść problem.

Obejście 1. Zapobieganie duplikowaniu rekordów SRV

Za pomocą następujących metod można zapobiec tworzeniu zduplikowanych rekordów SRV w systemie Windows DNS:

  • Przed podwyższeniem poziomu serwera członkowskiego do kontrolera domeny lub przed uaktualnieniem kontrolera domeny do systemu Windows Server 2016 lub nowszej wersji, upewnij się, że jego nazwa komputera zawiera tylko małe litery.

  • Upewnij się, że wszystkie wewnętrzne procesy kompilacji, narzędzia i skrypty, które tworzą, modyfikują lub używają nazw komputerów, również używają małych liter.

  • Jeśli nie możesz zmienić nazwy kontrolerów domeny (lub może to potrwać długo), skonfiguruj topologię DNS, tak aby kontrolery domeny z systemem Windows Server 2016 lub nowszym używały serwerów DNS z systemem Windows Server 2016 lub nowszym. Podobnie skonfiguruj kontrolery domeny z systemem Windows Server 2012 R2 lub starszym do używania serwerów DNS z systemem Windows Server 2012 R2 lub starszym.

Obejście 2. Usuwanie zduplikowanych rekordów SRV

Aby obejść ten problem po jego napotkaniu, musisz zmienić nazwę kontrolerów domeny przy użyciu wszystkich małych liter. W zależności od szczegółów wdrożenia może być konieczne ręczne ponowne skonfigurowanie ustawień lub usunięcie plików. Ta sekcja zawiera następujące metody obejścia w kolejności złożoności:

Ważne

Przed użyciem dowolnej z tych metod zapoznaj się z następującymi artykułami. Te artykuły zawierają szczegółowe instrukcje, które należy wykonać, aby zmienić nazwę kontrolera domeny. Zawierają one również informacje o dodatkowych zadaniach oczyszczania, które mogą być konieczne po obniżeniu lub zmianie nazwy kontrolera domeny.

Uwaga 16.

Jeśli po zmianie nazwy kontrolera domeny wystąpią jakiekolwiek problemy, przywróć nazwę kontrolera domeny do oryginalnej zawartości.

Metoda 1. Zmiana nazwy kontrolera domeny w domenie pojedynczego kontrolera domeny

Jeśli masz jeden kontroler domeny, wykonaj kroki opisane w temacie Zmiana nazwy kontrolera domeny, aby zmienić nazwę komputera kontrolera domeny na nową nazwę zawierającą tylko małe litery. W przypadku pojedynczego kontrolera domeny nie trzeba obniżać ani ponownie go repromitować.

Ważne

Zdecydowanie zalecamy, aby każda domena zawierała co najmniej dwa kontrolery domeny. Jeśli masz tylko jeden kontroler domeny, za każdym razem, gdy kontroler domeny napotka problem, domena może stać się niedostępna.

Metoda 2. Zmiana nazwy kontrolerów domeny w domenie z wieloma kontrolerami domeny

Jeśli w domenie znajduje się więcej niż jeden kontroler domeny, wykonaj następujące kroki dla każdego kontrolera domeny, którego dotyczy problem:

  1. Obniż poziom kontrolera domeny i wyczyść powiązane metadane. Aby uzyskać więcej informacji, zobacz Demoting Domain Controllers and Domains and AD Forest Recovery — Czyszczenie metadanych usuniętych zapisywalnych kontrolerów domeny.

  2. Zmień nazwę komputera, podając nazwę zawierającą tylko małe litery.

  3. Ponownie podwyższ poziom komputera do kontrolera domeny.

Do czasu, gdy wszystkie kontrolery domeny są z powrotem w trybie online, powinny zniknąć zduplikowane (mieszane wielkości liter) rekordy SRV.

Metoda 3. Zmiana nazwy kontrolerów domeny i usunięcie wszystkich przechowywanych rekordów SRV

Jeśli metoda 1 i metoda 2 nie zapewniają zadowalających wyników, wykonaj następujące kroki dla każdego kontrolera domeny, którego dotyczy problem:

  1. Obniż poziom kontrolera domeny i wyczyść powiązane metadane. Aby uzyskać więcej informacji, zobacz Demoting Domain Controllers and Domains and AD Forest Recovery — Czyszczenie metadanych usuniętych zapisywalnych kontrolerów domeny.

  2. Na zdegradowanym komputerze wykonaj następujące kroki:

    1. Zmień nazwę komputera, podając nazwę zawierającą tylko małe litery.
    2. Zatrzymaj usługę netlogon. W tym celu otwórz okno wiersza polecenia z podwyższonym poziomem uprawnień, a następnie uruchom polecenie net stop netlogon.
    3. Usuń następujące pliki w folderze C:\Windows\System32\config\:
      • netlogon.dnb
      • netlogon.dns
  3. Na jednej z pozostałych kontrolerów domeny otwórz Menedżer serwera, wybierz pozycję Narzędzia, a następnie wybierz pozycję DNS.

  4. W Menedżerze DNS sprawdź kontenery w obszarze Strefy wyszukiwania do przodu, a następnie usuń rekordy SRV dla zdegradowanego kontrolera domeny.

  5. Na komputerze o zmienionej nazwie uruchom usługę netlogon. W tym celu otwórz okno wiersza polecenia z podwyższonym poziomem uprawnień, a następnie uruchom polecenie net start netlogon.

  6. Ponownie podwyższ nazwę komputera do kontrolera domeny.