Řešení potíží s hybridním připojením VPN

Virtual Network
VPN Gateway

Tento článek obsahuje několik tipů pro řešení potíží s připojením brány VPN mezi místní sítí a Azure. Obecné informace o řešení obvyklých potíží souvisejících se sítí VPN najdete v tématu Řešení obvyklých potíží souvisejících se sítí VPN.

Ověřte, že zařízení VPN funguje správně.

Následující doporučení vám můžou pomoct ověřit, jestli vaše místní zařízení VPN funguje správně.

Zkontrolujte všechny soubory protokolů generované zařízením VPN – zjistěte, jestli neobsahují informace o chybách nebo selháních. To vám pomůže ověřit si, jestli zařízení VPN funguje správně. Umístění těchto informací se liší podle toho, jaké používáte zařízení. Pokud například používáte službu RRAS ve Windows Serveru 2012, můžete pomocí následujícího příkazu PowerShellu zobrazit informace o chybových událostech pro službu RRAS:

Get-EventLog -LogName System -EntryType Error -Source RemoteAccess | Format-List -Property *

Vlastnost Message u jednotlivých položek obsahuje popis chyby. Některé běžné příklady:

  • Nemožnost připojit se, pravděpodobně kvůli nesprávné IP adrese zadané pro bránu Azure VPN v konfiguraci síťového rozhraní VPN RRAS.

    EventID            : 20111
    MachineName        : on-premises-vm
    Data               : {41, 3, 0, 0}
    Index              : 14231
    Category           : (0)
    CategoryNumber     : 0
    EntryType          : Error
    Message            : RoutingDomainID- {00000000-0000-0000-0000-000000000000}: A demand dial connection to the remote
                            interface AzureGateway on port VPN2-4 was successfully initiated but failed to complete
                            successfully because of the following error: The network connection between your computer and
                            the VPN server could not be established because the remote server is not responding. This could
                            be because one of the network devices (for example, firewalls, NAT, routers, and so on) between your computer
                            and the remote server is not configured to allow VPN connections. Please contact your
                            Administrator or your service provider to determine which device may be causing the problem.
    Source             : RemoteAccess
    ReplacementStrings : {{00000000-0000-0000-0000-000000000000}, AzureGateway, VPN2-4, The network connection between
                            your computer and the VPN server could not be established because the remote server is not
                            responding. This could be because one of the network devices (for example, firewalls, NAT, routers, and so on)
                            between your computer and the remote server is not configured to allow VPN connections. Please
                            contact your Administrator or your service provider to determine which device may be causing the
                            problem.}
    InstanceId         : 20111
    TimeGenerated      : 3/18/2016 1:26:02 PM
    TimeWritten        : 3/18/2016 1:26:02 PM
    UserName           :
    Site               :
    Container          :
    
  • Nesprávný sdílený klíč zadaný v konfiguraci síťového rozhraní VPN RRAS

    EventID            : 20111
    MachineName        : on-premises-vm
    Data               : {233, 53, 0, 0}
    Index              : 14245
    Category           : (0)
    CategoryNumber     : 0
    EntryType          : Error
    Message            : RoutingDomainID- {00000000-0000-0000-0000-000000000000}: A demand dial connection to the remote
                            interface AzureGateway on port VPN2-4 was successfully initiated but failed to complete
                            successfully because of the following error: Internet key exchange (IKE) authentication credentials are unacceptable.
    
    Source             : RemoteAccess
    ReplacementStrings : {{00000000-0000-0000-0000-000000000000}, AzureGateway, VPN2-4, IKE authentication credentials are
                            unacceptable.
                            }
    InstanceId         : 20111
    TimeGenerated      : 3/18/2016 1:34:22 PM
    TimeWritten        : 3/18/2016 1:34:22 PM
    UserName           :
    Site               :
    Container          :
    

Pomocí následujícího příkazu PowerShellu můžete také získat informace z protokolu událostí o pokusech o připojení přes službu RRAS:

Get-EventLog -LogName Application -Source RasClient | Format-List -Property *

V případě selhání připojení bude tento protokol obsahovat záznamy chyb podobné tomuto:

EventID            : 20227
MachineName        : on-premises-vm
Data               : {}
Index              : 4203
Category           : (0)
CategoryNumber     : 0
EntryType          : Error
Message            : CoId={B4000371-A67F-452F-AA4C-3125AA9CFC78}: The user SYSTEM dialed a connection named
                        AzureGateway that has failed. The error code returned on failure is 809.
Source             : RasClient
ReplacementStrings : {{B4000371-A67F-452F-AA4C-3125AA9CFC78}, SYSTEM, AzureGateway, 809}
InstanceId         : 20227
TimeGenerated      : 3/18/2016 1:29:21 PM
TimeWritten        : 3/18/2016 1:29:21 PM
UserName           :
Site               :
Container          :

