Kerberos dwingen TCP te gebruiken in plaats van UDP in Windows

In dit artikel wordt beschreven hoe u Kerberos dwingt TCP te gebruiken in plaats van UDP.

Van toepassing op: Windows 10 - alle edities, Windows Server 2012 R2
Oorspronkelijk KB-nummer: 244474

Samenvatting

Het Windows Kerberos-verificatiepakket is het standaardverificatiepakket in Windows Server 2003, Windows Server 2008 en Windows Vista. Het wordt samen met het NTLM-vraag-/antwoordprotocol gebruikt in gevallen waarin zowel een client als een server kunnen onderhandelen over Kerberos. Aanvraag voor opmerkingen (RFC) 1510 geeft aan dat de client een UDP-datagram (User Datagram Protocol) moet verzenden naar poort 88 op het IP-adres van het Key Distribution Center (KDC) wanneer een client contact op neemt met de KDC. De KDC moet met een antwoordgegevensgram reageren op de verzendende poort op het IP-adres van de afzender. De RFC geeft ook aan dat UDP het eerste protocol moet zijn dat wordt geprobeerd.

Opmerking

RFC 4120 is nu verouderd RFC 1510. RFC 4120 geeft aan dat een KDC TCP-aanvragen moet accepteren en moet luisteren naar dergelijke aanvragen op poort 88 (decimaal). Standaard proberen Windows Server 2008 en Windows Vista EERST TCP voor Kerberos, omdat de standaardwaarde maxPacketSize nu 0 is. U kunt nog steeds de registerwaarde MaxPacketSize gebruiken om dat gedrag te overschrijven.

Een beperking van de UDP-pakketgrootte kan het volgende foutbericht veroorzaken bij het aanmelden bij het domein:

Gebeurtenislogboekfout 5719
Bron-NETLOGON

Er is geen Windows NT- of Windows 2000-domeincontroller beschikbaar voor domeindomein. De volgende fout is opgetreden:

Er zijn momenteel geen aanmeldingsservers beschikbaar om de aanmeldingsaanvraag te verwerken.

Daarnaast kan het hulpprogramma Netdiag de volgende foutberichten weergeven:

  • Foutbericht 1

    DC list test. . . . . . . . . . . : Mislukt [WAARSCHUWING] Kan DsBind niet aanroepen naar COMPUTERNAMEDC.domain.com (159.140.176.32). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]

  • Foutbericht 2

    Kerberos-test. . . . . . . . . . . : Mislukt [FATAL] Kerberos heeft geen ticket voor MEMBERSERVER$.] De Windows XP-gebeurtenislogboeken die symptomen van dit probleem zijn, zijn SPNegotiate 40960 en Kerberos 10.

Meer informatie

Belangrijk

Deze sectie, methode of taak bevat stappen voor het bewerken van het register. Als u het register op onjuiste wijze wijzigt, kunnen er echter grote problemen optreden. Het is dan ook belangrijk dat u deze stappen zorgvuldig uitvoert. Maak een back-up van het register voordat u wijzigingen aanbrengt. Als er een probleem optreedt, kunt u het register altijd nog herstellen. Raadpleeg Een back-up maken van en het herstellen van het register in Windows voor meer informatie over het maken van een back-up en het herstellen van het register.

Als u UDP voor Kerberos gebruikt, reageert uw clientcomputer mogelijk niet meer (vast) wanneer u het volgende bericht ontvangt: Uw persoonlijke instellingen laden.

De maximale grootte van datagrampakketten waarvoor Windows Server 2003 UDP gebruikt, is standaard 1.465 bytes. Voor Windows XP en voor Windows 2000 is dit maximum 2000 bytes. Transmission Control Protocol (TCP) wordt gebruikt voor elke datagrampacket die groter is dan dit maximum. De maximale grootte van datagrampakketten waarvoor UDP wordt gebruikt, kan worden gewijzigd door een registersleutel en -waarde te wijzigen.

Kerberos maakt standaard gebruik van UDP-gegevensgrampakketten zonder verbinding. Afhankelijk van verschillende factoren, waaronder de geschiedenis van de beveiligings-id (SID) en het groepslidmaatschap, hebben sommige accounts grotere Kerberos-verificatiepakketten. Afhankelijk van de hardwareconfiguratie van het virtuele particuliere netwerk (VPN), moeten deze grotere pakketten worden gefragmenteerd wanneer ze via een VPN gaan. Het probleem wordt veroorzaakt door fragmentatie van deze grote UDP Kerberos-pakketten. Omdat UDP een protocol zonder verbinding is, worden gefragmenteerde UDP-pakketten verwijderd als ze niet in de juiste volgorde op de bestemming aankomen.

Als u MaxPacketSize wijzigt in een waarde van 1, dwingt u de client om TCP te gebruiken om Kerberos-verkeer via de VPN-tunnel te verzenden. Omdat TCP verbindingsgericht is, is het een betrouwbaarder transportmiddel via de VPN-tunnel. Zelfs als de pakketten worden verwijderd, vraagt de server het ontbrekende gegevenspakket opnieuw aan.

U kunt MaxPacketSize wijzigen in 1 om te forceren dat de clients Kerberos-verkeer via TCP gebruiken. Ga hiervoor als volgt te werk:

  1. De Register-editor starten.

  2. Zoek en klik op de registersubsleutel: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters.

    Opmerking

    Als de parametersleutel niet bestaat, maakt u deze nu.

  3. Open het menu Bewerken, wijs Nieuw aan en klik op DWORD Value.

  4. Typ MaxPacketSize en druk op Enter.

  5. Dubbelklik op MaxPacketSize, typ 1 in het vak Waardegegevens , klik om de optie Decimaal te selecteren en klik vervolgens op OK.

  6. Sluit de Register-editor af.

  7. Start de computer opnieuw op.

Dit is de oplossingsbenadering voor Windows 2000, XP en Server 2003. Windows Vista en nieuwere gebruiken de standaardwaarde '0' voor MaxPacketSize, waarmee ook het gebruik van UDP voor de Kerberos-client wordt uitgeschakeld.

De volgende sjabloon is een beheersjabloon die kan worden geïmporteerd in groepsbeleid zodat de waarde MaxPacketSize kan worden ingesteld voor alle computers met Windows Server 2003, Windows XP of Windows 2000. Als u de instellingen voor MaxPacketSize wilt weergeven in groepsbeleid Objecteditor, klikt u op Alleen beleid weergeven in het menu Weergave, zodat Alleen beleid weergeven niet is geselecteerd. Met deze sjabloon worden registersleutels buiten de sectie Beleid gewijzigd. Standaard worden groepsbeleid objecteditor deze registerinstellingen niet weergegeven.