Delen via


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.

Oorspronkelijk KB-nummer: 244474

Samenvatting

Het Windows Kerberos-verificatiepakket is het standaardverificatiepakket in Windows Server 2003, in Windows Server 2008 en in Windows Vista. Het werkt samen met het NTLM-challenge/response-protocol en wordt gebruikt in gevallen waarin zowel een client als een server kan 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 KDC (Key Distribution Center) wanneer een client contact op neemt met de KDC. De KDC moet reageren met een antwoorddatagram naar 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.

Notitie

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). Windows Server 2008 en Windows Vista proberen standaard EERST TCP voor Kerberos, omdat de standaardwaarde MaxPacketSize nu 0 is. U kunt de registerwaarde MaxPacketSize nog steeds gebruiken om dat gedrag te overschrijven.

Een beperking voor 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. . . . . . . . . . . : [WAARSCHUWING] Kan DsBind niet aanroepen COMPUTERNAMEDC.domain.com (159.140.176.32). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]

  • Foutbericht 2

    Kerberos-test. . . . . . . . . . . : Failed [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. Zorg er daarom voor dat u de volgende stappen zorgvuldig volgt. Voor optimale veiligheid maakt u dagelijks een back-up van het register voordat u het wijzigt. 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 (loopt vast) wanneer u het volgende bericht ontvangt: Uw persoonlijke instellingen laden.

Standaard is de maximale grootte van datagrampakketten waarvoor Windows Server 2003 gebruikmaakt van UDP 1465 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 verbindingsloze UDP-datagrampakketten. Afhankelijk van verschillende factoren, waaronder sid-geschiedenis (security identifier) en groepslidmaatschap, hebben sommige accounts grotere Kerberos-verificatiepakketten. Afhankelijk van de hardwareconfiguratie van het virtuele particuliere netwerk (VPN), moeten deze grotere pakketten worden gefragmenteerd bij het doorlopen van een VPN. Het probleem wordt veroorzaakt door fragmentatie van deze grote UDP Kerberos-pakketten. Omdat UDP een verbindingsloos protocol is, worden gefragmenteerde UDP-pakketten verwijderd als ze niet 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 is gericht op verbindingen, 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 af te dwingen dat de clients Kerberos-verkeer via TCP gebruiken. Hiervoor volgt u deze stappen:

  1. Start de Register-editor.

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

    Notitie

    Als de parametersleutel niet bestaat, maakt u deze nu.

  3. Wijs Nieuw aan in het menu Bewerken, en klik vervolgens op DWORD-waarde.

  4. Typ MaxPacketSize en druk op Enter.

  5. Dubbelklik op MaxPacketSize, typ 1 in het gegevensvak Waarde, 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 nieuwer gebruiken een standaardwaarde van '0' voor MaxPacketSize, waardoor het gebruik van UDP voor de Kerberos-client ook wordt uitgeschakeld.

De volgende sjabloon is een beheersjabloon die kan worden geïmporteerd in Groepsbeleid, zodat de waarde MaxPacketSize kan worden ingesteld voor alle bedrijfscomputers waarop Windows Server 2003, Windows XP of Windows 2000 wordt uitgevoerd. Als u de maxPacketSize-instellingen in groepsbeleidsobjecteditor wilt weergeven, klikt u op Beleid alleen weergeven in het menu Beeld , zodat Alleen beleid weergeven niet is geselecteerd. Deze sjabloon wijzigt registersleutels buiten de sectie Beleid. Standaard worden deze registerinstellingen niet weergegeven in de Groepsbeleidsobjecteditor.