Conexão recusada - NetTcp Serviço WCF do trabalho - cliente conectando mais de VPN

StackOverflow https://stackoverflow.com/questions/1247172

  •  12-09-2019
  •  | 
  •  

Pergunta

Aqui está o cenário: Uma máquina cliente tenha ligado ao 'Rede de trabalho' via VPN (Cisco VPN Client). Os anfitriões de rede de trabalho de uma máquina que tem um serviço WCF com ligação NetTcp. O cliente tenta se conectar a este serviço e recebe uma exceção como segue:

Não foi possível conectar-se net.tcp: // workMachine: 2010 / SomeService. A tentativa de ligação durou um intervalo de tempo de 00: 00: 01,3180754. TCP código de erro 10061: Nenhuma conexão pôde ser feita porque a máquina de destino recusou ativamente workMachine:. 2010

Coisas que eu tentei:

  1. Mudou o grupo de trabalho do cliente máquina à rede de trabalho grupo de trabalho
  2. Adicionado de domínio / nome de usuário / senha para a senha vault rede do Windows, de modo que ele pode ser usado para conectar
  3. Mudou o caminho serviço WCF com um endereço IP em vez do nome workMachine
  4. verificado cliente máquina firewalls e adicionado para permitir que o cliente WCF através dele

Todos acima falhou e não funcionou. Alguém já encontrou problemas semelhantes?

A máquina cliente está no Windows 7

SecurityMode do serviço WCF está definido para NONE -. Modo que não deve ser um problema

Qualquer idéias serão úteis

Foi útil?

Solução

Você pode precisar fornecer credenciais do cliente de forma explícita através de seu objeto proxy.

Suponha que o objeto de proxy no código abaixo implementa uma das interfaces clientbase.

proxy.ClientCredentials.Windows.ClientCredential.UserName = "clientaccount";
proxy.ClientCredentials.Windows.ClientCredential.Password = "S3cr3t1337Pwd";

Outras dicas

Você poderia - apenas para fins de teste - expor o mesmo serviço na mesma máquina usando um HTTP endpoint, e tentar conectar-se que um de seu cliente VPN?

NetTcp é uma excelente escolha por trás do firewall corporativo - só não sei como o cliente Cisco VPN pode causar problemas aqui, que pode não aparecer quando se utiliza um protocolo baseado em http. Apenas um palpite, por agora, mas se você tiver mais nada para continuar, experimentá-lo!

Marc

Apenas um outro pensado para ajudar com a depuração de este tipo de questões, usando CMD executar "netstat -a" (você pode acrescentar a opção -o e encontrar o ID do processo relacionado também) e ver se a porta em questão está atualmente aberto , se não for você pode ter um problema com o SMSvcHost.exe (este é o processo do Windows para o gerenciamento de um IIS hospedados serviço TCP).

Eu tive esse problema antes e rectificado reiniciando os seguintes serviços (obviamente você precisa considerar com cuidado isso se você está lidando com um sistema de produção ao vivo):

NetTcpActivator (Net. Tcp Adapter Listening) NetTcpPortSharing (Net. Porta TCP Sharing Service)

e, possivelmente, se relevante:

NetMsmqActivator (Net. Cachimbo Listener Adapter) NetPipeActivator (Net. Cachimbo Listener Adapter)

Espero que isso ajude alguém!

J.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top