Felsöka Azure VPN Gateway med hjälp av diagnostikloggar

Den här artikeln hjälper dig att förstå de olika loggar som är tillgängliga för VPN Gateway-diagnostik och hur du använder dem för att effektivt felsöka PROBLEM med VPN-gateway.

Om ditt Azure-problem inte åtgärdas i den här artikeln går du till Azure-forumen på Microsoft Q &A och Stack Overflow. Du kan publicera ditt problem i dessa forum eller publicera till @AzureSupport på Twitter. Du kan också skicka en Azure-supportbegäran. Om du vill skicka en supportbegäran går du till azure-supportsidan och väljer Hämta support.

Följande loggar är tillgängliga* i Azure:

Namn Beskrivning
GatewayDiagnosticLog Innehåller diagnostikloggar för gatewaykonfigurationshändelser, primära ändringar och underhållshändelser.
TunnelDiagnosticLog Innehåller tunneltillståndsändringshändelser. Tunnelanslutnings-/frånkopplingshändelser har en sammanfattad orsak till tillståndsändringen om tillämpligt.
RouteDiagnosticLog Loggar ändringar i statiska vägar och BGP-händelser som inträffar på gatewayen.
IKEDiagnosticLog Loggar IKE styr meddelanden och händelser på gatewayen.
P2SDiagnosticLog Loggar punkt-till-plats-kontrollmeddelanden och händelser på gatewayen.

*För principbaserade gatewayer är endast GatewayDiagnosticLog och RouteDiagnosticLog tillgängliga.

Observera att det finns flera kolumner i dessa tabeller. I den här artikeln presenterar vi bara de mest relevanta för enklare loggförbrukning.

Konfigurera loggning

Följ den här proceduren för att lära dig hur du konfigurerar diagnostiklogghändelser från Azure VPN Gateway med Hjälp av Azure Log Analytics:

  1. Skapa en Log Analytics-arbetsyta med hjälp av den här artikeln.

  2. Hitta vpn-gatewayen på bladet Övervaka > diagnostikinställningar.

Screenshot of the Diagnostic settings blade.

  1. Välj gatewayen och klicka på "Lägg till diagnostikinställning".

Screenshot of the Add diagnostic setting interface.

  1. Fyll i namnet på diagnostikinställningen, välj alla loggkategorier och välj Log Analytics-arbetsytan.

Detailed screenshot of the Add diagnostic setting properties.

Kommentar

Det kan ta några timmar innan data visas från början.

GatewayDiagnosticLog

Konfigurationsändringar granskas i tabellen GatewayDiagnosticLog . Det kan ta några minuter innan ändringar som du kör återspeglas i loggarna.

Här har du en exempelfråga som referens.

AzureDiagnostics  
| where Category == "GatewayDiagnosticLog"  
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup  
| sort by TimeGenerated asc

Den här frågan i GatewayDiagnosticLog visar flera kolumner.

Namn Beskrivning
TimeGenerated tidsstämpeln för varje händelse i UTC-tidszonen.
OperationName händelsen som inträffade. Det kan vara antingen SetGatewayConfiguration, Set Anslut ionConfiguration, HostMaintenanceEvent, GatewayTenantPrimaryChanged, MigrateCustomerSubscription, GatewayResourceMove, ValidateGatewayConfiguration.
Meddelande information om vilken åtgärd som händer och visar en lista över lyckade/misslyckade resultat.

Exemplet nedan visar den aktivitet som loggades när en ny konfiguration tillämpades:

Example of a Set Gateway Operation seen in GatewayDiagnosticLog.

Observera att en SetGatewayConfiguration loggas varje gång en viss konfiguration ändras både på en VPN Gateway eller en lokal nätverksgateway. Korsreferenser av resultaten från tabellen GatewayDiagnosticLog med dem i tabellen TunnelDiagnosticLog kan hjälpa oss att avgöra om ett tunnelanslutningsfel har startat samtidigt som en konfiguration ändrades eller om ett underhåll ägde rum. I så fall har vi en bra pekare mot den möjliga rotorsaken.

