Я настраиваю VPN, используя самозаверяющий сертификат. Мой сертификат был создан на сервере и установлен на сервере. Он отображается в консоли MMC в разделе «Сертификаты (локальный компьютер) / Личный / Сертификаты».
Я проверил привязку сертификата к прослушивателю SSL с помощью "netsh http show sslcert", который сообщает:
SSL Certificate bindings:
-------------------------
IP:port : 0.0.0.0:443
Certificate Hash : bc21f475405f********a97aa4cdecd3bfe257d3
Application ID : {ba195980-cd49-458b-9e23-c84ee0adcd75}
Certificate Store Name : MY
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
IP:port : [::]:443
Certificate Hash : bc21f475405f********a97aa4cdecd3bfe257d3
Application ID : {ba195980-cd49-458b-9e23-c84ee0adcd75}
Certificate Store Name : MY
Verify Client Certificate Revocation : Enabled
Verify Revocation Using Cached Client Certificate Only : Disabled
Usage Check : Enabled
Revocation Freshness Time : 0
URL Retrieval Timeout : 0
Ctl Identifier : (null)
Ctl Store Name : (null)
DS Mapper Usage : Disabled
Negotiate Client Certificate : Disabled
Однако «netstat -aon» не сообщает ничего, что прослушивает порт 443. Я проверил реестр в «HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ SstpSvc \ Parameters» и обнаружил, что ListenerPort был установлен на 0. Я изменил его на 443. Я перезапустил службу SSTP, но по-прежнему ничего не прослушивает 443. "sc query sstpsvc" и "sc query remoteaccess" сообщают "State 4 Running"
Ошибка отображается на клиенте. Клиент VPN - это компьютер с Windows 7 в локальной сети. VPN настроен на использование только SSTP. Если я изменю его на использование PPTP, он мгновенно подключится. Я экспортировал самоподписанный сертификат и импортировал его в клиентскую систему. Я использовал ответ в этот вопрос для установки сертификата в доверенное корневое хранилище клиента.
Я просмотрел Эта статья, и использовал шаги в Эта статья чтобы убедиться, что сертификат был правильно привязан.
Эта статья обсуждаются различные коды ошибок из SSTP-соединений, но, к сожалению, ошибка 0x8007274C не упоминается. В Google не так много полезной информации об этой ошибке. Может ли кто-нибудь подсказать, как исправить эту проблему?
Решено
Моя проблема заключалась в следующем: у меня была маршрутизация VPN и NAT на одном сервере RRAS. По умолчанию NAT не пропускает трафик TCP-порта 443 - я проверил это, попытавшись подключиться к моему серверу SSTP через telnet с моего VPN-клиента, и ничего не получил.
На VPN-сервере я вошел в раздел «Маршрутизация и удаленный доступ / IPv4 / NAT» и вошел в свойства адаптера для моего общедоступного интерфейса. Перейдите на вкладку «Службы и порты», установите флажок «Защищенный веб-сервер (HTTPS) и укажите 127.0.0.1 для частного адреса. Это позволит необходимому трафику SSL пройти для завершения соединений SSTP. Надеюсь, это кому-то поможет. Из вашего VPN-клиента вы сможете подключиться к серверу SSTP через порт 443 через Telnet.