Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Сводка
Эта статья поможет понять различные журналы, доступные для диагностики VPN-шлюз и как их использовать для эффективного устранения VPN gateway проблем.
Если проблема #REF! не устранена в этой статье, посетите форумы #REF! на форумах Microsoft Q и A и Stack Overflow. Описание своей проблемы можно опубликовать на этих форумах или написать в Twitter (@AzureSupport). Вы также можете отправить запрос поддержка Azure. Чтобы отправить запрос на поддержку, на странице поддержка Azure выберите службу поддержки Get.
В #REF! доступны следующие журналы:
- Журнал диагностики шлюза
- Журнал диагностики туннеля
- Журнал диагностики маршрута
- IKEDiagnosticLog
- P2SDiagnosticLog
Для шлюзов на основе политик доступны только GatewayDiagnosticLog и RouteDiagnosticLog .
Сведения обо всех журналах VPN-шлюз см. в #REF! справочнике по данным мониторинга
Сведения о настройке событий журнала диагностики из #REF! с помощью #REF! см. в разделе Создание параметров диагностики в Azure Monitor.
GatewayDiagnosticLog
Изменения конфигурации проверяются в таблице GatewayDiagnosticLog . Это может занять несколько минут, прежде чем изменения будут отражены в журналах.
Ниже приведен пример запроса в качестве ссылки.
AzureDiagnostics
| where Category == "GatewayDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup
| sort by TimeGenerated asc
Этот запрос в GatewayDiagnosticLog показывает несколько столбцов.
| Name | описание |
|---|---|
| TimeGenerated | метка времени каждого события в часовом поясе UTC. |
| OperationName | событие, которое произошло. Это может быть одно из SetGatewayConfiguration, SetConnectionConfiguration, HostMaintenanceEvent, GatewayTenantPrimaryChanged, MigrateCustomerSubscription, GatewayResourceMove, ValidateGatewayConfiguration. |
| Message | Подробные сведения о выполняемой операции и списке успешных или неудачных результатов. |
В следующем примере показано действие, зарегистрированное при применении новой конфигурации:
Пример операции set Gateway, показанной в GatewayDiagnosticLog.
Обратите внимание, что SetGatewayConfiguration регистрируется при каждом изменении конфигурации в VPN-шлюз или шлюзе локальной сети.
Сравнение результатов из таблицы GatewayDiagnosticLog с результатами таблицы TunnelDiagnosticLog может помочь определить, произошел ли сбой подключения к туннелю во время изменения конфигурации или действия обслуживания. Если да, это дает значительное представление о потенциальной первопричине.
Журнал диагностики туннеля
Таблица TunnelDiagnosticLog полезна для проверки состояния исторического подключения туннеля.
Ниже приведен пример запроса в качестве ссылки.
AzureDiagnostics
| where Category == "TunnelDiagnosticLog"
//| where remoteIP_s == "<REMOTE IP OF TUNNEL>"
| project TimeGenerated, OperationName, remoteIP_s, instance_s, Resource, ResourceGroup
| sort by TimeGenerated asc
Этот запрос в TunnelDiagnosticLog показывает несколько столбцов.
| Name | описание |
|---|---|
| TimeGenerated | метка времени каждого события в часовом поясе UTC. |
| OperationName | событие, которое произошло. Он может быть либо TunnelConnected, либо TunnelDisconnected. |
| remoteIP_s | IP-адрес локального VPN-устройства. В реальных сценариях бывает полезно фильтровать по IP-адресу соответствующего локального устройства, если таких устройств больше одного. |
| Instance_s | экземпляр роли шлюза, вызвавший событие. Это могут быть GatewayTenantWorker_IN_0 или GatewayTenantWorker_IN_1, которые являются именами двух экземпляров шлюза. |
| Ресурс | указывает имя VPN-шлюза. |
| ResourceGroup | указывает группу ресурсов, в которой находится шлюз. |
Пример выходных данных:
Пример события подключения туннеля, показанного в TunnelDiagnosticLog.
TunnelDiagnosticLog полезен для устранения неполадок в случае прошлых событий с непредвиденными отключениями VPN. Его упрощенный характер предлагает возможность анализировать большие диапазоны времени в течение нескольких дней с небольшими усилиями. Только после определения метки времени отключения можно перейти на более подробный анализ таблицы IKEdiagnosticLog , чтобы глубже разобраться в причинах отключения, если они связаны с IPsec.
Некоторые советы по устранению неполадок:
- Если вы наблюдаете событие отключения на одном экземпляре шлюза, за которым в течение нескольких секунд следует событие подключения на другом экземпляре шлюза, это указывает на отказоустойчивость шлюза. Такое событие обычно возникает из-за обслуживания экземпляра шлюза. Дополнительные сведения об этом поведении см. в разделе О повышении надежности VPN-шлюза #REF!.
- Такое же поведение наблюдается при намеренном запуске Gateway Reset на стороне #REF!, что приводит к перезагрузке активного экземпляра шлюза. Дополнительные сведения об этом поведении см. в статье Reset a VPN-шлюз.
- Если вы видите событие отключения на одном экземпляре шлюза, за которым через несколько секунд следует событие подключения на том же шлюзе, это может быть сбоем в сети, вызывающим истечение времени ожидания DPD, или ошибочно отправленным отключением от внутреннего устройства.
Журнал диагностики маршрута
Таблица RouteDiagnosticLog отслеживает действие для статически измененных маршрутов или маршрутов, полученных через BGP.
Ниже приведен пример запроса в качестве ссылки.
AzureDiagnostics
| where Category == "RouteDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup
Этот запрос в RouteDiagnosticLog показывает несколько столбцов.
| Name | описание |
|---|---|
| TimeGenerated | метка времени каждого события в часовом поясе UTC. |
| OperationName | событие, которое произошло. Может быть любой из StaticRouteUpdate, BgpRouteUpdate, BgpConnectedEvent, BgpDisconnectedEvent. |
| Message | подробные сведения о том, какая операция происходит. |
В выходных данных показаны полезные сведения о одноранговых узлах BGP, подключенных или отключенных, а также маршрутах, обменяемых данными.
Пример:
Пример активности обмена маршрутами BGP, отображаемой в RouteDiagnosticLog.
IKEDiagnosticLog
Таблица IKEDiagnosticLog предлагает подробное ведение журнала отладки для IKE/IPsec. Это полезно для проверки при устранении неполадок, связанных с отключениями и сбоями подключения VPN.
Ниже приведен пример запроса в качестве ссылки.
AzureDiagnostics
| where Category == "IKEDiagnosticLog"
| extend Message1=Message
| parse Message with * "Remote " RemoteIP ":" * "500: Local " LocalIP ":" * "500: " Message2
| extend Event = iif(Message has "SESSION_ID",Message2,Message1)
| project TimeGenerated, RemoteIP, LocalIP, Event, Level
| sort by TimeGenerated asc
Этот запрос в IKEDiagnosticLog показывает несколько столбцов.
| Name | описание |
|---|---|
| TimeGenerated | метка времени каждого события в часовом поясе UTC. |
| RemoteIP | IP-адрес локального VPN-устройства. В реальных сценариях бывает полезно фильтровать по IP-адресу соответствующего локального устройства, если таких устройств больше одного. |
| Локальный IP | IP-адрес VPN-шлюза, неполадки с которым мы устраняем. В реальных сценариях полезно фильтровать по IP-адресу соответствующего VPN-шлюза, если в вашей подписке будет несколько. |
| Event | содержит диагностическое сообщение, полезное для устранения неполадок. Обычно они начинаются с ключевого слова и ссылаются на действия, выполняемые шлюзом #REF!: [SEND] указывает событие, вызванное пакетом IPsec, отправленным шлюзом #REF!. [RECEIVED] указывает на событие вследствие пакета данных, полученного от локального устройства. [LOCAL] указывает действие, выполняемое локально шлюзом #REF!. |
Обратите внимание, что столбцы RemoteIP, LocalIP и Event отсутствуют в исходном списке столбцов в базе данных AzureDiagnostics, но добавляются в запрос, анализируя выходные данные столбца Message, чтобы упростить его анализ.
Советы по устранению неполадок:
Чтобы определить начало согласования IPsec, необходимо найти исходное SA_INIT сообщение. Такое сообщение может быть отправлено по обе стороны туннеля. Каждый, кто отправляет первый пакет, называется инициатором в терминологии IPsec, а другая сторона становится "ответчиком". Первое сообщение SA_INIT всегда является тем, где rCookie = 0.
Если не удается установить туннель IPsec, #REF! продолжает пытаться каждые несколько секунд. По этой причине решение проблем с "VPN не работает" удобно в IKEdiagnosticLog, так как вам не нужно ждать определённого времени, чтобы воспроизвести проблему. Кроме того, сбой в теории всегда будет одинаковым каждый раз, когда мы пытаемся, поэтому вы могли бы просто сосредоточиться на одном случае неудачных переговоров в любое время.
SA_INIT содержит параметры IPsec, которые одноранговый узел хочет использовать для этого согласования IPsec. Официальный документ
Параметры по умолчанию для IPsec/IKE содержат параметры IPsec, поддерживаемые шлюзом #REF! с настройками по умолчанию.
P2SDiagnosticLog
Последняя доступная таблица для диагностики VPN — P2SDiagnosticLog. В этой таблице выполняется трассировка действия для протокола "Точка — сеть" (только протоколы IKEv2 и OpenVPN).
Ниже приведен пример запроса в качестве ссылки.
AzureDiagnostics
| where Category == "P2SDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup
Этот запрос в P2SDiagnosticLog покажет вам несколько столбцов.
| Name | описание |
|---|---|
| TimeGenerated | метка времени каждого события в часовом поясе UTC. |
| OperationName | событие, которое произошло. Будет P2SLogEvent. |
| Message | подробные сведения о том, какая операция происходит. |
В выходных данных показаны все параметры "точка-сайт", примененные шлюзом, и действующие политики IPsec.
Пример подключения "Точка — сеть", показанный в P2SDiagnosticLog.
Кроме того, когда клиент устанавливает подключение с помощью OpenVPN и Microsoft Entra ID аутентификации для типа "точка — сеть", таблица записывает действие пакета следующим образом:
[MSG] [default] [OVPN_XXXXXXXXXXXXXXXXXXXXXXXXXXX] Connect request received. IP=0.X.X.X:XXX
[MSG] [default] [OVPN_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] AAD authentication succeeded. Username=***tosouser@contoso.com
[MSG] [default] [OVPN_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx] Connection successful. Username=***tosouser@contoso.com IP=10.0.0.1
Замечание
В журнале "точка — сеть" имя пользователя частично скрыто. Первый октет IP-адреса пользователя клиента заменен на .
Дальнейшие шаги
Сведения о настройке оповещений в журналах ресурсов туннеля см. в статье Настройка оповещений в журналах ресурсов VPN-шлюз.