TunnelDiagnosticLog

Tabellen TunnelDiagnosticLog är mycket användbar för att inspektera tunnelns historiska anslutningsstatus.

Här har du en exempelfråga som referens.

AzureDiagnostics
| where Category == "TunnelDiagnosticLog"
//| where remoteIP_s == "<REMOTE IP OF TUNNEL>"
| project TimeGenerated, OperationName, remoteIP_s, instance_s, Resource, ResourceGroup
| sort by TimeGenerated asc

Den här frågan i TunnelDiagnosticLog visar flera kolumner.

Namn Beskrivning
TimeGenerated tidsstämpeln för varje händelse i UTC-tidszonen.
OperationName händelsen som inträffade. Det kan vara antingen Tunnel Anslut ed eller TunnelDisconnected.
remoteIP_s IP-adressen för den lokala VPN-enheten. I verkliga scenarier är det användbart att filtrera efter IP-adressen för den relevanta lokala enheten ska det finnas fler än en.
Instance_s gatewayrollinstansen som utlöste händelsen. Det kan vara antingen GatewayTenantWorker_IN_0 eller GatewayTenantWorker_IN_1, som är namnen på de två instanserna av gatewayen.
Resurs anger namnet på VPN-gatewayen.
ResourceGroup anger resursgruppen där gatewayen finns.

Exempel på utdata>

Example of a Tunnel Connected Event seen in TunnelDiagnosticLog.

TunnelDiagnosticLog är mycket användbart för att felsöka tidigare händelser om oväntade VPN-frånkopplingar. Dess lätta natur ger möjlighet att analysera stora tidsintervall under flera dagar med liten ansträngning. Först när du har identifierat tidsstämpeln för en frånkoppling kan du växla till den mer detaljerade analysen av tabellen IKEdiagnosticLog för att gå djupare in i resonemanget för frånkopplingarna ska dessa vara IPsec-relaterade.

Några felsökningstips:

  • Om du ser en frånkopplingshändelse på en gatewayinstans, följt av en anslutningshändelse på den olika gatewayinstansen på några sekunder, tittar du på en gateway-redundansväxling. Detta är vanligtvis ett förväntat beteende på grund av underhåll på en gatewayinstans. Mer information om det här beteendet finns i Om redundans för Azure VPN Gateway.
  • Samma beteende observeras om du avsiktligt kör en gatewayåterställning på Azure-sidan , vilket orsakar en omstart av den aktiva gatewayinstansen. Mer information om det här beteendet finns i Återställa en VPN Gateway.
  • Om du ser en frånkopplingshändelse på en gatewayinstans, följt av en anslutningshändelse på samma gatewayinstans på några sekunder, kanske du tittar på ett nätverksfel som orsakar en DPD-timeout eller en frånkoppling som felaktigt skickas av den lokala enheten.

RouteDiagnosticLog

Tabellen RouteDiagnosticLog spårar aktiviteten för statiskt ändrade vägar eller vägar som tagits emot via BGP.

Här har du en exempelfråga som referens.

AzureDiagnostics
| where Category == "RouteDiagnosticLog"
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup

Den här frågan i RouteDiagnosticLog visar flera kolumner.

Namn Beskrivning
TimeGenerated tidsstämpeln för varje händelse i UTC-tidszonen.
OperationName händelsen som inträffade. Kan vara antingen StaticRouteUpdate, BgpRouteUpdate, Bgp Anslut edEvent, BgpDisconnectedEvent.
Meddelande detaljerna i vilken åtgärd som sker.

Utdata visar användbar information om anslutna/frånkopplade BGP-peer-datorer och vägar som utbyts.

Exempel:

Example of BGP route exchange activity seen in RouteDiagnosticLog.

IKEDiagnosticLog

Tabellen IKEDiagnosticLog erbjuder utförlig felsökningsloggning för IKE/IPsec. Detta är mycket användbart för att granska när du felsöker frånkopplingar eller misslyckas med att ansluta VPN-scenarier.

