Řešení potíží s Azure VPN Gateway pomocí diagnostických protokolů

Tento článek vám pomůže pochopit různé protokoly dostupné pro diagnostiku služby VPN Gateway a jejich použití k efektivnímu řešení potíží s bránou VPN.

Pokud váš problém s Azure není v tomto článku vyřešený, navštivte fóra Azure na webu Microsoft Q &A a Stack Overflow. Svůj problém můžete publikovat na těchto fórech nebo publikovat na @AzureSupport na Twitteru. Můžete také odeslat podpora Azure žádost. Pokud chcete odeslat žádost o podporu, na stránce podpora Azure vyberte Získat podporu.

V Azure jsou k dispozici následující protokoly* :

Název Popis
GatewayDiagnosticLog Obsahuje diagnostické protokoly pro události konfigurace brány, primární změny a události údržby.
TunnelDiagnosticLog Obsahuje události změny stavu tunelu. Události připojení nebo odpojení tunelu mají souhrnný důvod změny stavu, pokud je to možné.
RouteDiagnosticLog Protokoluje změny statických tras a událostí protokolu BGP, ke kterým dochází v bráně.
IKEDiagnosticLog Protokoluje řídicí zprávy a události protokolu IKE v bráně.
P2SDiagnosticLog Protokoluje zprávy a události řízení typu point-to-site v bráně.

*Pro brány založené na zásadách jsou k dispozici pouze brányDiagnosticLog a RouteDiagnosticLog.

Všimněte si, že v těchto tabulkách je k dispozici několik sloupců. V tomto článku prezentujeme pouze ty nejrelevantní pro snadnější spotřebu protokolů.

Nastavení protokolování

Pomocí tohoto postupu se dozvíte, jak nastavit události diagnostického protokolu ze služby Azure VPN Gateway pomocí Azure Log Analytics:

  1. Pomocí tohoto článku vytvořte pracovní prostor služby Log Analytics.

  2. V okně Nastavení diagnostiky monitorování > vyhledejte bránu VPN.

Screenshot of the Diagnostic settings blade.

  1. Vyberte bránu a klikněte na Přidat nastavení diagnostiky.

Screenshot of the Add diagnostic setting interface.

  1. Vyplňte název nastavení diagnostiky, vyberte všechny kategorie protokolů a zvolte pracovní prostor služby Log Analytics.

Detailed screenshot of the Add diagnostic setting properties.

Poznámka:

Počáteční zobrazení dat může trvat několik hodin.

GatewayDiagnosticLog

Změny konfigurace jsou auditovány v tabulce GatewayDiagnosticLog . Než se změny, které provedete, projeví v protokolech, může to několik minut trvat.

Tady máte ukázkový dotaz jako referenci.

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

Tento dotaz na GatewayDiagnosticLog zobrazí více sloupců.

Název Popis
TimeGenerated časové razítko každé události v časovém pásmu UTC.
Název operace událost, která se stala. Může to být buď SetGatewayConfiguration, Set Připojení ionConfiguration, HostMaintenanceEvent, GatewayTenantPrimaryChanged, MigrateCustomerSubscription, GatewayResourceMove, ValidateGatewayConfiguration.
Message podrobnosti o tom, k jaké operaci dochází, a uvádí výsledky úspěšných a neúspěšných selhání.

Následující příklad ukazuje aktivitu protokolovanou při použití nové konfigurace:

Example of a Set Gateway Operation seen in GatewayDiagnosticLog.

Všimněte si, že SetGatewayConfiguration se protokoluje při každé změně konfigurace jak ve službě VPN Gateway, tak v bráně místní sítě. Křížový odkaz na výsledky z tabulky GatewayDiagnosticLog s tabulkami TunnelDiagnosticLog nám může pomoct určit, jestli došlo k selhání připojení tunelu ve stejnou dobu jako při změně konfigurace nebo jestli došlo k údržbě. Pokud ano, máme skvělý ukazatel na možnou původní příčinu.

TunnelDiagnosticLog

Tabulka TunnelDiagnosticLog je velmi užitečná ke kontrole historických stavů připojení tunelu.

Tady máte ukázkový dotaz jako referenci.

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

Tento dotaz na TunnelDiagnosticLog zobrazí více sloupců.

Název Popis
TimeGenerated časové razítko každé události v časovém pásmu UTC.
Název operace událost, která se stala. Může to být tunel Připojení ed nebo TunnelDisconnected.
remoteIP_s IP adresa místního zařízení VPN. V reálných scénářích je užitečné filtrovat podle IP adresy příslušného místního zařízení více než jedno.
Instance_s instance role brány, která událost aktivovala. Může to být GatewayTenantWorker_IN_0 nebo GatewayTenantWorker_IN_1, což jsou názvy dvou instancí brány.
Prostředek označuje název brány VPN.
ResourceGroup označuje skupinu prostředků, ve které je brána.

Příklad výstupu:

Example of a Tunnel Connected Event seen in TunnelDiagnosticLog.

TunnelDiagnosticLog je velmi užitečný k řešení potíží s minulými událostmi o neočekávaných odpojení vpn. Jeho lehká povaha nabízí možnost analyzovat velké časové rozsahy za několik dní s malým úsilím. Až po identifikaci časového razítka odpojení můžete přepnout na podrobnější analýzu tabulky IKEdiagnosticLog , abyste se podrobněji podívali na odůvodnění odpojení, musí souviset s protokolem IPsec.

