Come configurare l'allocazione dinamica delle porte RPC per l'uso con i firewall

Questo articolo consente di modificare i parametri RPC (Remote Procedure Call) nel Registro di sistema per assicurarsi che l'allocazione dinamica delle porte RPC funzioni con i firewall.

Numero KB originale: 154596

Riepilogo

L'allocazione delle porte dinamiche RPC viene usata dalle applicazioni server e da applicazioni di amministrazione remota, ad esempio Gestione DHCP (Dynamic Host Configuration Protocol), Windows Internet Name Service (WINS) Manager e così via. L'allocazione dinamica delle porte RPC indica al programma RPC di usare una determinata porta casuale nell'intervallo configurato per TCP e UDP, in base all'implementazione del sistema operativo usato. Per altre informazioni, vedere i riferimenti seguenti.

I clienti che usano firewall possono voler controllare le porte usate da RPC in modo che il router del firewall possa essere configurato per inoltrare solo queste porte UDP e TCP (Transmission Control Protocol).

Molti server RPC in Windows consentono di specificare la porta del server in elementi di configurazione personalizzati, ad esempio voci del Registro di sistema. Quando è possibile specificare una porta server dedicata, si conosce il flusso del traffico tra gli host attraverso il firewall. È anche possibile definire il traffico consentito in modo più diretto.

Come porta server, scegliere una porta esterna all'intervallo da specificare di seguito. È possibile trovare un elenco completo delle porte server usate in Windows e nei principali prodotti Microsoft in Panoramica del servizio e requisiti delle porte di rete per Windows.

L'articolo elenca anche i server RPC e quali server RPC possono essere configurati per l'uso di porte server personalizzate oltre le funzionalità offerte dal runtime RPC.

Alcuni firewall consentono anche il filtro UUID in cui apprende da una richiesta di mapper di endpoint RPC per un UUID dell'interfaccia RPC. La risposta ha il numero di porta del server e un binding RPC successivo su questa porta è quindi consentito passare.

Importante

Usare il metodo descritto in questo articolo solo se il server RPC non offre un modo per definire la porta del server.

Le voci del Registro di sistema seguenti si applicano a Windows NT 4.0 e versioni successive. Non si applicano alle versioni precedenti di Windows NT. Anche se è possibile configurare la porta usata dal client per comunicare con il server, il client deve essere in grado di raggiungere il server in base all'indirizzo IP effettivo. Non è possibile usare DCOM tramite firewall che eseguono la conversione degli indirizzi. Ad esempio, un client si connette all'indirizzo virtuale 198.252.145.1, che il firewall esegue il mapping trasparente all'indirizzo effettivo del server, ad esempio 192.100.81.101. DCOM archivia gli indirizzi IP non elaborati nei pacchetti di marshalling dell'interfaccia. Se il client non riesce a connettersi all'indirizzo specificato nel pacchetto, non funzionerà.

Ulteriori informazioni

I valori (e la chiave Internet) illustrati di seguito non vengono visualizzati nel Registro di sistema. Devono essere aggiunti manualmente usando l'editor del Registro di sistema.

Importante

In questa sezione, metodo o attività viene illustrata la procedura per modificare il Registro di sistema. Poiché l'errata modifica del Registro di sistema può causare seri problemi, Di conseguenza, attenersi scrupolosamente alla procedura indicata. Per una maggiore protezione, eseguire il backup del Registro di sistema prima di modificarlo. In questo modo sarà possibile ripristinare il Registro di sistema se si verifica un problema. Per altre informazioni, vedere Come eseguire il backup e ripristinare il Registro di sistema in Windows.

Con l'editor del Registro di sistema è possibile modificare i parametri seguenti per RPC. I valori della chiave della porta RPC illustrati di seguito si trovano tutti nella chiave seguente nel Registro di sistema:

HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet\Entry name Data Type

  • Porte REG_MULTI_SZ

    Specifica un set di intervalli di porte IP costituito da tutte le porte disponibili da Internet o da tutte le porte non disponibili da Internet. Ogni stringa rappresenta una singola porta o un set inclusivo di porte.

    Ad esempio, una singola porta può essere rappresentata da 5984 e un set di porte può essere rappresentato da 5000-5100. Se le voci non rientrano nell'intervallo compreso tra 0 e 65535 o se una stringa non può essere interpretata, il runtime RPC considera l'intera configurazione come non valida.

  • PortsInternetAvailable REG_SZ Y o N (senza distinzione tra maiuscole e minuscole)

    Se Y, le porte elencate nella chiave Porte sono tutte le porte disponibili su Internet nel computer. Se N, le porte elencate nella chiave Porte sono tutte quelle porte che non sono disponibili su Internet.

  • UseInternetPorts REG_SZ Y o N (senza distinzione tra maiuscole e minuscole)

    Specifica i criteri predefiniti del sistema.

    Se Y, ai processi che usano l'impostazione predefinita verranno assegnate le porte dal set di porte disponibili per Internet, come definito in precedenza. Se N, ai processi che usano l'impostazione predefinita verranno assegnate le porte dal set di porte solo intranet.

Esempio

In questo esempio, le porte comprese tra 5000 e 6000 inclusi sono state selezionate arbitrariamente per illustrare come configurare la nuova chiave del Registro di sistema. Non è consigliabile un numero minimo di porte necessarie per un particolare sistema.

  1. Aggiungere la chiave Internet in HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc

  2. Nella chiave Internet aggiungere i valori Ports (MULTI_SZ), PortsInternetAvailable (REG_SZ) e UseInternetPorts (REG_SZ).

    Ad esempio, la nuova chiave del Registro di sistema viene visualizzata come segue:

    Porte: REG_MULTI_SZ: 5000-6000
    PortsInternetAvailable: REG_SZ: Y
    UseInternetPorts: REG_SZ: Y

  3. Riavviare il server. Tutte le applicazioni che usano l'allocazione dinamica delle porte RPC usano porte comprese tra 5000 e 6000, incluse.

È consigliabile aprire un intervallo di porte sopra la porta 5000. I numeri di porta inferiori a 5000 potrebbero essere già in uso da altre applicazioni e potrebbero causare conflitti con le applicazioni DCOM. Inoltre, l'esperienza precedente mostra che è necessario aprire almeno 100 porte, perché diversi servizi di sistema si basano su queste porte RPC per comunicare tra loro.

Nota

Il numero minimo di porte richieste può variare da computer a computer. I computer con traffico più elevato possono riscontrare una situazione di esaurimento delle porte se le porte dinamiche RPC sono limitate. Prendere in considerazione questo aspetto quando si limita l'intervallo di porte.

Avviso

Se si verifica un errore nella configurazione delle porte o se nel pool non sono presenti porte sufficienti, il servizio Endpoint Mapper non sarà in grado di registrare i server RPC con endpoint dinamici. Quando si verifica un errore di configurazione, il codice di errore sarà 87 (0x57) ERROR_INVALID_PARAMETER. Questo può influire anche sui server RPC Windows, ad esempio Netlogon. Verrà registrato l'evento 5820 in questo caso:

Log Name: System  
Source: NETLOGON  
Event ID: 5820  
Level: Error  
Keywords: Classic  
Description:  
The Netlogon service could not add the AuthZ RPC interface. The service was terminated. The following error occurred: The parameter is incorrect.

Per altre informazioni, vedere: