Отказано в подключении - Служба nettcp WCF отключена от работы - клиент подключается через VPN

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

  •  12-09-2019
  •  | 
  •  

Вопрос

Вот такой сценарий:Клиентский компьютер подключился к "Рабочей сети" через VPN (Cisco VPN Client).В рабочей сети размещен компьютер, на котором есть служба WCF с привязкой nettcp.Клиент пытается подключиться к этой службе и получает следующее исключение:

Не удалось подключиться к net.tcp://workMachine: 2010/SomeService.Попытка подключения продолжалась в течение промежутка времени 00:00:01.3180754.TCP код ошибки 10061:Не удалось установить соединение поскольку целевая машина активно отказывалась от него workMachine: 2010.

То, что я пробовал:

  1. Изменил рабочую группу клиента компьютер на рабочую сеть рабочая группа
  2. Добавлен домен / имя пользователя / пароль для хранилища сетевых паролей Windows, чтобы его можно было использовать для подключения
  3. Изменен путь к службе wcf с использованием IP-адреса вместо имени рабочей машины
  4. Проверил брандмауэры клиентского компьютера и добавил, чтобы разрешить клиенту wcf проходить через них

Все вышеперечисленное не сработало.Кто-нибудь сталкивался с подобными проблемами?

Клиентский компьютер работает под управлением Windows 7

SecurityMode службы WCF имеет значение NONE - так что это не должно быть проблемой.

Любая информация будет полезна

Это было полезно?

Решение

Возможно, вам потребуется явно указать учетные данные клиента через ваш прокси-объект.

Предположим, что прокси-объект в приведенном ниже коде реализует один из интерфейсов клиентской базы.

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

Другие советы

Не могли бы вы - просто в целях тестирования - предоставить ту же службу на том же компьютере, используя конечную точку HTTP, и попытаться подключиться к ней из вашего VPN-клиента?

netTcp - отличный выбор за корпоративным брандмауэром - просто не знаю, как VPN-клиент Cisco может вызвать здесь проблемы, которые могут не отображаться при использовании протокола на основе http.Пока это просто дикое предположение, но если вам больше не на что опереться, попробуйте!

Марк

Просто еще одна мысль, чтобы помочь в отладке подобных проблем, используя CMD, выполните "netstat -a" (вы можете добавить переключатель -o и также найти соответствующий идентификатор процесса) и посмотрите, открыт ли соответствующий порт в данный момент, если это не так, возможно, у вас проблема с SMSvcHost.exe (это процесс Windows для управления службой TCP, размещенной в IIS).

У меня была эта проблема раньше, и я исправил ее, перезапустив следующие службы (очевидно, вам нужно будет тщательно обдумать это, если вы имеете дело с действующей производственной системой):

NetTcpActivator (Net.Адаптер прослушивания Tcp) NetTcpPortSharing (Net.Служба общего доступа к Tcp-портам)

и, возможно, если это уместно:

NetMsmqActivator (Net.Адаптер для прослушивания каналов) NetPipeActivator (Net.Адаптер для прослушивания труб)

Надеюсь, это кому-то поможет!

J.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top