接続が拒否されました - 職場からの nettcp WCF サービス - クライアントが VPN 経由で接続しています

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

  •  12-09-2019
  •  | 
  •  

質問

シナリオは次のとおりです。クライアント マシンが VPN (Cisco VPN Client) 経由で「職場ネットワーク」に接続されています。職場ネットワークは、nettcp バインドを備えた WCF サービスを持つマシンをホストします。クライアントがこのサービスに接続しようとすると、次のような例外が発生します。

net.tcp:// workmachine:2010/someserviceに接続できませんでした。接続の試行は、00:00:01.3180754の期間で続きました。TCPエラーコード10061:ターゲットマシンがIT WorkMachine:2010を積極的に拒否したため、接続を行うことはできませんでした。

私が試したこと:

  1. クライアントマシンのワークグループをワークネットワークワークグループに変更しました
  2. Windows ネットワーク パスワード ボールトのドメイン/ユーザー名/パスワードを追加し、接続に使用できるようにしました。
  3. workMachine 名の代わりに IP アドレスを使用して wcf サービス パスを変更しました。
  4. クライアント マシンのファイアウォールをチェックし、wcf クライアントがファイアウォールを通過できるように追加しました。

上記はすべて失敗し、機能しませんでした。同様の問題に遭遇した人はいますか?

クライアント マシンは Windows 7 上にあります

WCF サービスの SecurityMode は NONE に設定されているため、問題はありません。

どのような洞察も役に立ちます

役に立ちましたか?

解決

プロキシ オブジェクトを通じてクライアントの資格情報を明示的に指定する必要がある場合があります。

以下のコードのプロキシ オブジェクトが ClientBase インターフェイスの 1 つを実装していると仮定します。

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

他のヒント

テスト目的でのみ、HTTP エンドポイントを使用して同じマシン上で同じサービスを公開し、VPN クライアントからそのサービスへの接続を試行していただけますか?

NetTcp は企業ファイアウォールの背後での優れた選択肢です。Cisco VPN クライアントがここでどのような問題を引き起こすかはわかりませんが、http ベースのプロトコルを使用している場合には問題が発生しない可能性があります。今のところは単なる推測ですが、他に何もすることがない場合は、試してみてください。

マルク

この種の問題のデバッグを支援するもう 1 つの方法は、CMD を使用して「netstat -a」を実行し (-o スイッチを追加すると、関連するプロセス ID も見つけることができます)、問題のポートが現在開いているかどうかを確認します。 SMSvcHost.exe (これは、IIS でホストされる TCP サービスを管理するための Windows プロセスです) に問題がある可能性があります。

以前にこの問題が発生したことがあり、次のサービスを再起動することで修正しました (実際の運用システムを扱っている場合は、これを慎重に検討する必要があることは明らかです)。

NetTcpActivator (Net.TCPリスニングアダプター)nettcpportsharing(net。TCPポート共有サービス)

そしておそらく関連する場合:

NetMsmqActivator (Net.パイプリスナーアダプター)netpipeactivator(net。パイプリスナーアダプター)

これが誰かの役に立てば幸いです!

J.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top