Některé tipy pro řešení potíží:

  • Pokud se v jedné instanci brány zobrazí událost odpojení následovaná událostí připojení v jiné instanci brány za několik sekund, díváte se na převzetí služeb při selhání brány. Obvykle se jedná o očekávané chování způsobené údržbou instance brány. Další informace o tomto chování najdete v tématu O redundanci služby Azure VPN Gateway.
  • Stejné chování se projeví, pokud záměrně spustíte resetování brány na straně Azure, což způsobí restartování aktivní instance brány. Další informace o tomto chování najdete v tématu Resetování brány VPN Gateway.
  • Pokud se v jedné instanci brány zobrazí událost odpojení následovaná událostí připojení ve stejné instanci brány za několik sekund, možná se díváte na chybu sítě, která způsobuje vypršení časového limitu DPD nebo chybné odpojení odesílané místním zařízením.

RouteDiagnosticLog

Tabulka RouteDiagnosticLog sleduje aktivitu pro staticky upravené trasy nebo trasy přijaté přes protokol BGP.

Tady máte ukázkový dotaz jako referenci.

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

Tento dotaz na RouteDiagnosticLog zobrazí více sloupců.

Název Popis
TimeGenerated časové razítko každé události v časovém pásmu UTC.
Název operace událost, která se stala. Může to být buď StaticRouteUpdate, BgpRouteUpdate, Bgp Připojení edEvent, BgpDisconnectedEvent.
Message podrobnosti o tom, co se děje.

Výstup zobrazí užitečné informace o partnerských vztazích protokolu BGP připojených nebo odpojených a vyměňovaných trasách.

Příklad:

Example of BGP route exchange activity seen in RouteDiagnosticLog.

IKEDiagnosticLog

Tabulka IKEDiagnosticLog nabízí podrobné protokolování ladění pro protokol IKE/IPsec. To je velmi užitečné při řešení potíží s odpojením nebo selháním připojení scénářů VPN.

Tady máte ukázkový dotaz jako referenci.

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

Tento dotaz na IKEDiagnosticLog zobrazí více sloupců.

Název Popis
TimeGenerated časové razítko každé události v časovém pásmu UTC.
RemoteIP IP adresa místního zařízení VPN. V reálných scénářích je užitečné filtrovat podle IP adresy příslušného místního zařízení více než jedno.
LocalIP IP adresu služby VPN Gateway řešíme. Ve scénářích z reálného světa je užitečné filtrovat podle IP adresy příslušné brány VPN, ve vašem předplatném bude více než jedno.
Událost obsahuje diagnostickou zprávu, která je užitečná pro řešení potíží. Obvykle začínají klíčovým slovem a odkazují na akce prováděné službou Azure Gateway: [SEND] označuje událost způsobenou paketem IPSec odesílaným službou Azure Gateway. [PŘIJATO] označuje událost v důsledku paketu přijatého z místního zařízení. [LOCAL] označuje akci prováděnou místně službou Azure Gateway.

Všimněte si, že sloupce RemoteIP, LocalIP a Event nejsou k dispozici v původním seznamu sloupců v databázi AzureDiagnostics, ale přidají se do dotazu parsováním výstupu sloupce Zpráva, aby se zjednodušila jeho analýza.

Tipy pro řešení potíží:

  • Pokud chcete zjistit začátek vyjednávání protokolu IPSec, musíte najít počáteční SA_INIT zprávu. Taková zpráva by mohla být odeslána na obou stranách tunelu. Kdo podle toho, že první paket odešle, se v terminologii protokolu IPsec nazývá "iniciátor", zatímco druhá strana se stane "respondérem". První SA_INIT zpráva je vždy ta, kde rCookie = 0.

  • Pokud se tunel IPsec nepodaří navázat, Azure se bude opakovat každých několik sekund. Z tohoto důvodu je řešení potíží s chybou VPN velmi pohodlné u protokolu IKEdiagnosticLog, protože nemusíte čekat na konkrétní dobu, než se problém reprodukuje. Selhání bude teoreticky vždy stejné pokaždé, když se pokusíme, takže byste mohli kdykoliv přiblížit jeden "vzorek" neúspěšné vyjednávání.

  • SA_INIT obsahuje parametry PROTOKOLU IPSec, které partnerský vztah chce použít pro toto vyjednávání protokolu IPsec. Oficiální dokument
    Výchozí parametry IPsec/IKE uvádějí parametry protokolu IPsec podporované službou Azure Gateway s výchozím nastavením.

P2SDiagnosticLog

Poslední dostupná tabulka pro diagnostiku sítě VPN je P2SDiagnosticLog. Tato tabulka sleduje aktivitu pro point-to-site (pouze protokoly IKEv2 a OpenVPN).

Tady máte ukázkový dotaz jako referenci.

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

Tento dotaz na P2SDiagnosticLog zobrazí více sloupců.

Název Popis
TimeGenerated časové razítko každé události v časovém pásmu UTC.
Název operace událost, která se stala. Bude P2SLogEvent.
Message podrobnosti o tom, co se děje.

Ve výstupu se zobrazí všechna nastavení typu point-to-site, která brána použila, a také zavedené zásady protokolu IPsec.

Example of Point to Site connection seen in P2SDiagnosticLog.

Kdykoli se klient připojí přes protokol IKEv2 nebo OpenVPN Point-to-Site, bude tabulka protokolovat aktivitu paketů, konverzace protokolu EAP/RADIUS a výsledky úspěšných/selhání podle uživatele.

Example of EAP authentication seen in P2SDiagnosticLog.

Další kroky

Pokud chcete nakonfigurovat upozornění na protokoly prostředků tunelu, přečtěte si téma Nastavení upozornění na protokoly prostředků služby VPN Gateway.