Connessione rifiutata - nettcp servizio WCF dal lavoro - client che si connette tramite VPN
-
12-09-2019 - |
Domanda
Ecco lo scenario: Una macchina client è connesso alla 'Rete aziendale' via VPN (Cisco VPN Client). La rete opera ospita una macchina che ha un servizio WCF con rilegatura nettcp. Il client tenta di connettersi a questo servizio e ottiene un'eccezione nel seguente modo:
Impossibile connettersi al net.tcp: // workMachine: 2010 / someservice. Il tentativo di connessione è durato per un arco di tempo di 00: 00: 01,3180754. TCP codice di errore 10061: Nessuna connessione potrebbe essere fatto perché la macchina di destinazione attivamente rifiutato workMachine:. 2010
cose che ho provato:
- ha cambiato il gruppo di lavoro del cliente macchina alla rete di lavoro gruppo di lavoro
- aggiunta del dominio / username / password per l'archivio protetto password di rete di Windows, in modo che possa essere utilizzato per collegare
- ha cambiato il percorso del servizio WCF con un indirizzo IP invece del nome workMachine
- firewall macchine client Controllato e ha aggiunto di consentire al cliente WCF attraverso di essa
Tutti sopra fallito e non ha funzionato. Qualcuno ha riscontrato problemi simili?
La macchina client è su Windows 7
SecurityMode del servizio WCF è impostata su NONE -. In modo che non dovrebbe essere un problema
Tutte le comprensioni sarà utile
Soluzione
Potrebbe essere necessario fornire le credenziali del client in modo esplicito attraverso il vostro oggetto proxy.
Si supponga che l'oggetto proxy nel seguente codice implementa una delle interfacce ClientBase.
proxy.ClientCredentials.Windows.ClientCredential.UserName = "clientaccount";
proxy.ClientCredentials.Windows.ClientCredential.Password = "S3cr3t1337Pwd";
Altri suggerimenti
Potresti - solo a scopo di test - esporre lo stesso servizio sulla stessa macchina utilizzando un endpoint HTTP, e provare a connettersi a quella dal client VPN?
NetTcp è una scelta eccellente dietro il firewall aziendale - solo che non so come il client VPN Cisco potrebbe causare problemi qui, che potrebbe non presentarsi quando si utilizza un protocollo basato su HTTP. Solo una supposizione selvaggia per ora, ma se non hai niente altro da andare avanti, fare un tentativo!
Marc
Solo un altro pensiero di assistere con il debug di questo tipo di problemi, utilizzando CMD eseguire "netstat" (è possibile aggiungere l'opzione -o e trovare il relativo processo id anche) e vedere se la porta in questione è aperto , se non è si può avere un problema con lo SMSvcHost.exe (questo è il processo di Windows per la gestione di un IIS ospitato TCP Service).
Ho avuto questo problema prima e rettificato che riavviando i seguenti servizi (ovviamente è necessario considerare con attenzione questo se avete a che fare con un sistema di produzione dal vivo):
NetTcpActivator (Net Adapter. Tcp assistere) NetTcpPortSharing (Net. Porta TCP Servizio di condivisione)
e, eventualmente, se del caso:
NetMsmqActivator (Net. Tubo adattatore listener) NetPipeActivator (Pipe Adapter Listener Net.)
Spero che questo aiuti qualcuno!
J.