- 12/06/2018
- 7 minutos para ler
-
- D
- d
- n
- V
- g
-
+1
Você pode encontrar um servidor RPC não está disponível de erro ao conectar com o Windows Management Instrumentation (WMI), SQL Server, durante uma conexão remota, ou para algum Console de Gerenciamento Microsoft (MMC) snap-ins., A imagem a seguir é um exemplo de um erro RPC.
esta é uma mensagem de erro comumente encontrada no mundo da rede e pode-se perder a esperança muito rápido sem tentar entender muito, quanto ao que está acontecendo ‘sob o capô’.
Antes de entrar para resolver problemas no servidor *RPC indisponível – erro, vamos primeiro entender o básico sobre o erro. Existem alguns termos importantes para entender:
- Endpoint mapper-um serviço de escuta no servidor, que guia aplicativos clientes para aplicativos de servidor por port e UUID.,
- Tower-descreve o protocolo RPC, para permitir que o cliente e o servidor negoceiem uma conexão.piso-o conteúdo de uma torre com dados específicos como portas, endereços IP e identificadores.
- UUID – um GUID bem conhecido que identifica a aplicação RPC. O UUID é o que você usa para ver um tipo específico de conversa de Aplicação RPC, como é provável que haja muitos.
- Opnum-o identificador de uma função que o cliente quer que o servidor execute. É apenas um número hexadecimal, mas um bom analisador de rede irá traduzir a função para você., Se nenhum deles sabe, o seu fornecedor de aplicações deve dizer-lhe.Port-os parâmetros de comunicação para as aplicações cliente e servidor.
- Stub dados-a informação dada às funções e dados trocados entre o cliente e o servidor. Esta é a carga útil, a parte importante.
Nota
uma grande parte da informação acima é usada na resolução de problemas, o mais importante é o número de porta dinâmica de RPC que obtém ao falar com o EPM.,
Como a conexão funciona
o Cliente quer executar algumas funções ou quer fazer uso de um serviço em execução no servidor remoto, primeiro estabelecer a conexão com o Servidor Remoto fazendo um handshake de três vias.
RPC portos também podem ser dados a partir de uma gama específica.,
Configure RPC dynamic port allocation
Remote Procedure Call (RPC) dynamic port allocation is used by server applications and remote administration applications such as Dynamic Host Configuration Protocol (DHCP) Manager, Windows Internet Name Service (WINS) Manager, and so on. RPC dynamic port allocation irá instruir o programa RPC para usar uma porta aleatória particular na gama configurada para TCP e UDP, com base na implementação do sistema operacional usado.,
os clientes que utilizam firewalls podem querer controlar quais as portas que a RPC está a usar para que o seu router de firewall possa ser configurado para encaminhar apenas estas portas de controlo de transmissão (UDP e TCP). Muitos servidores RPC no Windows permitem-lhe indicar o porto do servidor em itens de configuração personalizados, tais como entradas de Registo. Quando você pode especificar um porto de Servidor Dedicado, você sabe qual o fluxo de tráfego entre as máquinas através da firewall, e você pode definir o tráfego é permitido de uma forma mais dirigida.
como porto de servidor, por favor escolha um porto fora do intervalo que poderá querer indicar em baixo., Você pode encontrar uma lista abrangente de portas de servidor que são usadas no Windows e principais produtos da Microsoft na visão geral do serviço de artigos e requisitos de portas de rede para Windows.O artigo também lista os servidores RPC e quais servidores RPC podem ser configurados para usar portas de servidor personalizadas além das instalações que o RPC runtime oferece.
algumas firewalls também permitem filtragem UUID, onde ele aprende a partir de um pedido Mapper do RPC para uma UUID interface RPC. A resposta tem o número da porta do servidor, e uma posterior ligação RPC nesta porta é então permitido passar.,
com o editor de Registos, poderá modificar os seguintes parâmetros para RPC. Os valores da chave do porto de RPC discutidos abaixo estão todos localizados na seguinte chave no registo:
HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\Internet\ Entry name Data Type
Ports REG_MULTI_SZ
- especifica um conjunto de gamas de portas IP que consistem em todos os portos disponíveis na Internet ou em todos os portos não disponíveis na Internet. Cada cadeia representa uma única porta ou um conjunto inclusivo de portas., Por exemplo, um único porto pode ser representado por 5984, e um conjunto de portos pode ser representado por 5000-5100. Se algum item estiver fora do intervalo de 0 a 65535, ou se algum texto não puder ser interpretado, o tempo de execução do RPC trata toda a configuração como inválida.
Portsinternet REG_SZ Y ou N (sem distinção de maiúsculas)
- Se Y, os portos enumerados na chave Ports são todos os portos disponíveis na Internet nesse computador. If N, the ports listed in the Ports key are all those ports that are not Internet-available.,
UseInternetPorts REG_SZ) Y ou N (não sensível à capitalização)
- especifica a Política por omissão do sistema.
- Se Y, os processos usando o padrão serão atribuídos portos do conjunto de portos disponíveis na Internet, como definido anteriormente.
- Se n, Os processos que usam o padrão serão atribuídos portos do conjunto de portas intranet-only.
exemplo:
neste exemplo, as portas 5000 a 6000 inclusive foram arbitrariamente selecionadas para ajudar a ilustrar como a nova chave de registro pode ser configurada., Não se trata de uma recomendação de um número mínimo de portos necessários para um determinado sistema.
deve abrir uma gama de portos acima do porto 5000. Os números de Porto abaixo de 5000 já podem estar em uso por outras aplicações e podem causar conflitos com a sua aplicação DCOM. Além disso, a experiência anterior mostra que um mínimo de 100 portos devem ser abertos, uma vez que vários serviços do sistema dependem destes portos RPC para se comunicarem uns com os outros.
Nota
O número mínimo de portas exigido pode diferir do computador para o computador., Os computadores com tráfego mais elevado podem encontrar-se numa situação de esgotamento do porto se as portas dinâmicas RPC forem restringidas. Tome isto em consideração ao restringir a gama de portos.
Aviso
Se houver um erro na configuração do porto ou se houver portos insuficientes no pool, o Endpoint Mapper Service não será capaz de registar servidores RPC com endpoints dinâmicos. Quando existe um erro de configuração, o código de erro será 87 (0x57) ERROR_ INVALID_PARAMETER. Isso também pode afetar servidores RPC do Windows, como Netlogon., Irá registar o evento 5820 neste caso:
nome do registo: SystemSource: NETLOGONEvent ID: 5820Level: ErrorKeywords:ClassicDescription: o serviço Netlogon não pôde adicionar a interface RPC de AuthZ. O serviço foi cancelado. Ocorreu o seguinte erro: “o parâmetro está incorrecto.’
Se você gostaria de fazer um mergulho profundo sobre como ele funciona, veja RPC sobre ele/Pro.
erro de resolução de problemas de RPC
PortQuery
a melhor coisa para sempre resolver problemas de problemas de RPC antes mesmo de entrar no traces é fazendo uso de ferramentas como PortQry., Você pode rapidamente determinar se você é capaz de fazer uma ligação com o seguinte comando:
Portqry.exe -n <ServerIP> -e 135
Isto dará a você um monte de saída para procurar, mas você deve estar olhando para *ip_tcp – e o número de porta entre parênteses, que diz se vocês foram capaz de chegar a uma porta dinâmica da EPM e também fazer uma ligação para ele. Se o acima falhar, você pode tipicamente começar a coletar traços simultâneos de rede., Algo assim da saída de “PortQry”:
Portqry.exe -n 169.254.0.2 -e 135
Resultado Parcial abaixo:
a negrito é o número de porta efémero a que você fez uma ligação com sucesso.
Netsh
você pode executar os comandos abaixo para alavancar as capturas de netsh, para coletar um traço simultâneo. Lembre-se de executar o abaixo em um “CMD administrativo”, que requer elevação.,
-
No cliente
Netsh trace start scenario=netconnection capture=yes tracefile=c:\client_nettrace.etl maxsize=512 overwrite=yes report=yes
-
No Servidor
Netsh trace start scenario=netconnection capture=yes tracefile=c:\server_nettrace.etl maxsize=512 overwrite=yes report=yes
Agora, tente reproduzir o problema da máquina do cliente e assim que sentir que o problema foi reproduzido, vá em frente e deixar os traços, usando o comando
Netsh trace stop
Abra os traços no Monitor de Rede Microsoft 3.4 ou Mensagem Analyzer e filtro de rastreamento por
-
Ipv4.address==<client-ip>
eipv4.address==<server-ip>
etcp.port==135
ou simplesmentetcp.port==135
deve ajudar., -
procure o protocolo ” EPM “na coluna” Protocolo”.
-
verifique agora se está a receber uma resposta do servidor. Se você receber uma resposta, anote o número de porta dinâmica que você foi alocado para usar.
-
verifique se estamos a ligar-nos com sucesso a esta porta dinâmica.,
-
O filtro deve ser algo assim:
tcp.port==<dynamic-port-allocated>
eipv4.address==<server-ip>
Isso deve ajudá-lo a verificar a conectividade e a se isolar problemas de rede são vistos.
porta não acessível
a razão mais comum para vermos o servidor de RPC indisponível é quando a porta dinâmica que o cliente tenta ligar não é acessível. The client side trace would then show TCP SYN retransmits for the dynamic port.,
a porta não pode ser acessível devido a uma das seguintes razões:
- a gama de portas dinâmicas está bloqueada na firewall no ambiente.
- um dispositivo médio está soltando os pacotes.
- o servidor de destino está a largar os pacotes (WFP drop / NIC drop/ Filter driver, etc.).
Leave a Reply