Här har du en exempelfråga som referens.

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

Den här frågan på IKEDiagnosticLog visar flera kolumner.

Namn Beskrivning
TimeGenerated tidsstämpeln för varje händelse i UTC-tidszonen.
RemoteIP IP-adressen för den lokala VPN-enheten. I verkliga scenarier är det användbart att filtrera efter IP-adressen för den relevanta lokala enheten ska det finnas fler än en.
LokalIP IP-adressen för vpn-gatewayen som vi felsöker. I verkliga scenarier är det användbart att filtrera efter IP-adressen för den relevanta VPN-gatewayen ska det finnas fler än en i din prenumeration.
Händelse innehåller ett diagnostikmeddelande som är användbart för felsökning. De börjar vanligtvis med ett nyckelord och refererar till de åtgärder som utförs av Azure Gateway: [SEND] anger en händelse som orsakas av ett IPSec-paket som skickas av Azure Gateway. [MOTTAGET] anger en händelse till följd av ett paket som tagits emot från en lokal enhet. [LOKAL] anger en åtgärd som vidtas lokalt av Azure Gateway.

Observera hur kolumnerna RemoteIP, LocalIP och Event inte finns i den ursprungliga kolumnlistan i AzureDiagnostics-databasen, men läggs till i frågan genom att parsa utdata från kolumnen "Meddelande" för att förenkla analysen.

Felsökningstips:

  • För att identifiera starten av en IPSec-förhandling måste du hitta det första SA_INIT meddelandet. Ett sådant meddelande kan skickas på båda sidor av tunneln. Vem varje skickar det första paketet kallas "initierare" i IPsec-terminologi, medan den andra sidan blir "responder". Det första SA_INIT meddelandet är alltid det där rCookie = 0.

  • Om IPsec-tunneln inte kan upprättas fortsätter Azure att försöka igen med några sekunders mellanrum. Därför är det mycket praktiskt att felsöka "VPN down"-problem på IKEdiagnosticLog eftersom du inte behöver vänta en viss tid för att återskapa problemet. Dessutom kommer misslyckandet i teorin alltid att vara detsamma varje gång vi försöker så att du bara kan zooma in i en "exempel" misslyckad förhandling när som helst.

  • Den SA_INIT innehåller DE IPSec-parametrar som peer vill använda för denna IPsec-förhandling. Det officiella dokumentet
    Standardparametrar för IPsec/IKE visar de IPsec-parametrar som stöds av Azure Gateway med standardinställningar.

P2SDiagnosticLog

Den senast tillgängliga tabellen för VPN-diagnostik är P2SDiagnosticLog. Den här tabellen spårar aktiviteten för punkt-till-plats (endast IKEv2- och OpenVPN-protokoll).

Här har du en exempelfråga som referens.

AzureDiagnostics  
| where Category == "P2SDiagnosticLog"  
| project TimeGenerated, OperationName, Message, Resource, ResourceGroup

Den här frågan på P2SDiagnosticLog visar flera kolumner.

Namn Beskrivning
TimeGenerated tidsstämpeln för varje händelse i UTC-tidszonen.
OperationName händelsen som inträffade. Kommer att vara P2SLogEvent.
Meddelande detaljerna i vilken åtgärd som sker.

Utdata visar alla punkt-till-plats-inställningar som gatewayen har tillämpat, samt de IPsec-principer som finns.

Example of Point to Site connection seen in P2SDiagnosticLog.

När en klient ansluter via IKEv2 eller OpenVPN Punkt till plats loggar tabellen även paketaktivitet, EAP/RADIUS-konversationer och lyckade/misslyckade resultat av användaren.

Example of EAP authentication seen in P2SDiagnosticLog.

Nästa steg

Information om hur du konfigurerar aviseringar i tunnelresursloggar finns i Konfigurera aviseringar i VPN Gateway-resursloggar.