Reaching SQL Server AlwaysOn HA listener from the Internet
I’ve successfully created a SQL Server AlwaysOn High Availability Group between two servers and everything seems to be working great internally. Each replica is on a separate physical location, behind different firewalls and public IPs, as well as private IPs/subnets. Right now they are able to communicate directly with each other through a site-to-site VPN. The application that I use to access the database is able to connect to the listener’s DNS. Both Failover Cluster nodes and SQL replicas have private IPs so as long as I run the application within my network, I’m OK. The issue that I have now is that I need the application to be able from anywhere in the world. Basically, I need to be able to connect to the listener from the Internet without having to VPN in and still be able to take advantage of the HA//Failover capabilities. How can this be accomplished? The only documentation that seems to be posted online relates to Azure which doesn’t apply to my setup. Thank you!
asked Aug 1, 2017 at 23:01
TooManyHats TooManyHats
21 1 1 bronze badge
Please don’t make your database reachable from the internet.
Aug 2, 2017 at 0:10
@TooManyHats, what application you want to connect from your Database. Did you configure ‘ Availability Group Listener’ or not?
Aug 2, 2017 at 5:44
What @AMtwo said.
Aug 2, 2017 at 13:41
I got it working using port forwarding rules on my firewall but I’m nost sure if it’s the «cleanest» solution or best way to do this. @AMtwo How can I allow the application access to the database, then? It’s a native Windows application that gets installed on every user’s laptop and most of them are rarely on premise. For the sake of security, I would prefer that they VPN in so the SQL servers are not exposed to the Internet but the other stakeholders find this solution impractical» and «unacceptable».
Aug 2, 2017 at 17:06
1 Answer 1
It’s generally considered a really bad idea to make your database accessible from the internet.
Making the database accessible from the public internet is a HUGE security risk. It’s easy to port-scan and find publicly accessible databases. Even if you run on a non-standard port, it’s relatively trivial to discover the SQL Server instance that is internet-facing. Your database would be available to anyone to exploit. It’s likely that you’d be victim of every zero-day exploit, in addition to brute force attacks. Eventually, your data will be stolen or destroyed.
Take a look at shodan.io to see how easy it is to discover databases on the public internet. You will essentially have a big sign saying «HACK ME» hanging on your IP address.
Ideally, you would have a web service that the application would interact with. That public web service would be the only thing that connects to the (non-public, firewalled) database. Doing this would require re-architecting your application to use the web service, rather than a direct client-server database connection. If you can’t re-architect the application, then VPN is the only secure solution.
Устранение неполадок Always On VPN
В этой статье содержатся инструкции по проверке и устранению неполадок Always On развертывании VPN.
Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10
Если настройка виртуальной частной сети (VPN) Always On не подключает клиентов к внутренней сети, возможно, возникла одна из следующих проблем:
- Сертификат VPN недопустим.
- Политики сервера политики политики сети (NPS) неверны.
- Проблемы со сценариями развертывания клиента или маршрутизацией и удаленным доступом.
Первым шагом в устранении неполадок и тестировании VPN-подключения является изучение основных компонентов инфраструктуры VPN Always On.
Проблемы с подключением можно устранить несколькими способами. Для проблем на стороне клиента и общего устранения неполадок журналы приложений на клиентских компьютерах неоценимы. Для проблем, связанных с проверкой подлинности, журнал NPS, расположенный на сервере NPS, может помочь определить источник проблемы.
Общие сведения об устранении неполадок с VPN-подключением Always On
Always On VPN-клиенты проходят несколько шагов перед установкой подключения. В результате есть несколько мест, где подключения могут быть заблокированы, и иногда трудно понять, где возникла проблема.
Если у вас возникают проблемы, вот несколько общих действий, которые можно предпринять, чтобы выяснить, что происходит:
- Выполните проверку whatismyip , чтобы убедиться, что компьютер с шаблоном не подключен извне. Если на компьютере есть общедоступный IP-адрес, который вам не принадлежит, следует изменить IP-адрес на частный.
- Перейдите в раздел панель управления>Сети исетевые подключения к Интернету>, откройте свойства профиля VPN и проверка, чтобы убедиться, что значение на вкладке Общие может разрешаться с помощью DNS. В противном случае причиной проблемы может быть сервер удаленного доступа или VPN-сервер, который не может быть разрешен на IP-адрес.
- Откройте протокол ICMP для внешнего интерфейса и выполните связь с VPN-сервером с удаленного клиента. Если проверка проверки данных выполнена успешно, можно удалить правило разрешения ICMP. Если нет, то vpn-сервер, который недоступен, вероятно, является причиной проблемы.
- Проверьте конфигурацию внутренних и внешних сетевых адаптеров на VPN-сервере. В частности, убедитесь, что они в одной подсети и что внешний сетевой адаптер подключается к правильному интерфейсу брандмауэра.
- Проверьте брандмауэр клиента, брандмауэр сервера и все аппаратные брандмауэры, чтобы убедиться, что они разрешают использование портов UDP 500 и 4500. Кроме того, если вы используете UDP-порт 500, убедитесь, что IPSEC нигде не отключен и не заблокирован. В противном случае проблема возникает из-за неоткрытых портов от клиента к внешнему интерфейсу VPN-сервера.
- Убедитесь, что NPS-сервер имеет сертификат проверки подлинности сервера, который может обслуживать запросы IKE. Кроме того, убедитесь, что клиент NPS имеет правильный IP-адрес VPN-сервера в его параметрах. Проверка подлинности должна выполняться только с помощью PEAP, а свойства PEAP должны разрешать только проверку подлинности на основе сертификата. Проблемы с проверкой подлинности можно проверка в журнале событий NPS. Дополнительные сведения см. в статье Установка и настройка NPS-сервера.
- Если вы можете подключиться, но у вас нет доступа к Интернету или локальной сети, проверка пулы IP-адресов DHCP или VPN-сервера для устранения проблем с конфигурацией. Кроме того, убедитесь, что клиенты могут получить доступ к этим ресурсам. Vpn-сервер можно использовать для маршрутизации запросов.
Общие сведения об устранении неполадок со скриптами VPN_Profile.ps1
Ниже перечислены наиболее распространенные проблемы при выполнении скрипта VPN_Profile.ps1 вручную.
- Если вы используете средство удаленного подключения, убедитесь, что не используете протокол удаленного рабочего стола (RDP) или другие методы удаленного подключения. Удаленные подключения могут помешать службе обнаруживать вас при входе.
- Если затронутый пользователь является администратором на локальном компьютере, убедитесь, что у него есть права администратора во время выполнения скрипта.
- Если вы включили другие функции безопасности PowerShell, убедитесь, что политика выполнения PowerShell не блокирует скрипт. Отключите режим ограниченного языка перед выполнением скрипта, а затем повторно активируйте его после завершения выполнения скрипта.
Журналы
Вы также можете проверка журналы приложений и журналы NPS для событий, которые могут указывать, когда и где возникает проблема.
Журналы приложений.
Журналы приложений на клиентских компьютерах записывают сведения о событиях VPN-подключения более высокого уровня.
При устранении неполадок Always On VPN найдите события с меткой RasClient. Все сообщения об ошибках возвращают код ошибки в конце сообщения. Коды ошибок перечислены некоторые из наиболее распространенных кодов ошибок, связанных с Always On VPN. Полный список кодов ошибок см. в разделе Коды ошибок маршрутизации и удаленного доступа.
Журналы NPS
NPS создает и сохраняет журналы учета NPS. По умолчанию журналы хранятся в %SYSTEMROOT%\System32\Logfiles\ в файле с именем IN.txt.
По умолчанию эти журналы имеют формат значений, разделенных запятыми, но не содержат строку заголовка. Следующий блок кода содержит строку заголовка:
ComputerName,ServiceName,Record-Date,Record-Time,Packet-Type,User-Name,Fully-Qualified-Distinguished-Name,Called-Station-ID,Calling-Station-ID,Callback-Number,Framed-IP-Address,NAS-Identifier,NAS-IP-Address,NAS-Port,Client-Vendor,Client-IP-Address,Client-Friendly-Name,Event-Timestamp,Port-Limit,NAS-Port-Type,Connect-Info,Framed-Protocol,Service-Type,Authentication-Type,Policy-Name,Reason-Code,Class,Session-Timeout,Idle-Timeout,Termination-Action,EAP-Friendly-Name,Acct-Status-Type,Acct-Delay-Time,Acct-Input-Octets,Acct-Output-Octets,Acct-Session-Id,Acct-Authentic,Acct-Session-Time,Acct-Input-Packets,Acct-Output-Packets,Acct-Terminate-Cause,Acct-Multi-Ssn-ID,Acct-Link-Count,Acct-Interim-Interval,Tunnel-Type,Tunnel-Medium-Type,Tunnel-Client-Endpt,Tunnel-Server-Endpt,Acct-Tunnel-Conn,Tunnel-Pvt-Group-ID,Tunnel-Assignment-ID,Tunnel-Preference,MS-Acct-Auth-Type,MS-Acct-EAP-Type,MS-RAS-Version,MS-RAS-Vendor,MS-CHAP-Error,MS-CHAP-Domain,MS-MPPE-Encryption-Types,MS-MPPE-Encryption-Policy,Proxy-Policy-Name,Provider-Type,Provider-Name,Remote-Server-Address,MS-RAS-Client-Name,MS-RAS-Client-Version
Если вставить эту строку заголовка в качестве первой строки файла журнала, импортируйте файл в Microsoft Excel, а затем Excel правильно помечает столбцы.
Журналы NPS могут помочь в диагностике проблем, связанных с политикой. Дополнительные сведения о журналах NPS см. в разделе Интерпретация файлов журнала в формате базы данных NPS.
Коды ошибок
В следующих разделах описывается устранение наиболее часто встречающихся ошибок.
Ошибка 800: удаленному подключению не удалось подключиться
Эта проблема возникает, когда службе не удается установить удаленное подключение из-за сбоя vpn-туннелей, часто из-за недоступности VPN-сервера. Если подключение пытается использовать туннельный протокол уровня 2 (L2TP) или туннель IPsec, эта ошибка означает, что необходимые параметры безопасности для согласования IPsec настроены неправильно.
Причина: тип VPN-туннеля
Эта проблема может возникнуть, если для типа VPN-туннеля задано значение Автоматически , а попытка подключения во всех VPN-туннелях завершается неудачно.
Решение: проверка конфигурацию VPN
Так как параметры VPN вызывают эту проблему, следует устранить неполадки с параметрами VPN и подключением, выполнив следующие действия:
- Если вы знаете, какой туннель следует использовать для развертывания, задайте тип VPN для этого типа туннеля на стороне VPN-клиента.
- Убедитесь, что порты IKE на портах UDP 500 и 4500 не заблокированы.
- Убедитесь, что клиент и сервер имеют правильные сертификаты для IKE.
Ошибка 809: не удается установить подключение между локальным компьютером и VPN-сервером
В этой проблеме удаленный сервер не отвечает, что предотвращает подключение локального компьютера и VPN-сервера. Это может быть связано с тем, что одно или несколько сетевых устройств, таких как маршрутизаторы, брандмауэры или преобразование сетевых адресов (NAT) между компьютером и удаленным сервером, не настроены для разрешения VPN-подключений. Обратитесь к администратору или поставщику услуг, чтобы определить, какое устройство может вызвать проблему.
Причина ошибки 809
Эта проблема может возникнуть при блокировке портов UDP 500 или 4500 на VPN-сервере или брандмауэре. Блокировка может произойти, если одно из сетевых устройств между компьютером и удаленным сервером, например брандмауэр, NAT или маршрутизаторы, настроено неправильно.
Решение. проверка портов на устройствах между локальным компьютером и удаленным сервером
Чтобы устранить эту проблему, сначала обратитесь к администратору или поставщику услуг, чтобы узнать, какое устройство заблокировано. После этого убедитесь, что брандмауэры для этого устройства разрешают через порты UDP 500 и 4500. Если проблема не устранена, проверка брандмауэры на каждом устройстве между локальным компьютером и удаленным сервером.
Ошибка 812: не удается подключиться к Always On VPN
Эта проблема возникает, если серверу удаленного доступа (RAS) или VPN-серверу не удается подключиться к Always On VPN. Метод проверки подлинности, используемый сервером для проверки имени пользователя и пароля, не соответствует методу проверки подлинности, настроенного в профиле подключения.
При возникновении ошибки 812 рекомендуется немедленно обратиться к администратору сервера RAS, чтобы сообщить ему, что произошло.
Если вы используете Просмотр событий для устранения неполадок, вы можете найти эту проблему, помеченную как журнал событий 20276. Это событие обычно возникает, если параметр протокола проверки подлинности VPN-сервера на основе маршрутизации и удаленного доступа (RRAS) не соответствует параметрам на компьютере VPN-клиента.
Причина ошибки 812
Как правило, эта ошибка возникает, когда NPS указал условие проверки подлинности, с которым не может выполнить клиент. Например, если NPS указывает, что ему требуется сертификат для защиты подключения PEAP, он не сможет пройти проверку подлинности, если клиент пытается использовать EAP-MSCHAPv2.
Решение: проверка параметры проверки подлинности клиента и сервера NPS
Чтобы устранить эту проблему, убедитесь, что требования к проверке подлинности для клиента и NPS-сервера совпадают. Если нет, измените их соответствующим образом.
Ошибка 13806: IKE не удается найти действительный сертификат компьютера
Эта проблема возникает, когда IKE не может найти действительный сертификат компьютера.
Причина ошибки 13806
Эта ошибка обычно возникает, если у VPN-сервера нет необходимого компьютера или сертификата корневого компьютера.
Решение: установите действительный сертификат в соответствующем хранилище сертификатов.
Чтобы устранить эту проблему, убедитесь, что необходимые сертификаты установлены как на клиентском компьютере, так и на VPN-сервере. Если нет, обратитесь к администратору безопасности сети и попросите его установить действительные сертификаты в соответствующем хранилище сертификатов.
Ошибка 13801: недопустимые учетные данные проверки подлинности IKE
Эта проблема возникает, если сервер или клиент не могут принять учетные данные проверки подлинности IKE.
Причина ошибки 13801
Эта ошибка может возникать из-за следующего:
- Для сертификата компьютера, используемого для проверки IKEv2 на сервере RAS, не включена проверка подлинности сервера в разделе Расширенное использование ключа.
- Срок действия сертификата компьютера на сервере RAS истек.
- На клиентском компьютере нет корневого сертификата для проверки сертификата сервера RAS.
- Имя VPN-сервера клиентского компьютера не соответствует значению subjectName в сертификате сервера.
Решение 1. Проверка параметров сертификата сервера
Если проблема связана с сертификатом компьютера сервера RAS, убедитесь, что сертификат включает проверку подлинности сервера в разделе Расширенное использование ключа.
Решение 2. Убедитесь, что сертификат компьютера по-прежнему действителен
Если проблема заключается в том, что срок действия сертификата компьютера RAS истек, убедитесь, что он по-прежнему действителен. Если это не так, установите действительный сертификат.
Решение 3. Убедитесь, что на клиентском компьютере есть корневой сертификат
Если проблема связана с отсутствием корневого сертификата на клиентском компьютере, сначала проверка доверенные корневые центры сертификации на сервере RRAS, чтобы убедиться, что вы используете центр сертификации. Если его нет, установите допустимый корневой сертификат.
Решение 4. Заставить имя VPN-сервера клиентского компьютера соответствовать сертификату сервера
Сначала убедитесь, что VPN-клиент подключается с использованием того же полного доменного имени (FQDN), что и сертификат VPN-сервера. В противном случае измените имя клиента, чтобы оно соответствовало имени сертификата сервера.
Ошибка 0x80070040: сертификат сервера не содержит проверку подлинности сервера в записях об использовании
Эта проблема возникает, если сертификат сервера не имеет проверки подлинности сервера в качестве одной из записей об использовании сертификата.
Ошибка 0x80070040 причина
Эта ошибка возникает, если на сервере RAS не установлен сертификат проверки подлинности сервера.
Решение. Убедитесь, что сертификат компьютера содержит необходимую запись об использовании сертификата.
Чтобы устранить эту проблему, убедитесь, что сертификат компьютера, который сервер RAS использует для проверки IKEv2, включает проверку подлинности сервера в список записей об использовании сертификатов.
Ошибка 0x800B0109: цепочка сертификатов обработана, но завершена в корневом сертификате
Полное описание ошибки: «Цепочка сертификатов обработана, но завершена в корневом сертификате, которому поставщик доверия не доверяет».
Как правило, компьютер VPN-клиента присоединяется к домену на основе Active Directory (AD). Если для входа на VPN-сервер используются учетные данные домена, служба автоматически устанавливает сертификат в хранилище доверенных корневых центров сертификации. Эта проблема может возникнуть, если компьютер не присоединен к домену AD или используется альтернативная цепочка сертификатов.
Ошибка 0x800B0109 причина
Эта ошибка может возникнуть, если на клиентском компьютере не установлен соответствующий доверенный сертификат корневого ЦС в хранилище доверенных корневых центров сертификации.
Решение. Установка доверенного корневого сертификата
Чтобы устранить эту проблему, убедитесь, что на клиентском компьютере установлен доверенный корневой сертификат в хранилище доверенных корневых центров сертификации. Если нет, установите соответствующий корневой сертификат.
Ошибка: Ой, вы еще не можете добраться до этого
Это сообщение об ошибке связано с проблемами подключения Microsoft Entra условного доступа. При возникновении этой проблемы политика условного доступа не удовлетворяется, блокируя VPN-подключение, но затем подключаясь после того, как пользователь закроет диалоговое окно. Если пользователь нажимает кнопку ОК, он запускает еще одну попытку проверки подлинности, которая также не завершается успешной, и выдается аналогичное сообщение об ошибке. Журнал операционных событий клиента Microsoft Entra записывает эти события.
Microsoft Entra причина ошибки условного доступа
Эта проблема может возникнуть по нескольким причинам.
- У пользователя есть сертификат проверки подлинности клиента в хранилище личных сертификатов, который действителен, но не получен из Microsoft Entra идентификатора.
- Раздел профиля VPN отсутствует или не содержит
AAD Conditional Access 1.3.6.1.4.1.311.87 AAD Conditional Access 1.3.6.1.4.1.311.87 записей. Записии сообщают VPN-клиенту, какой сертификат следует получить из хранилища сертификатов пользователя при передаче сертификата НА VPN-сервер. Без записей и VPN-клиент использует любой действительный сертификат проверки подлинности клиента, который находится в хранилище сертификатов пользователя, и проверка подлинности будет выполнена успешно. - Сервер RADIUS (NPS) не настроен для приема только клиентских сертификатов, содержащих идентификатор объекта условного доступа AAD (OID).
Решение: использование PowerShell для определения состояния сертификата
Чтобы экранировать этот цикл, выполните следующее:
- В Windows PowerShell выполните Get-WmiObject командлет для дампа конфигурации профиля VPN.
- Убедитесь, что переменные , и существуют, а их выходные данные отображают правильное имя и OID. Следующий код является примером выходных данных командлета Get-WmiObject .
PS C:\> Get-WmiObject -Class MDM_VPNv2_01 -Namespace root\cimv2\mdm\dmmap __GENUS : 2 __CLASS : MDM_VPNv2_01 __SUPERCLASS : __DYNASTY : MDM_VPNv2_01 __RELPATH : MDM_VPNv2_01.InstanceID="AlwaysOnVPN",ParentID="./Vendor/MSFT/VPNv2" __PROPERTY_COUNT : 10 __DERIVATION : <> __SERVER : DERS2 __NAMESPACE : root\cimv2\mdm\dmmap __PATH : \\DERS2\root\cimv2\mdm\dmmap:MDM_VPNv2_01.InstanceID="AlwaysOnVPN",ParentID="./Vendor/MSFT/VP Nv2" AlwaysOn : ByPassForLocal : DnsSuffix : EdpModeId : InstanceID : AlwaysOnVPN LockDown : ParentID : ./Vendor/MSFT/VPNv2 ProfileXML : false true Enabled>true derras2.corp.deverett.info;derras2.corp.deverett.info ForceTunnel Ikev2 Eap Eap 25000 25 true true false 13 true true 5a 89 fe cb 5b 49 a7 0b 1a 52 63 b7 35 ee d7 1c c2 68 be 4b false true false AAD Conditional Access 1.3.6.1.4.1.311.87 AAD Conditional Access false false false false RememberCredentials : False TrustedNetworkDetection : PSComputerName : DERS2
C:\>certutil -store -user My My "Personal" ================ Certificate 0 ================ Serial Number: 32000000265259d0069fa6f205000000000026 Issuer: CN=corp-DEDC0-CA, DC=corp, DC=deverett, DC=info NotBefore: 12/8/2017 8:07 PM NotAfter: 12/8/2018 8:07 PM Subject: E=winfed@deverett.info, CN=WinFed, OU=Users, OU=Corp, DC=corp, DC=deverett, DC=info Certificate Template Name (Certificate Type): User Non-root Certificate Template: User Cert Hash(sha1): a50337ab015d5612b7dc4c1e759d201e74cc2a93 Key Container = a890fd7fbbfc072f8fe045e680c501cf_5834bfa9-1c4a-44a8-a128-c2267f712336 Simple container name: te-User-c7bcc4bd-0498-4411-af44-da2257f54387 Provider = Microsoft Enhanced Cryptographic Provider v1.0 Encryption test passed ================ Certificate 1 ================ Serial Number: 367fbdd7e6e4103dec9b91f93959ac56 Issuer: CN=Microsoft VPN root CA gen 1 NotBefore: 12/8/2017 6:24 PM NotAfter: 12/8/2017 7:29 PM Subject: CN=WinFed@deverett.info Non-root Certificate Cert Hash(sha1): 37378a1b06dcef1b4d4753f7d21e4f20b18fbfec Key Container = 31685cae-af6f-48fb-ac37-845c69b4c097 Unique container name: bf4097e20d4480b8d6ebc139c9360f02_5834bfa9-1c4a-44a8-a128-c2267f712336 Provider = Microsoft Software Key Storage Provider Private key is NOT exportable Encryption test passed
Примечание. Если сертификат из издателя CN=Microsoft VPN корневого ЦС 1-го поколения присутствует в личном хранилище пользователя, но пользователь получил доступ, выбрав X , чтобы закрыть сообщение Oops, соберите журналы событий CAPI2, чтобы убедиться, что сертификат, используемый для проверки подлинности, был действительным сертификатом проверки подлинности клиента, который не был выдан из корневого ЦС VPN Майкрософт.
Должно появиться сообщение об ошибке : «Не удалось найти сертификат, который можно использовать с расширяемым протоколом проверки подлинности».
Не удалось удалить сертификат на вкладке VPN-подключения
Эта проблема возникает, когда вы не можете удалить сертификаты на вкладке VPN-подключение.
Причина
Эта проблема возникает, если для сертификата задано значение Primary.
Решение: изменение параметров сертификата
Чтобы удалить сертификаты, выполните следующее:
- На вкладке VPN-подключение выберите сертификат.
- В разделе Основной выберите Нет, а затем нажмите кнопку Сохранить.
- На вкладке VPN-подключение снова выберите сертификат.
- Выберите Удалить.
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Отправить и просмотреть отзыв по
Исправляем проблемы с VPN подключением в Windows 10 1903
02.03.2022
itpro
Windows 10
комментариев 6
В Windows 10 1903 обнаружил несколько странных багов с настроенными VPN подключениями. Первая проблема: при попытке подключиться к удаленному VPN L2TP серверу окно с VPN-подключением замирает в состоянии “connecting”. При этом не появляется даже запрос логина и пароля, а подключение через какое-то время разрывается без сообщения об ошибке.
Не появляется запрос пароля для L2TP VPN подключения
Такое ощущение, что в этом диалоге VPN подключения почему-то блокируется вывод окна с запросом данных пользователя. В результате VPN подключение никак не может завершиться
Есть обходное решение этой проблемы. Попробуйте использовать для установления VPN подключения старую-добрую Windows утилиту rasphone.exe, которая все еще присутствует в современных версиях Windows 10 (эта утилита должна быть знакома всем тем, кто пользовался dial-up подключением в Windows).
- Запустите утилиту: Win+R -> C:\Windows\System32\rasphone.exe
- Выберите ваше VPN подключение и нажмите кнопку “Подключить”;
- После этого появится стандартное окно с указанием имени пользователя и пароля для VPN подключения;
- VPN туннель должен успешно подняться.
Для удобства пользователей вы можете вынести ярлык на rasphone.exe на рабочий стол. Для автоматического подключения вы можете указать в настройках ярлыка имя вашего VPN подключения так: C:\WINDOWS\system32\rasphone.exe -d «VPN Name» (название VPN подключения можно взять из Control Panel -> Network Adapters и взять его в кавычки, если оно содержит пробелы в имени).
Что интересно, проблема возникает только c L2TP подключением (даже при включенном настроенном параметре реестра AssumeUDPEncapsulationContextOnSendRule = 2). Другое VPN подключение на этом же компьютере, но с протоколом PPTP и типом аутентификации MS-CHAP v2 работает нормально
Ошибка RASMAN для Always on VPN
Другая проблема возникает с VPN подключением к корпоративной сети в режиме Always on VPN (AOVPN). При инициализации такого VPN подключения служба RASMAN (Remote Access Connections Manager) останавливается, а в журнале событий Application появляется событие с Event ID 1000 и текстом:
“Faulting application name: svchost.exe_RasMan…”, “Faulting module name: rasmans.dll”, и “Exception code: 0xc0000005”.
Эта проблема признана Microsoft и по последним данным исправлена в октябрьском обновлении для Windows 10 1903 — KB4522355 (https://support.microsoft.com/en-us/help/4522355/windows-10-update-kb4522355). Вы можете скачать и установить данное обновление вручную или через Windows Update/WSUS.
Если обновление не исправило проблему, попробуйте переустановите виртуальные адаптеры WAN miniports в диспетчере устройств.
- Запустите Device manager (devmgmt.msc);
- Разверните секцию Network Adapters
- Последовательно щелкните правой кнопкой по следующим адаптерам и удалите их (Uninstall device): WAN Miniport (IP), WAN Miniport(IPv6) и WAN Miniport (PPTP).
- После удаления выберите в меню Action -> Scan for Hardware changes и дождитесь, пока Windows не обнаружит и не установит драйвера для этих виртуальных устройств;
- После этого сбросьте сетевые настройки Windows 10 : Settings -> Network & Internet -> Network Reset ->Reset now;
- Теперь вам нужно пересоздать ваши VPN подключения (Руководство по VPN для начинающих) и проверить подключение.
Изначально проблема с режимом Always on VPN подключением была связана с тем, что пользователь отключил на компьютере телеметрию (эх, Microsoft). Для корректной работы Always on VPN подключения вам придется временного включить телеметрию на компьютере. Для включения телеметрии вы можете воспользоваться одним из способов, описанных ниже.
Способ 1. Откройте редактор локальных политики (gpedit.msc) и перейдте в секцию Computer Configuration -> Administrative Templates –> Windows Components -> Data Collection and Preview Builds.
Найдите и включите политику Allow Telemetry = Enabled. Установите один из следующих режимов: 1 (Basic), 2 (Enhanced) или 3 (Full).
Способ 2. Того же самого эффекта можно добиться, вручную изменив параметр реестра AllowTelemetry (тип REG_DWORD) в ветке HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection. Здесь также нужно установить одно из трех значение: 1, 2 или 3.
Вы можете изменить этот параметр с помощью редактора реестра (regedit.exe) или с помощью PowerShell-командлета New-ItemProperty:
New-ItemProperty -Path ‘HKLM:\SOFTWARE\Policies\Microsoft\Windows\DataCollection\’ -Name AllowTelemetry -PropertyType DWORD -Value 1 –Force
После этого нужно перезапустить службу Remote Access Connection Manager (RasMan) через консоль services.msc или с помощью командлета Restart-Service:
Restart-Service RasMan -PassThru
При одключении от VPN пропадает Интернет
Также в Windows 10 был другой баг, когда после отключения от VPN переставал работать доступ в Интернет. Проблема решалась созданием маршрута по-умолчанию или отключением/включением виртуального адаптера WAN Miniport (IP).
Предыдущая статья Следующая статья
Читайте далее в разделе Windows 10
Windows не видит компьютеры в сетевом окружении
Ошибка: не найден сетевой путь в Windows (0x80070035)
Защита RDP от подбора паролей с блокировкой IP правилами Windows Firewall
Теневое подключение к рабочему столу (сеансу) пользователя Windows
Устранение неполадок Always On VPN
В этой статье содержатся инструкции по проверке и устранению неполадок Always On развертывании VPN.
Применимо к: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows 10
Если настройка виртуальной частной сети (VPN) Always On не подключает клиентов к внутренней сети, возможно, возникла одна из следующих проблем:
- Сертификат VPN недопустим.
- Политики сервера политики политики сети (NPS) неверны.
- Проблемы со сценариями развертывания клиента или маршрутизацией и удаленным доступом.
Первым шагом в устранении неполадок и тестировании VPN-подключения является изучение основных компонентов инфраструктуры VPN Always On.
Проблемы с подключением можно устранить несколькими способами. Для проблем на стороне клиента и общего устранения неполадок журналы приложений на клиентских компьютерах неоценимы. Для проблем, связанных с проверкой подлинности, журнал NPS, расположенный на сервере NPS, может помочь определить источник проблемы.
Общие сведения об устранении неполадок с VPN-подключением Always On
Always On VPN-клиенты проходят несколько шагов перед установкой подключения. В результате есть несколько мест, где подключения могут быть заблокированы, и иногда трудно понять, где возникла проблема.
Если у вас возникают проблемы, вот несколько общих действий, которые можно предпринять, чтобы выяснить, что происходит:
- Выполните проверку whatismyip , чтобы убедиться, что компьютер с шаблоном не подключен извне. Если на компьютере есть общедоступный IP-адрес, который вам не принадлежит, следует изменить IP-адрес на частный.
- Перейдите в раздел панель управления>Сети исетевые подключения к Интернету>, откройте свойства профиля VPN и проверка, чтобы убедиться, что значение на вкладке Общие может разрешаться с помощью DNS. В противном случае причиной проблемы может быть сервер удаленного доступа или VPN-сервер, который не может быть разрешен на IP-адрес.
- Откройте протокол ICMP для внешнего интерфейса и выполните связь с VPN-сервером с удаленного клиента. Если проверка проверки данных выполнена успешно, можно удалить правило разрешения ICMP. Если нет, то vpn-сервер, который недоступен, вероятно, является причиной проблемы.
- Проверьте конфигурацию внутренних и внешних сетевых адаптеров на VPN-сервере. В частности, убедитесь, что они в одной подсети и что внешний сетевой адаптер подключается к правильному интерфейсу брандмауэра.
- Проверьте брандмауэр клиента, брандмауэр сервера и все аппаратные брандмауэры, чтобы убедиться, что они разрешают использование портов UDP 500 и 4500. Кроме того, если вы используете UDP-порт 500, убедитесь, что IPSEC нигде не отключен и не заблокирован. В противном случае проблема возникает из-за неоткрытых портов от клиента к внешнему интерфейсу VPN-сервера.
- Убедитесь, что NPS-сервер имеет сертификат проверки подлинности сервера, который может обслуживать запросы IKE. Кроме того, убедитесь, что клиент NPS имеет правильный IP-адрес VPN-сервера в его параметрах. Проверка подлинности должна выполняться только с помощью PEAP, а свойства PEAP должны разрешать только проверку подлинности на основе сертификата. Проблемы с проверкой подлинности можно проверка в журнале событий NPS. Дополнительные сведения см. в статье Установка и настройка NPS-сервера.
- Если вы можете подключиться, но у вас нет доступа к Интернету или локальной сети, проверка пулы IP-адресов DHCP или VPN-сервера для устранения проблем с конфигурацией. Кроме того, убедитесь, что клиенты могут получить доступ к этим ресурсам. Vpn-сервер можно использовать для маршрутизации запросов.
Общие сведения об устранении неполадок со скриптами VPN_Profile.ps1
Ниже перечислены наиболее распространенные проблемы при выполнении скрипта VPN_Profile.ps1 вручную.
- Если вы используете средство удаленного подключения, убедитесь, что не используете протокол удаленного рабочего стола (RDP) или другие методы удаленного подключения. Удаленные подключения могут помешать службе обнаруживать вас при входе.
- Если затронутый пользователь является администратором на локальном компьютере, убедитесь, что у него есть права администратора во время выполнения скрипта.
- Если вы включили другие функции безопасности PowerShell, убедитесь, что политика выполнения PowerShell не блокирует скрипт. Отключите режим ограниченного языка перед выполнением скрипта, а затем повторно активируйте его после завершения выполнения скрипта.
Журналы
Вы также можете проверка журналы приложений и журналы NPS для событий, которые могут указывать, когда и где возникает проблема.
Журналы приложений.
Журналы приложений на клиентских компьютерах записывают сведения о событиях VPN-подключения более высокого уровня.
При устранении неполадок Always On VPN найдите события с меткой RasClient. Все сообщения об ошибках возвращают код ошибки в конце сообщения. Коды ошибок перечислены некоторые из наиболее распространенных кодов ошибок, связанных с Always On VPN. Полный список кодов ошибок см. в разделе Коды ошибок маршрутизации и удаленного доступа.
Журналы NPS
NPS создает и сохраняет журналы учета NPS. По умолчанию журналы хранятся в %SYSTEMROOT%\System32\Logfiles\ в файле с именем IN.txt.
По умолчанию эти журналы имеют формат значений, разделенных запятыми, но не содержат строку заголовка. Следующий блок кода содержит строку заголовка:
ComputerName,ServiceName,Record-Date,Record-Time,Packet-Type,User-Name,Fully-Qualified-Distinguished-Name,Called-Station-ID,Calling-Station-ID,Callback-Number,Framed-IP-Address,NAS-Identifier,NAS-IP-Address,NAS-Port,Client-Vendor,Client-IP-Address,Client-Friendly-Name,Event-Timestamp,Port-Limit,NAS-Port-Type,Connect-Info,Framed-Protocol,Service-Type,Authentication-Type,Policy-Name,Reason-Code,Class,Session-Timeout,Idle-Timeout,Termination-Action,EAP-Friendly-Name,Acct-Status-Type,Acct-Delay-Time,Acct-Input-Octets,Acct-Output-Octets,Acct-Session-Id,Acct-Authentic,Acct-Session-Time,Acct-Input-Packets,Acct-Output-Packets,Acct-Terminate-Cause,Acct-Multi-Ssn-ID,Acct-Link-Count,Acct-Interim-Interval,Tunnel-Type,Tunnel-Medium-Type,Tunnel-Client-Endpt,Tunnel-Server-Endpt,Acct-Tunnel-Conn,Tunnel-Pvt-Group-ID,Tunnel-Assignment-ID,Tunnel-Preference,MS-Acct-Auth-Type,MS-Acct-EAP-Type,MS-RAS-Version,MS-RAS-Vendor,MS-CHAP-Error,MS-CHAP-Domain,MS-MPPE-Encryption-Types,MS-MPPE-Encryption-Policy,Proxy-Policy-Name,Provider-Type,Provider-Name,Remote-Server-Address,MS-RAS-Client-Name,MS-RAS-Client-Version
Если вставить эту строку заголовка в качестве первой строки файла журнала, импортируйте файл в Microsoft Excel, а затем Excel правильно помечает столбцы.
Журналы NPS могут помочь в диагностике проблем, связанных с политикой. Дополнительные сведения о журналах NPS см. в разделе Интерпретация файлов журнала в формате базы данных NPS.
Коды ошибок
В следующих разделах описывается устранение наиболее часто встречающихся ошибок.
Ошибка 800: удаленному подключению не удалось подключиться
Эта проблема возникает, когда службе не удается установить удаленное подключение из-за сбоя vpn-туннелей, часто из-за недоступности VPN-сервера. Если подключение пытается использовать туннельный протокол уровня 2 (L2TP) или туннель IPsec, эта ошибка означает, что необходимые параметры безопасности для согласования IPsec настроены неправильно.
Причина: тип VPN-туннеля
Эта проблема может возникнуть, если для типа VPN-туннеля задано значение Автоматически , а попытка подключения во всех VPN-туннелях завершается неудачно.
Решение: проверка конфигурацию VPN
Так как параметры VPN вызывают эту проблему, следует устранить неполадки с параметрами VPN и подключением, выполнив следующие действия:
- Если вы знаете, какой туннель следует использовать для развертывания, задайте тип VPN для этого типа туннеля на стороне VPN-клиента.
- Убедитесь, что порты IKE на портах UDP 500 и 4500 не заблокированы.
- Убедитесь, что клиент и сервер имеют правильные сертификаты для IKE.
Ошибка 809: не удается установить подключение между локальным компьютером и VPN-сервером
В этой проблеме удаленный сервер не отвечает, что предотвращает подключение локального компьютера и VPN-сервера. Это может быть связано с тем, что одно или несколько сетевых устройств, таких как маршрутизаторы, брандмауэры или преобразование сетевых адресов (NAT) между компьютером и удаленным сервером, не настроены для разрешения VPN-подключений. Обратитесь к администратору или поставщику услуг, чтобы определить, какое устройство может вызвать проблему.
Причина ошибки 809
Эта проблема может возникнуть при блокировке портов UDP 500 или 4500 на VPN-сервере или брандмауэре. Блокировка может произойти, если одно из сетевых устройств между компьютером и удаленным сервером, например брандмауэр, NAT или маршрутизаторы, настроено неправильно.
Решение. проверка портов на устройствах между локальным компьютером и удаленным сервером
Чтобы устранить эту проблему, сначала обратитесь к администратору или поставщику услуг, чтобы узнать, какое устройство заблокировано. После этого убедитесь, что брандмауэры для этого устройства разрешают через порты UDP 500 и 4500. Если проблема не устранена, проверка брандмауэры на каждом устройстве между локальным компьютером и удаленным сервером.
Ошибка 812: не удается подключиться к Always On VPN
Эта проблема возникает, если серверу удаленного доступа (RAS) или VPN-серверу не удается подключиться к Always On VPN. Метод проверки подлинности, используемый сервером для проверки имени пользователя и пароля, не соответствует методу проверки подлинности, настроенного в профиле подключения.
При возникновении ошибки 812 рекомендуется немедленно обратиться к администратору сервера RAS, чтобы сообщить ему, что произошло.
Если вы используете Просмотр событий для устранения неполадок, вы можете найти эту проблему, помеченную как журнал событий 20276. Это событие обычно возникает, если параметр протокола проверки подлинности VPN-сервера на основе маршрутизации и удаленного доступа (RRAS) не соответствует параметрам на компьютере VPN-клиента.
Причина ошибки 812
Как правило, эта ошибка возникает, когда NPS указал условие проверки подлинности, с которым не может выполнить клиент. Например, если NPS указывает, что ему требуется сертификат для защиты подключения PEAP, он не сможет пройти проверку подлинности, если клиент пытается использовать EAP-MSCHAPv2.
Решение: проверка параметры проверки подлинности клиента и сервера NPS
Чтобы устранить эту проблему, убедитесь, что требования к проверке подлинности для клиента и NPS-сервера совпадают. Если нет, измените их соответствующим образом.
Ошибка 13806: IKE не удается найти действительный сертификат компьютера
Эта проблема возникает, когда IKE не может найти действительный сертификат компьютера.
Причина ошибки 13806
Эта ошибка обычно возникает, если у VPN-сервера нет необходимого компьютера или сертификата корневого компьютера.
Решение: установите действительный сертификат в соответствующем хранилище сертификатов.
Чтобы устранить эту проблему, убедитесь, что необходимые сертификаты установлены как на клиентском компьютере, так и на VPN-сервере. Если нет, обратитесь к администратору безопасности сети и попросите его установить действительные сертификаты в соответствующем хранилище сертификатов.
Ошибка 13801: недопустимые учетные данные проверки подлинности IKE
Эта проблема возникает, если сервер или клиент не могут принять учетные данные проверки подлинности IKE.
Причина ошибки 13801
Эта ошибка может возникать из-за следующего:
- Для сертификата компьютера, используемого для проверки IKEv2 на сервере RAS, не включена проверка подлинности сервера в разделе Расширенное использование ключа.
- Срок действия сертификата компьютера на сервере RAS истек.
- На клиентском компьютере нет корневого сертификата для проверки сертификата сервера RAS.
- Имя VPN-сервера клиентского компьютера не соответствует значению subjectName в сертификате сервера.
Решение 1. Проверка параметров сертификата сервера
Если проблема связана с сертификатом компьютера сервера RAS, убедитесь, что сертификат включает проверку подлинности сервера в разделе Расширенное использование ключа.
Решение 2. Убедитесь, что сертификат компьютера по-прежнему действителен
Если проблема заключается в том, что срок действия сертификата компьютера RAS истек, убедитесь, что он по-прежнему действителен. Если это не так, установите действительный сертификат.
Решение 3. Убедитесь, что на клиентском компьютере есть корневой сертификат
Если проблема связана с отсутствием корневого сертификата на клиентском компьютере, сначала проверка доверенные корневые центры сертификации на сервере RRAS, чтобы убедиться, что вы используете центр сертификации. Если его нет, установите допустимый корневой сертификат.
Решение 4. Заставить имя VPN-сервера клиентского компьютера соответствовать сертификату сервера
Сначала убедитесь, что VPN-клиент подключается с использованием того же полного доменного имени (FQDN), что и сертификат VPN-сервера. В противном случае измените имя клиента, чтобы оно соответствовало имени сертификата сервера.
Ошибка 0x80070040: сертификат сервера не содержит проверку подлинности сервера в записях об использовании
Эта проблема возникает, если сертификат сервера не имеет проверки подлинности сервера в качестве одной из записей об использовании сертификата.
Ошибка 0x80070040 причина
Эта ошибка возникает, если на сервере RAS не установлен сертификат проверки подлинности сервера.
Решение. Убедитесь, что сертификат компьютера содержит необходимую запись об использовании сертификата.
Чтобы устранить эту проблему, убедитесь, что сертификат компьютера, который сервер RAS использует для проверки IKEv2, включает проверку подлинности сервера в список записей об использовании сертификатов.
Ошибка 0x800B0109: цепочка сертификатов обработана, но завершена в корневом сертификате
Полное описание ошибки: «Цепочка сертификатов обработана, но завершена в корневом сертификате, которому поставщик доверия не доверяет».
Как правило, компьютер VPN-клиента присоединяется к домену на основе Active Directory (AD). Если для входа на VPN-сервер используются учетные данные домена, служба автоматически устанавливает сертификат в хранилище доверенных корневых центров сертификации. Эта проблема может возникнуть, если компьютер не присоединен к домену AD или используется альтернативная цепочка сертификатов.
Ошибка 0x800B0109 причина
Эта ошибка может возникнуть, если на клиентском компьютере не установлен соответствующий доверенный сертификат корневого ЦС в хранилище доверенных корневых центров сертификации.
Решение. Установка доверенного корневого сертификата
Чтобы устранить эту проблему, убедитесь, что на клиентском компьютере установлен доверенный корневой сертификат в хранилище доверенных корневых центров сертификации. Если нет, установите соответствующий корневой сертификат.
Ошибка: Ой, вы еще не можете добраться до этого
Это сообщение об ошибке связано с проблемами подключения Microsoft Entra условного доступа. При возникновении этой проблемы политика условного доступа не удовлетворяется, блокируя VPN-подключение, но затем подключаясь после того, как пользователь закроет диалоговое окно. Если пользователь нажимает кнопку ОК, он запускает еще одну попытку проверки подлинности, которая также не завершается успешной, и выдается аналогичное сообщение об ошибке. Журнал операционных событий клиента Microsoft Entra записывает эти события.
Microsoft Entra причина ошибки условного доступа
Эта проблема может возникнуть по нескольким причинам.
- У пользователя есть сертификат проверки подлинности клиента в хранилище личных сертификатов, который действителен, но не получен из Microsoft Entra идентификатора.
- Раздел профиля VPN отсутствует или не содержит
AAD Conditional Access 1.3.6.1.4.1.311.87 AAD Conditional Access 1.3.6.1.4.1.311.87 записей. Записии сообщают VPN-клиенту, какой сертификат следует получить из хранилища сертификатов пользователя при передаче сертификата НА VPN-сервер. Без записей и VPN-клиент использует любой действительный сертификат проверки подлинности клиента, который находится в хранилище сертификатов пользователя, и проверка подлинности будет выполнена успешно. - Сервер RADIUS (NPS) не настроен для приема только клиентских сертификатов, содержащих идентификатор объекта условного доступа AAD (OID).
Решение: использование PowerShell для определения состояния сертификата
Чтобы экранировать этот цикл, выполните следующее:
- В Windows PowerShell выполните Get-WmiObject командлет для дампа конфигурации профиля VPN.
- Убедитесь, что переменные , и существуют, а их выходные данные отображают правильное имя и OID. Следующий код является примером выходных данных командлета Get-WmiObject .
PS C:\> Get-WmiObject -Class MDM_VPNv2_01 -Namespace root\cimv2\mdm\dmmap __GENUS : 2 __CLASS : MDM_VPNv2_01 __SUPERCLASS : __DYNASTY : MDM_VPNv2_01 __RELPATH : MDM_VPNv2_01.InstanceID="AlwaysOnVPN",ParentID="./Vendor/MSFT/VPNv2" __PROPERTY_COUNT : 10 __DERIVATION : <> __SERVER : DERS2 __NAMESPACE : root\cimv2\mdm\dmmap __PATH : \\DERS2\root\cimv2\mdm\dmmap:MDM_VPNv2_01.InstanceID="AlwaysOnVPN",ParentID="./Vendor/MSFT/VP Nv2" AlwaysOn : ByPassForLocal : DnsSuffix : EdpModeId : InstanceID : AlwaysOnVPN LockDown : ParentID : ./Vendor/MSFT/VPNv2 ProfileXML : false true Enabled>true derras2.corp.deverett.info;derras2.corp.deverett.info ForceTunnel Ikev2 Eap Eap 25000 25 true true false 13 true true 5a 89 fe cb 5b 49 a7 0b 1a 52 63 b7 35 ee d7 1c c2 68 be 4b false true false AAD Conditional Access 1.3.6.1.4.1.311.87 AAD Conditional Access false false false false RememberCredentials : False TrustedNetworkDetection : PSComputerName : DERS2
C:\>certutil -store -user My My "Personal" ================ Certificate 0 ================ Serial Number: 32000000265259d0069fa6f205000000000026 Issuer: CN=corp-DEDC0-CA, DC=corp, DC=deverett, DC=info NotBefore: 12/8/2017 8:07 PM NotAfter: 12/8/2018 8:07 PM Subject: E=winfed@deverett.info, CN=WinFed, OU=Users, OU=Corp, DC=corp, DC=deverett, DC=info Certificate Template Name (Certificate Type): User Non-root Certificate Template: User Cert Hash(sha1): a50337ab015d5612b7dc4c1e759d201e74cc2a93 Key Container = a890fd7fbbfc072f8fe045e680c501cf_5834bfa9-1c4a-44a8-a128-c2267f712336 Simple container name: te-User-c7bcc4bd-0498-4411-af44-da2257f54387 Provider = Microsoft Enhanced Cryptographic Provider v1.0 Encryption test passed ================ Certificate 1 ================ Serial Number: 367fbdd7e6e4103dec9b91f93959ac56 Issuer: CN=Microsoft VPN root CA gen 1 NotBefore: 12/8/2017 6:24 PM NotAfter: 12/8/2017 7:29 PM Subject: CN=WinFed@deverett.info Non-root Certificate Cert Hash(sha1): 37378a1b06dcef1b4d4753f7d21e4f20b18fbfec Key Container = 31685cae-af6f-48fb-ac37-845c69b4c097 Unique container name: bf4097e20d4480b8d6ebc139c9360f02_5834bfa9-1c4a-44a8-a128-c2267f712336 Provider = Microsoft Software Key Storage Provider Private key is NOT exportable Encryption test passed
Примечание. Если сертификат из издателя CN=Microsoft VPN корневого ЦС 1-го поколения присутствует в личном хранилище пользователя, но пользователь получил доступ, выбрав X , чтобы закрыть сообщение Oops, соберите журналы событий CAPI2, чтобы убедиться, что сертификат, используемый для проверки подлинности, был действительным сертификатом проверки подлинности клиента, который не был выдан из корневого ЦС VPN Майкрософт.
Должно появиться сообщение об ошибке : «Не удалось найти сертификат, который можно использовать с расширяемым протоколом проверки подлинности».
Не удалось удалить сертификат на вкладке VPN-подключения
Эта проблема возникает, когда вы не можете удалить сертификаты на вкладке VPN-подключение.
Причина
Эта проблема возникает, если для сертификата задано значение Primary.
Решение: изменение параметров сертификата
Чтобы удалить сертификаты, выполните следующее:
- На вкладке VPN-подключение выберите сертификат.
- В разделе Основной выберите Нет, а затем нажмите кнопку Сохранить.
- На вкладке VPN-подключение снова выберите сертификат.
- Выберите Удалить.
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Отправить и просмотреть отзыв по