Microsoft Distributed Transaction Coordinator (DTC) configureren om via een firewall te werken

In dit artikel wordt beschreven hoe u DTC (Microsoft Distributed Transaction Coordinator) configureert om via firewalls te werken.

Van toepassing op: Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, Windows Server 2022
Origineel KB-nummer: 250367

Meer informatie

U kunt DTC configureren om te communiceren via firewalls, waaronder firewalls voor het omzetten van netwerkadressen.

DTC maakt standaard gebruik van dynamische RPC-poorttoewijzing (Remote Procedure Call). Dynamische RPC-poorttoewijzing selecteert willekeurig poortnummers in het bereik 49152-65535. Door het register te wijzigen, kunt u bepalen welke poorten RPC dynamisch toewijst voor binnenkomende communicatie. Vervolgens kunt u uw firewall configureren om binnenkomende externe communicatie te beperken tot alleen die poorten en poort 135 (de RPC Endpoint Mapper-poort). Het wordt aanbevolen om een vaste poort te gebruiken voor DTC-services of het standaard dynamische bereik 49152-65535 in firewalls om poortuitputting te voorkomen en alleen over te schakelen naar aangepaste RPC-poorten als firewalls niet kunnen filteren op computer of IP-adressen.

U kunt één lokaal DTC-exemplaar en meerdere geclusterde DTC-exemplaren hebben. Mogelijk moet u meer binnenkomende dynamische poorten opgeven voor andere subsystemen die afhankelijk zijn van RPC, dus het wordt aanbevolen om het standaard RPC-bereik te behouden, zelfs als u een vaste poort gebruikt voor DTC-services.

De registersleutels en -waarden die in dit artikel worden beschreven, worden niet standaard weergegeven in het register. u moet ze toevoegen met behulp van Register Editor.

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. Zie Een back-up van het register maken en herstellen in Venster voor meer informatie over het maken van een back-up van het register en het herstellen van het register.

DTC configureren voor het gebruik van één vaste poort

Volg deze stappen op computers die betrokken zijn bij DTC-transacties om een vaste poort in te stellen voor DTC. De firewall moet in beide richtingen zijn geopend voor de vaste poort en poort 135 (de RPC Endpoint Mapper-poort):

  1. Als u Register Editor wilt starten, selecteert u Start, selecteert u Uitvoeren, typt u regedt32 en selecteert u vervolgens OK.
  2. Selecteer in register Editor HKEY_LOCAL_MACHINE in het venster Lokale computer.
  3. Vouw de structuur uit door de mappen met de naam in het HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC pad te dubbel te selecteren.
  4. Selecteer de map MSDTC en selecteer vervolgens Nieuwe > DWORD-waarde (32-bits) in het menu Bewerken .
  5. Wijzig de naam in ServerTcpPort.
  6. Klik met de rechtermuisknop en kies Wijzigen voor de nieuwe waarde.
  7. Selecteer in het dialoogvenster Waarde Editorde optie Decimaal en plaats vervolgens uw vaste poortnummer, bijvoorbeeld 40001, in het veld Waardegegevens en selecteer OK.

Als u een vaste poort wilt configureren voor geclusterde DTC-exemplaren, moet u de GUID van de clusterresource vinden en de waarde ServerTcpPort onder deze locatie toevoegen. Gebruik een ander poortnummer voor elk DTC-exemplaar. Als uw DTC-resource-GUID bijvoorbeeld 012345678-9abc-def0-1234-56789abcdef0 is, bevindt deze zich in dit pad: HKEY_LOCAL_MACHINE\Cluster\Resources\012345678-9abc-def0-1234-56789abcdef0\MSDTCPRIVATE\MSDTC. Herhaal de stappen voor extra geclusterde DTC-resources.

U kunt ook de reg add opdrachten in scripts met beheerdersbevoegdheden gebruiken om deze bewerking uit te voeren. Pas het volgende voorbeeld aan uw specifieke cluster-GUID aan als er een geclusterd DTC-exemplaar wordt gebruikt:

reg add HKLM\SOFTWARE\Microsoft\MSDTC /v ServerTcpPort /t REG_DWORD /d 40001 /f
reg add HKLM\Cluster\Resources\012345678-9abc-def0-1234-56789abcdef0\MSDTCPRIVATE\MSDTC /v ServerTcpPort /t REG_DWORD /d 40002 /f

RPC configureren om het poortbereik van de klant te gebruiken

