So erzwingen Sie die Verwendung von TCP anstelle von UDP in Windows

In diesem Artikel wird beschrieben, wie Kerberos die Verwendung von TCP anstelle von UDP erzwingen kann.

Gilt für:   Windows 10 – alle Editionen, Windows Server 2012 R2
Ursprüngliche KB-Nummer:   244474

Zusammenfassung

Das Windows Kerberos-Authentifizierungspaket ist das Standardauthentifizierungspaket in Windows Server 2003, in Windows Server 2008 und in Windows Vista. Es ist mit dem NTLM-Abfrage-/Antwortprotokoll vorhanden und wird in Fällen verwendet, in denen sowohl ein Client als auch ein Server Kerberos aushandeln können. Anforderung für Kommentare (RFC) 1510 gibt an, dass der Client ein UDP-Datagramm (User Datagram Protocol) an Port 88 an der IP-Adresse des Schlüsselverteilungscenters (Key Distribution Center, KDC) senden soll, wenn ein Client den KDC kontaktiert. Der KDC sollte mit einem Antwortdatengramm an den sendenden Port an der IP-Adresse des Absenders antworten. Der RFC gibt außerdem an, dass UDP das erste Protokoll sein muss, das ausprobiert wird.

Hinweis

RFC 4120 veraltet jetzt RFC 1510. RFC 4120 gibt an, dass ein KDC TCP-Anforderungen akzeptieren muss und auf solche Anforderungen an Port 88 (Dezimalstellen) lauschen soll. Standardmäßig testen Windows Server 2008 und Windows Vista TCP zuerst für Kerberos, da der MaxPacketSize-Standardwert jetzt 0 ist. Sie können weiterhin den MaxPacketSize-Registrierungswert verwenden, um dieses Verhalten zu überschreiben.

Eine Einschränkung der UDP-Paketgröße kann die folgende Fehlermeldung bei der Domänenanmeldung verursachen:

Ereignisprotokollfehler 5719
Source NETLOGON

Für Domänendomäne ist kein Windows NT- oder Windows 2000-Domänencontroller verfügbar. Der folgende Fehler ist aufgetreten:

Derzeit sind keine Anmeldeserver verfügbar, um die Anmeldeanforderung zu warten.

Darüber hinaus zeigt das Netdiag-Tool möglicherweise die folgenden Fehlermeldungen an:

  • Fehlermeldung 1

    DC-Listentest . . . . . . . . . . . : Failed [WARNING] Cannot call DsBind to COMPUTERNAMEDC.domain.com (159.140.176.32). [ERROR_DOMAIN_CONTROLLER_NOT_FOUND]

  • Fehlermeldung 2

    Kerberos-Test. . . . . . . . . . . : Failed [FATAL] Kerberos does not have a ticket for MEMBERSERVER$.] Die Windows XP-Ereignisprotokolle, die Symptome dieses Problems sind, sind SPNegotiate 40960 und Kerberos 10.

Weitere Informationen

Wichtig

Dieser Abschnitt, diese Methode bzw. diese Aufgabe enthält eine Beschreibung der Schritte zum Bearbeiten der Registrierung. Durch die falsche Bearbeitung der Registrierung können schwerwiegende Probleme verursacht werden. Daher ist es wichtig, bei der Ausführung der folgenden Schritte sorgfältig vorzugehen. Für zusätzlichen Schutz sichern Sie die Registrierung, bevor Sie sie ändern. Sie können die Registrierung wiederherstellen, wenn ein Problem auftritt. Weitere Informationen zum Sichern und Wiederherstellen der Registrierung finden Sie unter Sichern und Wiederherstellen der Registrierung in Windows.

Wenn Sie UDP für Kerberos verwenden, reagiert Ihr Clientcomputer möglicherweise nicht mehr (hängen), wenn Sie die folgende Meldung erhalten: Laden Ihrer persönlichen Einstellungen.

Standardmäßig beträgt die maximale Größe von Datagrammpaketen, für die Windows Server 2003 UDP verwendet, 1.465 Bytes. Für Windows XP und für Windows 2000 beträgt dieser Höchstwert 2.000 Bytes. Tcp (Transmission Control Protocol) wird für jedes Datagrampacket verwendet, das größer als dieses Maximum ist. Die maximale Größe von Datagrammpaketen, für die UDP verwendet wird, kann durch Ändern eines Registrierungsschlüssels und -werts geändert werden.

Standardmäßig verwendet Kerberos verbindungslose UDP-Datagrammpakete. Abhängig von einer Vielzahl von Faktoren, einschließlich des Verlaufs der Sicherheits-ID (SID) und der Gruppenmitgliedschaft, verfügen einige Konten über größere Kerberos-Authentifizierungspaketgrößen. Abhängig von der VPN-Hardwarekonfiguration (Virtual Private Network) müssen diese größeren Pakete beim Durchlaufen eines VPN fragmentiert werden. Das Problem wird durch die Fragmentierung dieser großen UDP-Kerberos-Pakete verursacht. Da es sich bei UDP um ein verbindungsloses Protokoll handelt, werden fragmentierte UDP-Pakete verworfen, wenn sie nicht ordnungsgemäß am Ziel ankommen.

Wenn Sie MaxPacketSize in den Wert 1 ändern, erzwingen Sie, dass der Client TCP verwendet, um Kerberos-Datenverkehr über den VPN-Tunnel zu senden. Da TCP verbindungsorientiert ist, ist es ein zuverlässigeres Transportmittel über den VPN-Tunnel. Selbst wenn die Pakete verworfen werden, fordert der Server das fehlende Datenpaket erneut an.

Sie können MaxPacketSize in 1 ändern, um zu erzwingen, dass die Clients Kerberos-Datenverkehr über TCP verwenden. Gehen Sie dazu wie folgt vor:

  1. Starten Sie den Registrierungs-Editor.

  2. Suchen Und klicken Sie dann auf den Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Lsa\Kerberos\Parameters .

    Hinweis

    Wenn der Parameterschlüssel nicht vorhanden ist, erstellen Sie ihn jetzt.

  3. Zeigen Sie im Menü Bearbeiten auf Neu, und klicken Sie anschließend auf DWORD-Wert.

  4. Geben Sie MaxPacketSize ein, und drücken Sie dann die EINGABETASTE.

  5. Doppelklicken Sie auf MaxPacketSize, geben Sie 1 in das Feld Wert ein, klicken Sie auf die Option Dezimal, und klicken Sie dann auf OK.

  6. Schließen Sie den Registrierungs-Editor.

  7. Restart your computer.

Dies ist der Lösungsansatz für Windows 2000, XP und Server 2003. Windows Vista und neuer verwenden den Standardwert "0" für MaxPacketSize, wodurch auch die Verwendung von UDP für den Kerberos-Client deaktiviert wird.

Die folgende Vorlage ist eine administrative Vorlage, die in Gruppenrichtlinien importiert werden kann, damit der MaxPacketSize-Wert für alle Unternehmenscomputer festgelegt werden kann, die Windows Server 2003, Windows XP oder Windows 2000 ausgeführt werden. Um die MaxPacketSize-Einstellungen im Gruppenrichtlinienobjekt-Editor anzuzeigen, klicken Sie im Menü "Ansicht" auf "Nur Richtlinien anzeigen", damit "Nur Richtlinien anzeigen" nicht ausgewählt ist. Diese Vorlage ändert Registrierungsschlüssel außerhalb des Abschnitts "Richtlinien". Standardmäßig werden im Gruppenrichtlinienobjekt-Editor diese Registrierungseinstellungen nicht angezeigt.