Sdílet prostřednictvím


Ř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:

  • GatewayDiagnosticLog
  • TunnelDiagnosticLog
  • RouteDiagnosticLog
  • IKEDiagnosticLog
  • P2SDiagnosticLog

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

Informace o všech protokolech služby VPN Gateway najdete v referenčních informacích k datům monitorování služby Azure VPN Gateway.

Pokud chcete nastavit události diagnostického protokolu ze služby Azure VPN Gateway pomocí Azure Log Analytics, přečtěte si téma Vytvoření nastavení diagnostiky ve službě Azure Monitor.

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 zobrazuje 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, SetConnectionConfiguration, HostMaintenanceEvent, GatewayTenantPrimaryChanged, MigrateCustomerSubscription, GatewayResourceMove, ValidateGatewayConfiguration.
Zpráva 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:

Příklad operace nastavit bránu zobrazenou v protokolu 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ě.

Porovnání výsledků z tabulky GatewayDiagnosticLog s výsledky tabulky TunnelDiagnosticLog může pomoct určit, jestli během změny konfigurace nebo aktivity údržby došlo k selhání připojení tunelu. Pokud ano, poskytuje významné označení potenciální původní příčiny.

TunnelDiagnosticLog

Tabulka TunnelDiagnosticLog je 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 zobrazuje 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 tunnelConnected 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:

Příklad události propojeného tunelu, která se zobrazila v tunnelDiagnosticLog

TunnelDiagnosticLog je 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 zjistíte událost odpojení v jedné instanci brány, za kterou během několika sekund následuje událost připojení na jiné instanci brány, znamená to převzetí služeb při selhání brány. K takové události obvykle dochází kvůli údržbě instance brány. Další informace o tomto chování najdete v tématu O redundanci služby Azure VPN Gateway.
  • Stejné chování se zjistí, 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í odeslané 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 zobrazuje 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, BgpConnectedEvent, BgpDisconnectedEvent.
Zpráva podrobnosti o tom, co se děje.

Výstup ukazuje 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:

Příklad aktivity výměny tras protokolu BGP v protokolu RouteDiagnosticLog

IKEDiagnosticLog

Tabulka IKEDiagnosticLog nabízí podrobné protokolování ladění pro protokol IKE/IPsec. To je 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 zobrazuje 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 adresa služby VPN Gateway, kterou ř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, aby ve vašem předplatném bylo 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 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. Každý, kdo odešle první paket, se v terminologii IPsec nazývá "iniciátor", zatímco druhá strana se stává "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 vhodné pro protokol 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.
Zpráva podrobnosti o tom, co se děje.

Výstup zobrazuje všechna nastavení point-to-site, která brána použila, a zavedené zásady protokolu IPsec.

Příklad připojení typu point-to-site zobrazený v protokolu P2SDiagnosticLog

Kromě toho, když klient vytvoří připojení pomocí OpenVPN a Ověřování Microsoft Entra ID pro point-to-site, tabulka zaznamenává aktivitu paketů následujícím způsobem:

[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

Poznámka:

V protokolu point-to-site je uživatelské jméno částečně nejasné. První oktetát ip adresy uživatele klienta je nahrazena 0.

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.