Volg deze stappen op computers die betrokken zijn bij DTC-transacties waarbij firewalls volledige communicatie verhinderen om de toewijzing van dynamische RPC-poorten te beheren. De firewall moet in beide richtingen geopend zijn voor de opgegeven poorten en poort 135 (de RPC Endpoint Mapper-poort):

  1. Als u Register Editor wilt starten, selecteert u Start, selecteert u Uitvoeren, typt u regedt32 en selecteert u vervolgens OK.

    Gebruik Regedt32.exe in plaats van Regedit.exe. Regedit.exe biedt geen ondersteuning voor het REG_MULTI_SZ gegevenstype dat vereist is voor de waarde Poorten.

  2. Selecteer in register Editor HKEY_LOCAL_MACHINE in het venster Lokale computer.

  3. Vouw de structuur uit door de mappen met de naam in het HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc pad te dubbel te selecteren.

  4. Selecteer de map RPC en selecteer vervolgens Sleutel toevoegen in het menu Bewerken .

  5. Typ internet in het dialoogvenster Sleutel toevoegen in het vak Sleutelnaamen selecteer ok.

  6. Selecteer de map Internet en selecteer vervolgens Waarde toevoegen in het menu Bewerken .

  7. Typ poorten in het dialoogvenster Waarde toevoegen in het vak Waardenaam.

  8. Selecteer in het vak Gegevenstypede optie REG_MULTI_SZ en selecteer vervolgens OK.

  9. Geef in het dialoogvenster Multi-String Editor in het vak Gegevens de poort of poorten op die RPC moet gebruiken voor dynamische poorttoewijzing en selecteer OK.

    Elke tekenreekswaarde die u typt, geeft een enkele poort of een inclusief bereik van poorten op. Als u bijvoorbeeld poort 40000 wilt openen, geeft u 40000 op zonder de aanhalingstekens. Als u de poorten 40000 tot en met 42000 wilt openen, geeft u 40000-42000 op zonder de aanhalingstekens. U kunt meerdere poorten of poortbereiken opgeven door één poort of poortbereik per regel op te geven. Alle poorten moeten het bereik van 1024 tot 65535 hebben. Als een poort buiten dit bereik valt of als een tekenreeks ongeldig is, behandelt RPC de volledige configuratie als ongeldig.

    Microsoft raadt u aan poorten vanaf 20000 en hoger te openen, omdat lagere poorten vaak worden gebruikt door andere toepassingen en dat u minimaal 1000 poorten opent om poortuitputting te voorkomen. Op systemen met hoge belasting hebt u mogelijk meer poorten nodig. Het standaardbereik van 1024-5000 is in Windows 2008 en hoger verplaatst naar het bereik 49152-65535 om poortuitputting te voorkomen.

  10. Volg stap 6 tot en met 9 om een andere sleutel voor internet toe te voegen met behulp van deze waarden:

    Waarde: PortsInternetAvailable
    Gegevenstype: REG_SZ
    Gegevens: Y

    Deze waarde geeft aan dat de poorten die worden vermeld onder de waarde Poorten, beschikbaar moeten worden gemaakt voor internet.

  11. Volg stap 6 tot en met 9 om een andere sleutel voor internet toe te voegen met behulp van deze waarden:

    Waarde: UseInternetPorts
    Gegevenstype: REG_SZ
    Gegevens: Y

    Deze waarde geeft aan dat RPC dynamisch poorten moet toewijzen vanuit de lijst met internetpoorten.

  12. Configureer uw firewall om binnenkomende toegang tot de opgegeven dynamische poorten en tot poort 135 (de RPC Endpoint Mapper-poort) toe te staan.

  13. Start de computer opnieuw op. Wanneer RPC opnieuw wordt gestart, worden binnenkomende poorten dynamisch toegewezen op basis van de registerwaarden die u hebt opgegeven. Als u bijvoorbeeld de poorten 40000 tot en met 42000 wilt openen, maakt u deze benoemde waarden:

    Poorten : REG_MULTI-SZ : 40000-42000
    PortsInternetAvailable : REG_SZ : Y
    UseInternetPorts : REG_SZ : Y

DTC vereist ook dat u computernamen kunt omzetten via NetBIOS of DNS. Controleer of NetBIOS is ingeschakeld in de NIC-eigenschappen en test of NetBIOS de namen kan omzetten met behulp van ping en de servernaam. De clientcomputer moet de naam van de server kunnen oplossen. En de server moet de naam van de client kunnen oplossen. Als NetBIOS de namen niet kan omzetten, voegt u vermeldingen toe aan de LMHOSTS-bestanden op de computers.