Udostępnij za pośrednictwem


Maszyny klienckie nie wysyłają aktualizacji DDNS, gdy serwer DHCP przestaje wysyłać opcję 81

Ten artykuł pomaga rozwiązać problem, w którym maszyny klienckie z systemem Windows nie wysyłają aktualizacji dynamicznego systemu nazw domen (DNS), gdy serwer DHCP (Dynamic Host Configuration Protocol) przestaje wysyłać opcję 81 (znaną również jako w pełni kwalifikowana nazwa domeny klienta (FQDN) w pakietach DHCPREQUEST (REQ) i DHCPACK (ACK) odpowiedzi DHCP.

Masz serwer DHCP, który dzierżawi adresy IP na maszyny klienckie i włączono konfigurację opcji 81 po stronie serwera DHCP. Opcja 81 jest skonfigurowana do wykonywania dynamicznych aktualizacji DNS (DDNS) dla przychodzących żądań klientów DHCP. Dzięki tej konfiguracji serwer DHCP wykonuje aktualizacje DDNS dla klientów i zawsze wysyła opcję 81 z powrotem do klientów.

Uwaga 16.

Ustawienia konfiguracji na serwerze DHCP to:

  • Zawsze dynamicznie aktualizuj rekordy DNS
  • Odrzuć rekordy A i PTR po usunięciu dzierżawy
  • Dynamiczne aktualizowanie rekordów DNS dla klientów DHCP, którzy nie żądają aktualizacji (na przykład klientów z systemem Windows NT 4.0)

Maszyna kliencka jest stale uruchamiana i wykonuje proces REQ-ACK (bez ukończenia procesu DORA) dla rozszerzenia dzierżawy adresu IP zgodnie z czasem dzierżawy DHCP. Odnawianie protokołu DHCP w idealnym przypadku wynosi 50% i 87,5% czasu trwania dzierżawy.

Uwaga 16.

DORA oznacza Discover, Offer, Request i Acknowledge.

Gdy serwer DHCP przestanie wysyłać opcję 81, komputer kliencki zakłada, że serwer DHCP nadal obsługuje aktualizacje DDNS i nie wyzwala aktualizacji zgodnie z oczekiwaniami. Nawet jeśli ponownie uruchomisz maszynę klienta (biorąc pod uwagę, że dzierżawa nie wygasła), maszyna kliencka nie wykonuje aktualizacji DDNS w pakietach REQ-ACK.

W związku z tym rekord DNS nie zostanie wypełniony, ponieważ ani serwer DHCP, ani maszyna kliencka nie aktualizuje rekordu. Jeśli filtrowanie DNS jest włączone, rekord maszyny, której dotyczy problem, może zostać usunięty.

Maszyna kliencka nie otrzymuje opcji 81 i korzysta z pamięci podręcznej

Maszyna kliencka aktualizuje i buforuje konfigurację dhcp Option 81 odebraną z serwera DHCP w ramce usługi ACK. Ta aktualizacja odbywa się za każdym razem, gdy usługa ACK jest zwracana z serwera DHCP z dołączoną opcją 81. Ta pamięć podręczna jest przechowywana w następującej wartości rejestru:

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{Interface GUID}\DCHPInterfaceOptions

Ważne

Nie wprowadzaj żadnych zmian w tym rejestrze, ponieważ rejestr zawiera informacje, które nie powinny być zmieniane ręcznie.

Maszyna kliencka nie otrzymuje opcji 81, więc nie ma nic do zaktualizowania i opiera się całkowicie na pamięci podręcznej.

Maszyna kliencka musi wykonać kompletny proces DORA

Aby rozwiązać ten problem, maszyna kliencka musi wykonać pełny proces DORA w celu zaktualizowania pamięci podręcznej. Proces DORA można zainicjować za pomocą jednej z następujących metod:

  • Ustaw adres IP maszyny klienckiej na wygaśnięcie. Na przykład wyłącz system operacyjny na czas trwania dzierżawy.
  • Uruchom polecenia ipconfig /release i ipconfig /renew na maszynie.
  • Uruchom skrypt, aby ustawić urządzenie w celu ręcznego zarejestrowania systemu DNS przy użyciu ipconfig /registerdns polecenia .

Diagnostyka i zbieranie dzienników

Aby zidentyfikować, że występuje problem, wykonaj następujące kroki:

  1. Na problematycznej maszynie klienckiej włącz następujące dzienniki zdarzeń w Podgląd zdarzeń:

    Dzienniki>>aplikacji i usług Microsoft Windows>Dhcp-Client Microsoft-Windows-DHCP Client>Events/Operational

  2. Po włączeniu otwórz okno wiersza polecenia z podwyższonym poziomem uprawnień i uruchom następujące polecenie:

    ipconfig /renew
    

    Następnie niektóre zdarzenia będą generowane w obszarze Dhcp-Client Microsoft-Windows-DHCP Client>Events/Operational.

  3. Wyszukaj identyfikator zdarzenia 50042, którego kategoria zadań to Zdarzenie stanu DNS. To zdarzenie daje wartość flagi DNS.

  4. Jeśli wartość flagi DNS jest ustawiona na 64, oznacza to, że maszyna kliencka nie wysyła samej aktualizacji dynamicznej, ale opiera się na serwerze DHCP.

    Wartość 64 może być spowodowana przez pamięć podręczną rejestru, gdy serwer DHCP nie wysyła z powrotem opcji 81.

    W niektórych przypadkach wartość 64 może również wskazywać, że serwer DHCP odpowiada za pomocą opcji 81, która zastępuje opcje klienta:

    Zrzut ekranu pokazujący, że serwer DHCP odpowiada za pomocą opcji 81, przesłaniając opcje klienta.

    W tym artykule rozwiązano problem polegający na tym, że wartość 64 jest spowodowana przez pamięć podręczną, a nie odpowiedź serwera DHCP.

Zbieranie dzienników śledzenia

Aby zdiagnozować problem, zbierz ślad sieci przy użyciu polecenia netsh:

  1. Otwórz wiersz polecenia systemu Windows z podwyższonym poziomem uprawnień.

  2. Uruchom śledzenie sieci, uruchamiając następujące polecenie:

    Netsh trace start overwrite=yes persistent=yes traceFile=C:\DDNSTrace.etl capture=yes report=disabled maxSize=16000 provider={1C95126E-7EEA-49A9-A3FE-A378B03DDB4D} keywords=0xffffffffffffffff level=0xff provider= {1540FF4C-3FD7-4BBA-9938-1D1BF31573A7} keywords=0xffffffffffffffff level=0xff provider= {9CA335ED-C0A6-4B4D-B084-9C9B5143AFF0} keywords=0xffffffffffffffff level=0xff provider= {609151DD-04F5-4DA7-974C-FC6947EAA323} keywords=0xffffffffffffffff level=0xff provider= {76325CAB-83BD-449E-AD45-A6D35F26BFAE} keywords=0xffffffffffffffff level=0xff provider={A7B8B859-D00E-45CC-85B8-89EA5D015C62} keywords=0xffffffffffffffff level=0xff provider={CFAA5446-C6C4-4F5C-866F-31C9B55B962D} keywords=0xffffffffffffffff level=0xff provider={CA030134-54CD-4130-9177-DAE76A3C5791} keywords=0xffffffffffffffff level=0xff provider="Microsoft-Windows-DNS-Client" keywords=0xffffffffffffffff level=0xff provider="Microsoft-Windows-Dhcp-Client" keywords=0xffffffffffffffff level=0xff provider={CC3DF8E3-4111-48d0-9B21-7631021F7CA6} keywords=0xffffffffffffffff level=0xff
    
  3. Uruchom następujące polecenie:

    ipconfig /renew
    
  4. Zatrzymaj śledzenie sieci, uruchamiając następujące polecenie:

    netsh trace stop