Устранение неполадок Always On VPN
В этой статье приведены инструкции по проверке и устранению неполадок при развертывании VPN AlwaysOn.
Если настройка виртуальной частной сети AlwaysOn (VPN) не подключает клиентов к внутренней сети, возможно, возникла одна из следующих проблем:
- Недопустимый VPN-сертификат.
- Политики сервера политики сети (NPS) неверны.
- Проблемы с сценариями развертывания клиента или маршрутизацией и удаленным доступом.
Первым шагом в устранении неполадок и тестировании VPN-подключения является понимание основных компонентов инфраструктуры Always On VPN.
Проблемы с подключением можно устранить несколькими способами. Для проблем на стороне клиента и общего устранения неполадок журналы приложений на клиентских компьютерах являются бесценными. Для проблем с проверкой подлинности журнал NPS, расположенный на сервере NPS, поможет определить источник проблемы.
Общие сведения об устранении неполадок с VPN-подключением AlwaysOn
Vpn-клиенты AlwaysOn проходят несколько шагов перед установкой подключения. В результате есть несколько мест, где могут быть заблокированы подключения, и иногда трудно выяснить, где проблема.
Если вы столкнулись с проблемами, вот некоторые общие шаги, которые можно предпринять, чтобы выяснить, что происходит:
- Запустите проверку whatismyip, чтобы убедиться, что компьютер шаблона не подключен к внешнему объекту. Если у компьютера есть общедоступный IP-адрес, который не принадлежит вам, необходимо изменить IP-адрес на частный.
- Перейдите к панель управления> Network и сетевым подключениям к Интернету>, откройте свойства профиля VPN и убедитесь, что значение на вкладке "Общие" может быть открыто разрешено через DNS. Если нет, сервер удаленного доступа или VPN-сервер, не удается разрешить IP-адрес, скорее всего, является причиной проблемы.
- Откройте протокол сообщений через Интернет (ICMP) во внешний интерфейс и ping 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-подключения.
При устранении неполадок с AlwaysOn VPN найдите события с меткой RasClient. Все сообщения об ошибках возвращают код ошибки в конце сообщения. Коды ошибок перечисляют некоторые из наиболее распространенных кодов ошибок, связанных с VPN AlwaysOn. Полный список кодов ошибок см. в разделе "Коды ошибок маршрутизации и удаленного доступа".
Журналы 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: не удается подключиться к VPN AlwaysOn
Эта проблема возникает, когда сервер удаленного доступа (RAS) или VPN-сервер не могут подключаться к VPN AlwaysOn. Метод проверки подлинности, используемый для проверки имени пользователя и пароля, не совпадает с методом проверки подлинности, настроенным в профиле подключения.
При возникновении ошибки 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
Эта ошибка может возникнуть, если на клиентском компьютере нет соответствующего сертификата доверенного корневого ЦС, установленного в хранилище доверенных корневых центров сертификации.
Решение. Установка доверенного корневого сертификата
Чтобы устранить эту проблему, убедитесь, что на клиентском компьютере установлен доверенный корневой сертификат, установленный в хранилище доверенных корневых центров сертификации. В противном случае установите соответствующий корневой сертификат.
Ошибка: Oops, вы еще не можете добраться до этого
Это сообщение об ошибке связано с проблемами подключения условного доступа Microsoft Entra. При появлении этой проблемы политика условного доступа не удовлетворена, блокируя VPN-подключение, а затем подключаясь после закрытия диалогового окна пользователем. Если пользователь нажимает кнопку "ОК", он запускает другую попытку проверки подлинности, которая также не завершается успешно и запрашивает идентичное сообщение об ошибке. В журнале операционных событий Microsoft Entra клиента записываются эти события.
Ошибка условного доступа Microsoft Entra
Существует несколько причин, по которым эта проблема может произойти:
У пользователя есть сертификат проверки подлинности клиента в своем хранилище личных сертификатов, который действителен, но не получен из идентификатора Microsoft Entra.
Раздел профиля
<TLSExtensions>
VPN отсутствует или не содержит<EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID>
записей. Данные<EKUName>
и<EKUOID>
записи сообщают VPN-клиенту, какой сертификат следует получить из хранилища сертификатов пользователя при передаче сертификата на VPN-сервер.<EKUName>
<EKUOID>
Без записей VPN-клиент использует действительный сертификат проверки подлинности клиента в хранилище сертификатов пользователя и проверка подлинности.Сервер RADIUS (NPS) не настроен только для принятия сертификатов клиента, содержащих идентификатор объекта условного доступа AAD (OID).
Решение. Использование PowerShell для определения состояния сертификата
Чтобы избежать этого цикла, выполните указанные ниже действия.
В Windows PowerShell выполните
Get-WmiObject
командлет для дампа конфигурации профиля VPN.Убедитесь, что
<TLSExtensions>
<EKUName>
переменные и<EKUOID>
переменные существуют, а выходные данные отображают правильное имя и идентификатор 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 : <VPNProfile><RememberCredentials>false</RememberCredentials><DeviceCompliance><Enabled>true</ Enabled><Sso><Enabled>true</Enabled></Sso></DeviceCompliance><NativeProfile><Servers>derras2.corp.deverett.info;derras2.corp.deverett.info</Servers><RoutingPolicyType>ForceTunnel</RoutingPolicyType><NativeProtocolType>Ikev2</NativeProtocolType><Authentication><UserMethod>Eap</UserMethod><MachineMethod>Eap</MachineMethod><Eap><Configuration><EapHostConfigxmlns="https://www.microsoft.com/provisioning/EapHostConfig"><EapMethod><Typexmlns="https://www.microsoft.com/provisioning/EapCommon">25</Type><VendorIdxmlns="https://www.microsoft.com/provisioning/EapCommon">0</VendorId><VendorTypexmlns="https://www.microsoft.com/provisioning/EapCommon">0</VendorType><AuthorIdxmlns="https://www.microsoft.com/provisioning/EapCommon">0</AuthorId></EapMethod><Configxmlns="https://www.microsoft.com/provisioning/EapHostConfig"><Eap xmlns="https://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>25</Type><EapType xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV1"><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames></ServerValidation><FastReconnect>true</FastReconnect><InnerEapOptional>false</InnerEapOptional><Eap xmlns="https://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1"><Type>13</Type> <EapType xmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV1"><CredentialsSource><CertificateStore><SimpleCertSelection>true</SimpleCertSelection></CertificateStore></CredentialsSource><ServerValidation><DisableUserPromptForServerValidation>true</DisableUserPromptForServerValidation><ServerNames></ServerNames><TrustedRootCA>5a 89 fe cb 5b 49 a7 0b 1a 52 63 b7 35 ee d7 1c c2 68 be 4b </TrustedRootCA></ServerValidation><DifferentUsername>false</DifferentUsername><PerformServerValidation xmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">true</PerformServerValidation><AcceptServerName xmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2">false</AcceptServerName><TLSExtensionsxmlns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV2"><FilteringInfo xml ns="https://www.microsoft.com/provisioning/EapTlsConnectionPropertiesV3"><EKUMapping><EKUMap><EKUName>AAD Conditional Access</EKUName><EKUOID>1.3.6.1.4.1.311.87</EKUOID></EKUMap></EKUMapping><ClientAuthEKUListEnabled="true"><EKUMapInList><EKUName>AAD Conditional Access</EKUName></EKUMapInList></ClientAuthEKUList></FilteringInfo></TLSExtensions></EapType></Eap><EnableQuarantineChecks>false</EnableQuarantineChecks><RequireCryptoBinding>false</RequireCryptoBinding><PeapExtensions><PerformServerValidation xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</PerformServerValidation><AcceptServerName xmlns="https://www.microsoft.com/provisioning/MsPeapConnectionPropertiesV2">false</AcceptServerName></PeapExtensions></EapType></Eap></Config></EapHostConfig></Configuration></Eap></Authentication></NativeProfile></VPNProfile> RememberCredentials : False TrustedNetworkDetection : PSComputerName : DERS2
Затем выполните
Certutil
команду, чтобы определить наличие допустимых сертификатов в хранилище сертификатов пользователя: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, чтобы убедиться, что сертификат, используемый для проверки подлинности, является допустимым сертификатом проверки подлинности клиента, который не был выдан из корневого ЦС Microsoft VPN.
Если действительный сертификат проверки подлинности клиента существует в личном хранилище пользователя, а
TLSExtensions
EKUName
такжеEKUOID
значения настроены правильно, подключение не должно завершиться после закрытия диалогового окна.
Появится сообщение об ошибке: "Не удалось найти сертификат, который можно использовать с расширяемым протоколом проверки подлинности".
Не удается удалить сертификат на вкладке подключения VPN
Эта проблема возникает, когда вы не можете удалить сертификаты на вкладке VPN-подключения.
Причина
Эта проблема возникает, когда сертификат имеет значение Primary.
Решение: изменение параметров сертификата
Удаление сертификатов:
- На вкладке VPN-подключения выберите сертификат.
- В разделе "Основной" выберите "Нет", а затем нажмите кнопку "Сохранить".
- На вкладке VPN-подключения снова выберите сертификат.
- Выберите Удалить.