- 12/06/2018
- 7 minuti a leggere
-
- D
- d
- n
- V
- g
-
+1
potreste ritrovarvi con un server RPC non disponibile errore durante la connessione per Strumentazione Gestione Windows (WMI), SQL Server, durante una connessione remota, o per alcuni di Microsoft Management Console (MMC) snap-in., L’immagine seguente è un esempio di errore RPC.
Questo è un messaggio di errore comunemente incontrato nel mondo della rete e si può perdere la speranza molto velocemente senza cercare di capire molto, su ciò che sta accadendo ‘sotto il cofano’.
Prima di entrare per la risoluzione dei problemi del server *RPC non disponibile – errore, cerchiamo di prima capire le basi circa l’errore. Ci sono alcuni termini importanti da capire:
- Endpoint mapper – un servizio in ascolto sul server, che guida le app client alle app server per porta e UUID.,
- Tower-descrive il protocollo RPC, per consentire al client e al server di negoziare una connessione.
- Floor-il contenuto di una torre con dati specifici come porte, indirizzi IP e identificatori.
- UUID-un GUID ben noto che identifica l’applicazione RPC. L’UUID è ciò che si utilizza per vedere un tipo specifico di conversazione dell’applicazione RPC, in quanto è probabile che ce ne siano molti.
- Opnum-l’identificatore di una funzione che il client desidera che il server esegua. È solo un numero esadecimale, ma un buon analizzatore di rete tradurrà la funzione per te., Se nessuno dei due lo sa, il fornitore dell’applicazione deve dirtelo.
- Porta-gli endpoint di comunicazione per le applicazioni client e server.
- Stub data – le informazioni fornite alle funzioni e ai dati scambiati tra client e server. Questo è il carico utile, la parte importante.
Nota
Molte delle informazioni di cui sopra vengono utilizzate nella risoluzione dei problemi, la più importante è il numero di porta RPC dinamico che si ottiene mentre si parla con EPM.,
Come funziona la connessione
Il client A vuole eseguire alcune funzioni o vuole utilizzare un servizio in esecuzione sul server remoto, prima stabilirà la connessione con il Server remoto facendo una stretta di mano a tre vie.
Le porte RPC possono essere fornite anche da un intervallo specifico.,
Configura RPC dynamic port allocation
Remote Procedure Call (RPC) Dynamic Port allocation viene utilizzato da applicazioni server e applicazioni di amministrazione remota come Dynamic Host Configuration Protocol (DHCP) Manager, Windows Internet Name Service (WINS) Manager e così via. RPC dynamic port allocation istruirà il programma RPC a utilizzare una particolare porta casuale nell’intervallo configurato per TCP e UDP, in base all’implementazione del sistema operativo utilizzato.,
I clienti che utilizzano firewall potrebbero voler controllare quali porte RPC sta utilizzando in modo che il loro router 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 come le voci di registro. Quando è possibile specificare una porta server dedicata, è possibile sapere quale traffico scorre tra gli host attraverso il firewall e definire quale traffico è consentito in modo più diretto.
Come porta del server, scegli una porta al di fuori dell’intervallo che potresti voler specificare di seguito., È possibile trovare un elenco completo delle porte server utilizzate in Windows e nei principali prodotti Microsoft nell’articolo Panoramica del servizio e requisiti della porta di rete per Windows.L’articolo elenca anche i server RPC e quali server RPC possono essere configurati per utilizzare porte server personalizzate oltre le strutture offerte da RPC runtime.
Alcuni firewall consentono anche il filtraggio UUID in cui apprende da una richiesta di RPC Endpoint Mapper per un’interfaccia RPC UUID. La risposta ha il numero di porta del server e un successivo Binding RPC su questa porta è quindi autorizzato a passare.,
Con l’Editor del Registro di sistema, è possibile modificare i seguenti parametri per RPC. I valori chiave della porta RPC descritti di seguito si trovano tutti nella seguente chiave del registro di sistema:
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet\ Entry name Tipo di dati
Ports REG_MULTI_SZ
- Specifica un insieme di intervalli di porte IP costituiti da tutte le porte disponibili da Internet o da tutte le porte non disponibili da Internet. Ogni stringa rappresenta una singola porta o un insieme inclusivo di porte., Ad esempio, una singola porta può essere rappresentata da 5984 e un insieme di porte può essere rappresentato da 5000-5100. Se alcune voci sono al di fuori dell’intervallo da 0 a 65535, o se qualsiasi stringa non può essere interpretata, il runtime RPC considera l’intera configurazione non valida.
PortsInternetAvailable REG_SZ Y o N (non case-sensitive)
- Se Y, le porte elencate nella chiave Ports sono tutte le porte disponibili su Internet su quel computer. Se N, le porte elencate nella chiave Ports sono tutte quelle porte che non sono disponibili su Internet.,
UseInternetPorts REG_SZ ) Y o N (non sensibile al maiuscolo / minuscolo)
- Specifica il criterio predefinito del sistema.
- Se Y, ai processi che utilizzano il valore predefinito verranno assegnate porte dal set di porte disponibili su Internet, come definito in precedenza.
- Se N, ai processi che utilizzano il valore predefinito verranno assegnate porte dal set di porte solo intranet.
Esempio:
In questo esempio le porte da 5000 a 6000 incluse sono state selezionate arbitrariamente per illustrare come è possibile configurare la nuova chiave di registro., Questa non è una raccomandazione di un numero minimo di porte necessarie per un particolare sistema.
Dovresti 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 dovrebbero essere aperte almeno 100 porte, poiché diversi servizi di sistema si affidano a 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 incorrere in una situazione di esaurimento delle porte se le porte dinamiche RPC sono limitate. Prendi questo in considerazione quando limiti l’intervallo di porte.
Warning
Se si verifica un errore nella configurazione della porta o se nel pool sono presenti porte insufficienti, il servizio di mappatura degli endpoint non sarà in grado di registrare i server RPC con endpoint dinamici. Quando c’è un errore di configurazione, il codice di errore sarà 87 (0x57) ERROR_INVALID_PARAMETER. Ciò può influire anche sui server RPC di Windows, come Netlogon., Registrerà l’evento 5820 in questo caso:
Nome del registro: SystemSource: NETLOGONEvent ID: 5820Level: ErrorKeywords: ClassicDescription:Il servizio Netlogon non può aggiungere l’interfaccia RPC AuthZ. Il servizio è stato interrotto. Si è verificato il seguente errore :’ Il parametro non è corretto.’
Se vuoi fare un’immersione profonda su come funziona, vedi RPC su di ESSO / Pro.
Risoluzione dei problemi errore RPC
PortQuery
La cosa migliore per risolvere sempre i problemi RPC prima ancora di entrare in tracce è facendo uso di strumenti come PortQry., Puoi determinare rapidamente se sei in grado di effettuare una connessione eseguendo il comando:
Portqry.exe -n <ServerIP> -e 135
Questo ti darebbe un sacco di output da cercare, ma dovresti cercare *ip_tcp – e il numero di porta tra parentesi, che indica se sei riuscito a ottenere una porta dinamica da EPM e anche a stabilire una connessione ad essa. Se quanto sopra non riesce, in genere è possibile iniziare a raccogliere tracce di rete simultanee., Qualcosa di simile dall’output di “PortQry”:
Portqry.exe -n 169.254.0.2 -e 135
Output parziale di seguito:
Quello in grassetto è il numero di porta effimero a cui hai effettuato una connessione con successo.
Netsh
È possibile eseguire i comandi riportati di seguito per sfruttare le catture netsh integrate in Windows, per raccogliere una traccia simultanea. Ricorda di eseguire quanto segue su un “Admin CMD”, richiede elevazione.,
-
Sul client
Netsh trace start scenario=netconnection capture=yes tracefile=c:\client_nettrace.etl maxsize=512 overwrite=yes report=yes
-
Sul Server
Netsh trace start scenario=netconnection capture=yes tracefile=c:\server_nettrace.etl maxsize=512 overwrite=yes report=yes
Ora, provare a riprodurre il tuo problema dalla macchina client e non appena si sente il problema è stato riprodotto, vai avanti e fermare le tracce utilizzando il comando
Netsh trace stop
Aprire le tracce in Microsoft Network Monitor 3.4 o un Messaggio e un Analizzatore di filtrare la traccia per
-
Ipv4.address==<client-ip>
eipv4.address==<server-ip>
etcp.port==135
o semplicementetcp.port==135
dovrebbe aiutare., -
Cercare il protocollo “EPM” Nella colonna “Protocollo”.
-
Ora controlla se stai ricevendo una risposta dal server. Se si ottiene una risposta, notare il numero di porta dinamica che è stato allocato da utilizzare.
-
Controlla se ci stiamo connettendo correttamente a questa porta dinamica.,
-
Il filtro dovrebbe essere qualcosa di simile a questo:
tcp.port==<dynamic-port-allocated>
eipv4.address==<server-ip>
Questo dovrebbe aiutare a verificare la connettività e isolare caso di eventuali problemi di rete sono visti.
Porta non raggiungibile
Il motivo più comune per cui vedremmo il server RPC non disponibile è quando la porta dinamica che il client tenta di connettere non è raggiungibile. La traccia lato client mostrerebbe quindi le ritrasmissioni TCP SYN per la porta dinamica.,
La porta non può essere raggiungibile a causa di uno dei seguenti motivi:
- La gamma di porte dinamiche è bloccata sul firewall nell’ambiente.
- Un dispositivo centrale sta rilasciando i pacchetti.
- Il server di destinazione sta rilasciando i pacchetti (WFP drop / NIC drop/ Filter driver ecc.).
Leave a Reply