Ověření připojení

Ověřte připojení a směrování v bráně sítě VPN. Zařízení VPN možná nesměruje správně přenosy přes Azure VPN Gateway. Připojení a směrování v bráně sítě VPN můžete ověřit například pomocí nástroje PsPing. Připojení místního počítače k webovému serveru ve virtuální síti můžete otestovat spuštěním následujícího příkazu (<<web-server-address>> nahraďte adresou webového serveru):

PsPing -t <<web-server-address>>:80

Pokud směrování přenosů z místního počítače na webový server funguje správně, měl by se zobrazit výstup podobný tomuto:

D:\PSTools> psping -t 10.20.0.5:80

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 10.20.0.5:80:
Infinite iterations (warmup 1) connecting test:
Connecting to 10.20.0.5:80 (warmup): 6.21ms
Connecting to 10.20.0.5:80: 3.79ms
Connecting to 10.20.0.5:80: 3.44ms
Connecting to 10.20.0.5:80: 4.81ms

    Sent = 3, Received = 3, Lost = 0 (0% loss),
    Minimum = 3.44ms, Maximum = 4.81ms, Average = 4.01ms

Pokud komunikace mezi místním počítačem a zadaným cílem nefunguje, zobrazí se zpráva podobná této:

D:\PSTools>psping -t 10.20.1.6:80

PsPing v2.01 - PsPing - ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com

TCP connect to 10.20.1.6:80:
Infinite iterations (warmup 1) connecting test:
Connecting to 10.20.1.6:80 (warmup): This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80: This operation returned because the timeout period expired.
Connecting to 10.20.1.6:80:
    Sent = 3, Received = 0, Lost = 3 (100% loss),
    Minimum = 0.00ms, Maximum = 0.00ms, Average = 0.00ms

Ověřte, že místní brána firewall nebrání přenosům sítě VPN a že jsou otevřené správné porty.

Ověřte, že místní zařízení VPN používá metodu šifrování, která je kompatibilní s bránou Azure VPN. V případě směrování založeného na zásadách podporuje brána Azure VPN šifrovací algoritmy AES256, AES128 a 3DES. Brány založené na trasách podporují AES256 a 3DES. Další informace najdete v článku o zařízeních VPN a o parametrech protokolu IPsec/IKE pro připojení typu Site-to-Site ke službě VPN Gateway.

Kontrola problémů se službou Azure VPN Gateway

Podle následujících doporučení můžete ověřit, zda nedošlo k potížím s bránou Azure VPN:

Projděte si diagnostické protokoly brány Azure VPN a zjistěte, jestli neobsahují záznamy o případných problémech. Další informace najdete v tématu Podrobný postup: Zachycení diagnostických protokolů brány virtuální sítě Azure Resource Manager.

Zkontrolujte, že je pro bránu Azure VPN a místní zařízení VPN nakonfigurovaný stejný sdílený ověřovací klíč. Sdílený klíč uložený v bráně Azure VPN můžete zobrazit pomocí následujícího příkazu rozhraní příkazového řádku Azure:

azure network vpn-connection shared-key show <<resource-group>> <<vpn-connection-name>>

Pomocí příkazu vhodného pro vaše místní zařízení VPN můžete zobrazit sdílený klíč nakonfigurovaný pro toto zařízení.

Ověřte, že podsíť GatewaySubnet, ve která se brána Azure VPN nachází, není spojená se skupinou zabezpečení sítě (NSG).

Podrobnosti o podsíti zobrazíte následujícím příkazem rozhraní příkazového řádku Azure:

azure network vnet subnet show -g <<resource-group>> -e <<vnet-name>> -n GatewaySubnet

Ujistěte se, že neexistuje žádné datové pole s názvem ID skupiny zabezpečení sítě. Následující příklad ukazuje výsledky pro instanci GatewaySubnet, která má přiřazenou skupinu zabezpečení sítě (skupinu brány sítě VPN). Pokud jsou pro tuto skupinu zabezpečení sítě definovaná nějaká pravidla, můžou zabránit správnému fungování brány.

C:\>azure network vnet subnet show -g profx-prod-rg -e profx-vnet -n GatewaySubnet
    info:    Executing command network vnet subnet show
    + Looking up virtual network "profx-vnet"
    + Looking up the subnet "GatewaySubnet"
    data:    Id                              : /subscriptions/########-####-####-####-############/resourceGroups/profx-prod-rg/providers/Microsoft.Network/virtualNetworks/profx-vnet/subnets/GatewaySubnet
    data:    Name                            : GatewaySubnet
    data:    Provisioning state              : Succeeded
    data:    Address prefix                  : 10.20.3.0/27
    data:    Network Security Group id       : /subscriptions/########-####-####-####-############/resourceGroups/profx-prod-rg/providers/Microsoft.Network/networkSecurityGroups/VPN-Gateway-Group
    info:    network vnet subnet show command OK

Ověřte, že virtuální počítače ve virtuální síti Azure jsou nakonfigurované tak, aby povolovaly také přenosy pocházející odjinud než z virtuální sítě. Zkontrolujte všechna pravidla skupin zabezpečení sítě spojená s podsítěmi, které obsahují tyto virtuální počítače. Všechna pravidla skupin zabezpečení sítě zobrazíte následujícím příkazem rozhraní příkazového řádku Azure:

azure network nsg show -g <<resource-group>> -n <<nsg-name>>

Ověřte, že brána Azure VPN je připojená. Aktuální stav připojení Azure VPN můžete zkontrolovat následujícím příkazem Azure PowerShellu. Parametr <<connection-name>> je název připojení Azure VPN, které propojí bránu virtuální sítě s místní bránou.

Get-AzureRmVirtualNetworkGatewayConnection -Name <<connection-name>> - ResourceGroupName <<resource-group>>

Následující fragmenty jsou ukázkou výstupu, který se vygeneruje, když se brána připojí (první příklad) a odpojí (druhý příklad):

PS C:\> Get-AzureRmVirtualNetworkGatewayConnection -Name profx-gateway-connection -ResourceGroupName profx-prod-rg

AuthorizationKey           :
VirtualNetworkGateway1     : Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
VirtualNetworkGateway2     :
LocalNetworkGateway2       : Microsoft.Azure.Commands.Network.Models.PSLocalNetworkGateway
Peer                       :
ConnectionType             : IPsec
RoutingWeight              : 0
SharedKey                  : ####################################
ConnectionStatus           : Connected
EgressBytesTransferred     : 55254803
IngressBytesTransferred    : 32227221
ProvisioningState          : Succeeded
...
PS C:\> Get-AzureRmVirtualNetworkGatewayConnection -Name profx-gateway-connection2 -ResourceGroupName profx-prod-rg

AuthorizationKey           :
VirtualNetworkGateway1     : Microsoft.Azure.Commands.Network.Models.PSVirtualNetworkGateway
VirtualNetworkGateway2     :
LocalNetworkGateway2       : Microsoft.Azure.Commands.Network.Models.PSLocalNetworkGateway
Peer                       :
ConnectionType             : IPsec
RoutingWeight              : 0
SharedKey                  : ####################################
ConnectionStatus           : NotConnected
EgressBytesTransferred     : 0
IngressBytesTransferred    : 0
ProvisioningState          : Succeeded
...

Různé problémy

Podle následujících doporučení můžete ověřit, zda nedošlo k potížím s konfigurací hostitelského virtuálního počítače, využitím šířky pásma sítě nebo výkonem aplikace:

Ověřte konfiguraci brány firewall. Ověřte, že brána firewall v hostovaném operačním systému, který běží na virtuálních počítačích Azure v podsíti, je nakonfigurovaná tak, aby umožňovala přenosy z místních rozsahů IP adres.

Zkontrolujte, že se objem přenosů neblíží limitu šířky pásma, která je k dispozici pro bránu Azure VPN. Postup ověření závisí na použitém místním zařízení VPN. Pokud například používáte službu RRAS ve Windows Serveru 2012, můžete objem dat přijatých a přenesených prostřednictvím připojení k síti VPN sledovat pomocí Performance Monitoru. Použijte objekt RAS Total a zvolte čítače Bytes Received/Sec (Přijaté bajty/s) a Bytes Transmitted/Sec (Odeslané bajty/s):

Čítače výkonu pro monitorování síťového provozu VPN

Měli byste porovnat výsledky s šířkou pásma dostupnou pro bránu VPN (od 100 Mb/s pro skladovou položku Basic na 1,25 Gb/s pro skladovou položku VpnGw3):

Ukázkový graf výkonu sítě VPN

Ujistěte se, že počet a velikost virtuálních počítačů, které jste nasadili, odpovídá plánovanému zatížení aplikace. Zjistěte, jestli některý z virtuálních počítačů ve virtuální síti Azure neběží pomalu. Pokud ano, může být příčinou buď jeho přetížení, nedostatečný počet virtuálních počítačů pro dané zatížení, nebo nesprávná konfigurace nástrojů pro vyrovnávání zatížení. Příčinu odhalíte zachycením a analyzováním diagnostických informací. Výsledky si můžete zkontrolovat na portálu Azure Portal, nebo můžete využít některý ze spousty nástrojů poskytujících podrobný přehled o výkonu od jiných výrobců.

Ověřte, že aplikace účinně využívá cloudové prostředky. Upravte kód aplikací, který běží na jednotlivých virtuálních počítačích, abyste zjistili, jestli aplikace využívají prostředky maximálně efektivně. Můžete použít nástroje, jako je Application Insights.

Další kroky

Dokumentace k produktu:

Moduly Microsoft Learn: