Configurar o DTC (Coordenador de Transações Distribuídas da Microsoft) para trabalhar por meio de um firewall

Este artigo descreve como configurar o DTC (Coordenador de Transações Distribuídas) da Microsoft para trabalhar por meio de firewalls.

Aplica-se a: Windows Server 2012 R2, Windows Server 2016, Windows Server 2019, Windows Server 2022
Número de KB original: 250367

Mais informações

Você pode configurar o DTC para se comunicar por meio de firewalls, incluindo firewalls de tradução de endereço de rede.

O DTC usa a alocação de porta dinâmica RPC (Chamada de Procedimento Remoto) por padrão. A alocação de porta dinâmica do RPC seleciona aleatoriamente os números da porta no intervalo 49152-65535. Ao modificar o registro, você pode controlar quais portas o RPC aloca dinamicamente para comunicação de entrada. Em seguida, você pode configurar o firewall para limitar a comunicação externa de entrada apenas a essas portas e à porta 135 (a porta Mapper do Ponto de Extremidade RPC). É recomendável usar a porta fixa para serviços DTC ou o intervalo dinâmico padrão 49152-65535 em firewalls para evitar o esgotamento da porta e apenas alterar para portas RPC personalizadas se os firewalls não puderem filtrar no computador ou IPs.

Você pode ter uma instância DTC local e várias instâncias de DTC clusterizados. Talvez seja necessário fornecer mais portas dinâmicas de entrada para outros subsistemas que dependem do RPC, portanto, é recomendável manter o intervalo RPC padrão mesmo usando a porta fixa para serviços DTC.

As chaves e os valores do registro descritos neste artigo não aparecem no registro por padrão; você deve adicioná-los usando Editor do Registro.

Importante

Esta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. Entretanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga essas etapas cuidadosamente. Para mais proteção, faça o backup do registro antes de modificá-lo. Em seguida, você poderá restaurar o registro se ocorrer um problema. Para obter mais informações sobre como fazer backup e restaurar o registro, consulte Como fazer backup e restaurar o registro em Janela.

Configurar o DTC para usar a porta fixa única

Siga estas etapas em computadores envolvidos em transações DTC para definir a porta fixa para DTC. O firewall deve estar aberto em ambas as direções para a porta fixa e a porta 135 (a porta Mapper do Ponto de Extremidade RPC):

  1. Para iniciar o Registro Editor, selecione Iniciar, executar, digite regedt32 e selecione OK.
  2. No Registro Editor, selecione HKEY_LOCAL_MACHINE na janela Máquina Local.
  3. Expanda a árvore selecionando duas vezes as pastas nomeadas no HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC caminho.
  4. Selecione a pasta MSDTC e selecione Novo > valor DWORD (32 bits) no menu Editar .
  5. Altere o Nome para ServerTcpPort.
  6. Clique com o botão direito do mouse e escolha Modificar no novo valor.
  7. Na caixa de diálogo Valor Editor, selecione Decimal e, em seguida, coloque o número da porta fixa, por exemplo, 40001, no campo Dados de Valor e selecione OK.

Para configurar a porta fixa para instâncias DTC clusterizados, você precisa encontrar o guid do recurso de cluster e adicionar o valor ServerTcpPort neste local. Use um número de porta diferente para cada instância DTC. Por exemplo, se o GUID do recurso DTC for 012345678-9abc-def0-1234-56789abcdef0, ele estará neste caminho: HKEY_LOCAL_MACHINE\Cluster\Resources\012345678-9abc-def0-1234-56789abcdef0\MSDTCPRIVATE\MSDTC. Repita as etapas para recursos clusterizados de DTC adicionais.

Alternativa, você pode usar os reg add comandos em scripts com privilégios de administrador para fazer essa operação. Ajuste o exemplo a seguir ao GUID de cluster específico se a instância DTC clusterizado for usada:

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

Configurar o RPC para usar o intervalo de porta do cliente

Siga estas etapas em computadores envolvidos em transações DTC em que os firewalls impedem a comunicação completa para controlar a alocação da porta dinâmica do RPC. O firewall deve estar aberto em ambas as direções para as portas especificadas e para a porta 135 (a porta Mapper do Ponto de Extremidade RPC):

  1. Para iniciar o Registro Editor, selecione Iniciar, executar, digite regedt32 e selecione OK.

    Use Regedt32.exe em vez de Regedit.exe. Regedit.exe não dá suporte ao tipo de dados REG_MULTI_SZ necessário para o valor portas.

  2. No Registro Editor, selecione HKEY_LOCAL_MACHINE na janela Máquina Local.

  3. Expanda a árvore selecionando duas vezes as pastas nomeadas no HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc caminho.

  4. Selecione a pasta RPC e selecione Adicionar Chave no menu Editar .

  5. Na caixa de diálogo Adicionar Chave , na caixa Nome da Chave , digite Internet e selecione OK.

  6. Selecione a pasta Internet e selecione Adicionar Valor no menu Editar .

  7. Na caixa de diálogo Adicionar Valor , na caixa Nome do Valor , digite Portas.

  8. Na caixa Tipo de Dados , selecione REG_MULTI_SZ e selecione OK.

  9. Na caixa de diálogo Multi-String Editor, na caixa Dados, especifique a porta ou as portas que você deseja que o RPC use para alocação de porta dinâmica e selecione OK.

    Cada valor de cadeia de caracteres que você digita especifica uma única porta ou um intervalo inclusivo de portas. Por exemplo, para abrir a porta 40000, especifique 40000 sem as aspas. Para abrir portas 40000 a 42000 inclusive, especifique 40000-42000 sem as aspas. Você pode especificar vários intervalos de portas ou portas especificando uma porta ou intervalo de porta por linha. Todas as portas devem estar no intervalo de 1024 a 65535. Se alguma porta estiver fora desse intervalo ou se alguma cadeia de caracteres for inválida, o RPC tratará toda a configuração como inválida.

    A Microsoft recomenda que você abra portas a partir de 20000 e para cima, pois portas mais baixas podem estar em uso por outros aplicativos e que você abra um mínimo de 1000 portas para evitar o esgotamento da porta. Em sistemas de alta carga, talvez você precise de mais portas. O intervalo padrão de 1024-5000 foi movido no Windows 2008 e acima para o intervalo 49152-65535 para evitar o esgotamento da porta.

  10. Siga as etapas 6 a 9 para adicionar outra chave para a Internet, usando esses valores:

    Valor: PortsInternet Disponível
    Tipo de dados: REG_SZ
    Dados: Y

    Esse valor significa que as portas listadas no valor portas devem ser disponibilizadas pela Internet.

  11. Siga as etapas 6 a 9 para adicionar outra chave para a Internet, usando esses valores:

    Valor: UseInternetPorts
    Tipo de dados: REG_SZ
    Dados: Y

    Esse valor significa que o RPC deve atribuir portas dinamicamente da lista de portas da Internet.

  12. Configure o firewall para permitir o acesso de entrada às portas dinâmicas especificadas e à porta 135 (a porta Mapper do Ponto de Extremidade RPC).

  13. Reinicie o computador. Quando o RPC for reiniciado, ele atribuirá portas de entrada dinamicamente, com base nos valores de registro especificados. Por exemplo, para abrir portas 40000 a 42000 inclusivas, crie estes valores nomeados:

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

O DTC também exige que você possa resolve nomes de computador por meio do NetBIOS ou DNS. Verifique se o NetBIOS está habilitado nas propriedades nic e teste se o NetBIOS pode resolve os nomes usando ping e o nome do servidor. O computador cliente deve ser capaz de resolve o nome do servidor. E o servidor deve ser capaz de resolve o nome do cliente. Se o NetBIOS não puder resolve os nomes, adicione entradas aos arquivos LMHOSTS nos computadores.