- 12/06/2018
- 7 minutes pour lire
-
- D
- d
- n
- v
- g
-
+1
vous pourriez rencontrer un RPC erreur d’indisponibilité du serveur lors de la connexion à Windows Management Instrumentation (WMI), SQL Server, lors d’une connexion à distance ou pour certains snap-ins Microsoft Management console (MMC)., L’image suivante est un exemple d’erreur RPC.
Il s’agit d’un message d’erreur couramment rencontré dans le monde des réseaux et on peut perdre espoir très rapidement sans essayer de comprendre grand-chose, quant à ce qui se passe « sous le capot ».
avant de procéder au dépannage de l’erreur *RPC server unavailable – error, comprenons d’abord les bases de l’erreur. Il y a quelques termes importants à comprendre:
- Endpoint mapper – un service d’écoute sur le serveur, qui guide les applications client vers les applications serveur par port et UUID.,
- Tower – décrit le protocole RPC, pour permettre au client et au serveur de négocier une connexion.
- étage-le contenu d’une tour avec des données spécifiques comme les ports, les adresses IP et les identifiants.
- UUID – un GUID bien connu qui identifie l’application RPC. L’UUID est ce que vous utilisez pour voir un type spécifique de conversation d’application RPC, car il y en aura probablement beaucoup.
- Opnum – identifiant d’une fonction que le client souhaite que le serveur exécute. C’est juste un nombre hexadécimal, mais un bon analyseur de réseau traduira la fonction pour vous., Si aucun des deux ne le sait, votre fournisseur d’application doit vous le dire.
- Port – les points de terminaison de communication pour les applications client et serveur.
- Stub data – les informations données aux fonctions et aux données échangées entre le client et le serveur. C’est la charge utile, la partie importante.
Remarque
beaucoup des informations ci-dessus sont utilisées dans le dépannage, le plus important est le numéro de port RPC dynamique que vous obtenez en parlant à EPM.,
fonctionnement de la connexion
Le Client A souhaite exécuter certaines fonctions ou utiliser un service s’exécutant sur le serveur distant, établira d’abord la connexion avec le serveur distant en effectuant une poignée de main à trois voies.
ports RPC peut être donnée à partir d’une gamme spécifique ainsi.,
configurer l’allocation de port dynamique RPC
appel de procédure à distance (RPC) l’allocation de port dynamique est utilisée par les applications serveur et les applications d’administration à distance telles que le Gestionnaire DHCP (Dynamic Host Configuration Protocol), le Gestionnaire WINS (Windows Internet Name Service), etc. RPC dynamic port allocation demandera au programme RPC d’utiliser un port aléatoire particulier dans la plage configurée pour TCP et UDP, en fonction de l’implémentation du système d’exploitation utilisé.,
Les Clients utilisant des pare-feu peuvent vouloir contrôler les ports que RPC utilise afin que leur routeur pare-feu puisse être configuré pour transférer uniquement ces ports UDP et TCP (Transmission Control Protocol). De nombreux serveurs RPC dans Windows vous permettent de spécifier le port du serveur dans des éléments de configuration personnalisés tels que les entrées de registre. Lorsque vous pouvez spécifier un port de serveur dédié, vous savez quel trafic circule entre les hôtes à travers le pare-feu et vous pouvez définir le trafic autorisé de manière plus dirigée.
en tant que port serveur, veuillez choisir un port en dehors de la plage que vous voudrez peut-être spécifier ci-dessous., Vous trouverez une liste complète des ports de serveur utilisés dans Windows et les principaux produits Microsoft dans l’article Présentation du Service et exigences relatives aux ports réseau Pour Windows.L’article répertorie également les serveurs RPC et les serveurs RPC pouvant être configurés pour utiliser des ports de serveur personnalisés au-delà des fonctionnalités offertes par le runtime RPC.
certains pare-feu permettent également un filtrage UUID lorsqu’il apprend à partir d’une demande de mappeur de point de terminaison RPC pour un UUID d’interface RPC. La réponse a le numéro de port de serveur, et une liaison RPC ultérieure sur ce port est alors autorisée à passer.,
avec Registry Editor, vous pouvez modifier les paramètres suivants pour RPC. Les valeurs de clé de Port RPC décrites ci-dessous sont toutes situées dans la clé suivante du registre:
HKEY_LOCAL_MACHINE\Software\Microsoft\RPC\Internet\ Entry name Data Type
Ports REG_MULTI_SZ
- spécifie un ensemble de plages de ports IP comprenant soit tous les ports disponibles sur Internet, soit tous les ports non disponibles sur Internet. Chaque chaîne représente un port unique ou un ensemble inclusif de ports., Par exemple, un seul port peut être représenté par 5984, et un ensemble de ports peut être représenté par 5000-5100. Si des entrées sont en dehors de la plage de 0 à 65535, ou si une chaîne ne peut pas être interprétée, le runtime RPC traite la configuration entière comme invalide.
PortsInternetAvailable REG_SZ Y ou N (non sensible à la casse)
- Si Y, les ports répertoriés dans la clé Ports sont tous les ports disponibles sur Internet sur cet ordinateur. Si N, Les ports répertoriés dans la clé Ports sont tous les ports qui ne sont pas disponibles sur Internet.,
UseInternetPorts REG_SZ ) Y ou N (non sensible à la casse)
- spécifie la stratégie par défaut du système.
- Si Y, les processus utilisant la valeur par défaut se verront attribuer des ports à partir de l’ensemble des ports disponibles sur Internet, tel que défini précédemment.
- Si N, les processus utilisant la valeur par défaut se verront attribuer des ports à partir de l’ensemble des ports intranet uniquement.
exemple:
dans cet exemple, les ports 5000 à 6000 inclus ont été sélectionnés arbitrairement pour illustrer comment la nouvelle clé de Registre peut être configurée., Ce n’est pas une recommandation d’un nombre minimum de ports requis pour un système particulier.
Vous devez ouvrir une plage de ports au-dessus du port 5000. Les numéros de Port inférieurs à 5000 peuvent déjà être utilisés par d’autres applications et peuvent entraîner des conflits avec vos applications DCOM. En outre, l’expérience précédente montre qu’un minimum de 100 ports devraient être ouverts, parce que plusieurs services système comptent sur ces ports RPC pour communiquer entre eux.
Remarque
le nombre minimum de ports requis peut varier d’un ordinateur à l’autre., Les ordinateurs avec un trafic plus élevé peuvent se heurter à une situation d’épuisement des ports si les ports dynamiques RPC sont restreints. Prenez cela en considération lors de la restriction de la plage de ports.
avertissement
S’il y a une erreur dans la configuration de port ou s’il y a des ports insuffisants dans le pool, le service de mappeur de point final ne pourra pas enregistrer des serveurs RPC avec des points finaux dynamiques. En cas d’erreur de configuration, le code d’erreur sera 87 (0x57) ERROR_INVALID_PARAMETER. Cela peut également affecter les serveurs Windows RPC, tels que Netlogon., Il enregistrera l’événement 5820 dans ce cas:
Nom du journal: SystemSource: NETLOGONEvent ID: 5820Level: ErrorKeywords:ClassicDescription: le service Netlogon n’a pas pu ajouter L’interface AuthZ RPC. Le service a été résilié. L’erreur suivante s’est produite: « Le paramètre est incorrect.’
Si vous souhaitez faire une plongée profonde sur la façon dont cela fonctionne, voir RPC sur IT / Pro.
dépannage de l’erreur RPC
PortQuery
la meilleure chose à toujours résoudre les problèmes RPC avant même d’entrer dans les traces est en utilisant des outils comme PortQry., Vous pouvez rapidement déterminer si vous êtes en mesure d’établir une connexion en exécutant la commande:
Portqry.exe -n <ServerIP> -e 135
cela vous donnerait beaucoup de sortie à rechercher, mais vous devriez rechercher *ip_tcp – et le numéro de port entre parenthèses, qui indique si vous avez réussi à obtenir un port dynamique D’EPM et à y établir une connexion. Si ce qui précède échoue, vous pouvez généralement commencer à collecter des traces réseau simultanées., Quelque chose comme ça à partir de la sortie de « PortQry”:
Portqry.exe -n 169.254.0.2 -e 135
sortie partielle ci-dessous:
celui en gras est le numéro de port éphémère auquel vous avez établi une connexion avec succès.
Netsh
Vous pouvez exécuter les commandes ci-dessous pour tirer parti des captures netsh intégrées à Windows, afin de collecter une trace simultanée. N’oubliez pas d’exécuter ce qui suit sur un « Admin CMD”, cela nécessite une élévation.,
-
Sur le client
Netsh trace start scenario=netconnection capture=yes tracefile=c:\client_nettrace.etl maxsize=512 overwrite=yes report=yes
-
Sur le Serveur
Netsh trace start scenario=netconnection capture=yes tracefile=c:\server_nettrace.etl maxsize=512 overwrite=yes report=yes
Maintenant, essayez de reproduire votre problème à partir de la machine client et dès que vous vous sentez le problème a été reproduit, aller de l’avant et arrêter les traces à l’aide de la commande
Netsh trace stop
Ouvrez la trace de Moniteur Réseau Microsoft 3.4 ou un Message de l’Analyseur et du filtre de la trace pour
-
Ipv4.address==<client-ip>
etipv4.address==<server-ip>
ettcp.port==135
ou tout simplementtcp.port==135
devrait aider., -
recherchez le protocole « EPM” dans la colonne « Protocole”.
-
Maintenant vérifier si vous obtenez une réponse du serveur. Si vous obtenez une réponse, notez le numéro de port dynamique à utiliser.
-
vérifiez si nous nous connectons avec succès à ce port dynamique.,
-
Le filtre doit être quelque chose comme ceci:
tcp.port==<dynamic-port-allocated>
etipv4.address==<server-ip>
Cela devrait vous aider à vérifier la connectivité et de l’isoler si des problèmes de réseau ont vu.
Port non accessible
la raison la plus courante pour laquelle nous verrions le serveur RPC INDISPONIBLE est lorsque le port dynamique que le client essaie de se connecter n’est pas accessible. La trace côté client afficherait alors les retransmissions TCP SYN pour le port dynamique.,
Le port n’est pas accessible en raison d’une des raisons suivantes:
- La plage de ports dynamiques est bloqué sur le pare-feu de l’environnement.
- Un périphérique central dépose les paquets.
- Le serveur de destination abandonne les paquets (WFP drop / NIC drop/ Filter driver etc.).
Leave a Reply