Felsöka en VPN-hybridanslutning

Azure Virtual Network
Azure VPN Gateway

Den här artikeln innehåller några tips för att felsöka en VPN-gatewayanslutning mellan ett lokalt nätverk och Azure. Allmän information om felsökning av vanliga VPN-relaterade fel finns på sidan om felsökning av vanliga VPN-relaterade fel.

Kontrollera att VPN-installationen fungerar korrekt

Följande är rekommendationer för att kontrollera om den lokala VPN-installationen fungerar korrekt.

Kontrollera alla loggfiler som genererats av VPN-installationen och se om det förekommer fel. Det hjälper dig att fastställa om VPN-installationen fungerar som den ska. Platsen för den här informationen varierar beroende på installationen. Om du till exempel använder RRAS på en Windows Server 2012 kan du visa information om felhändelser för RRAS-tjänsten med följande PowerShell-kommando:

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

Meddelande-egenskapen för varje post innehåller en beskrivning av felet. Några vanliga exempel:

  • Det går inte att ansluta, möjligen på grund av en felaktig IP-adress som angetts för Azure VPN-gatewayen i konfigurationen av RRAS VPN-nätverksgränssnittet.

    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          :
    
  • Fel delad nyckel anges i konfigurationen av RRAS VPN-nätverksgränssnittet.

    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          :
    

Du kan också hämta information i händelseloggen om försök att ansluta via RRAS-tjänsten med följande PowerShell-kommando:

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

Om det förekommit anslutningsfel innehåller den här loggen fel som ser ut ungefär som följer:

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          :

Verifiera anslutningen

Kontrollera anslutning och routning via VPN-gatewayen. Det kan hända att VPN-installationen inte skickar trafik korrekt via Azure VPN Gateway. Använd ett verktyg som PsPing för att verifiera att både anslutning och routning sker via VPN-gatewayen. Testa till exempel anslutningen från en lokal dator till en webbserver i det virtuella nätverket genom att köra följande kommando (ersätt <<web-server-address>> med webbserverns adress):

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

Om trafik kan skickas från den lokala datorn till webbservern ska du se utdata som liknar följande:

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

Om den lokala datorn inte kan kommunicera med det angivna målet visas meddelanden som liknar dessa:

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

Kontrollera att den lokala brandväggen tillåter VPN-trafik och att rätt portar är öppna.

Kontrollera att den lokala VPN-installationen använder en krypteringsmetod som är kompatibel med Azure VPN-gatewayen. Azure VPN-gatewayen stöder krypteringsalgoritmerna AES256, AES128 och 3DES för principbaserad routning. Routningsbaserade gatewayer stöder AES256 och 3DES. Mer information finns i Om VPN-enheter och IPsec-/IKE-parametrar för anslutningar för VPN Gateway från plats till plats.

Sök efter problem med Azure VPN-gatewayen

Följande är rekommendationer för att avgöra om det finns ett problem med Azure VPN-gatewayen:

Granska Azure VPN-gatewayens diagnostikloggar och se om det finns några problem. Mer information finns i Steg för steg: Avbilda Azure Resource Manager diagnostikloggar för VNet Gateway.

Kontrollera att Azure VPN-gatewayen och den lokala VPN-installationen har konfigurerats med samma delade autentiseringsnyckel. Du kan visa den delade nyckeln som lagras av Azure VPN-gatewayen med följande Azure CLI-kommando:

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

Använd lämpligt kommando för din lokala VPN-installation för att visa den delade nyckeln som konfigurerats för installationen.

Kontrollera att undernätet GatewaySubnet som innehåller Azure VPN-gatewayen inte är associerat med en NSG.

Du kan visa information om undernätet med följande Azure CLI-kommando:

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

Kontrollera att det inte finns något datafält med namnet Nätverkssäkerhetsgrupp-ID. I följande exempel visas resultaten för en instans av den GatewaySubnet som har en tilldelad NSG (VPN-gatewaygrupp). Detta kan förhindra gatewayen från att fungera korrekt om det finns några definierade regler för NSG:n.

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

Kontrollera att de virtuella datorerna i det virtuella Azure-nätverket har konfigurerats så att trafik utanför det virtuella nätverket tillåts komma in. Kontrollera alla NSG-regler som är associerade med undernät som innehåller dessa virtuella datorer. Du kan visa alla NSG-regler med följande Azure CLI-kommando:

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

Kontrollera att Azure VPN-gatewayen är ansluten. Du kan använda följande Azure PowerShell-kommando för att kontrollera Azure VPN-anslutningens aktuella status. Parametern <<connection-name>> är namnet på Azure VPN-anslutningen som länkar den virtuella nätverksgatewayen till den lokala gatewayen.

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

Följande kodavsnitt visar genererade utdata om gatewayen är ansluten (i det första exemplet) och frånkopplad (i det andra exemplet):

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
...

Övriga problem

Följande är rekommendationer för att ta reda på om det finns problem med den virtuella värddatorkonfigurationen, bandbreddsanvändningen i nätverket eller programprestanda:

  • Verifiera brandväggskonfigurationen. Kontrollera att brandväggen i gästoperativsystemet som körs på virtuella Azure-datorer i undernätet har konfigurerats korrekt för att tillåta godkänd trafik från det lokala IP-adressintervallet.

  • Kontrollera att mängden trafik inte når upp till bandbreddsgränsen som är tillgänglig för Azure VPN-gatewayen. Hur detta kontrolleras beror på VPN-installationen som körs lokalt. Om du till exempel använder RRAS på Windows Server 2012 kan du använda prestandaövervakaren för att spåra mängden data som tas emot och skickas via VPN-anslutningen. Använd objektet Sammanlagd RAS och välj räknarna Mottagna byte/sek och Överförda byte/sek:

    Prestandaräknare för övervakning av VPN-nätverkstrafik

    Du bör jämföra resultaten med bandbredden som är tillgänglig för VPN-gatewayen (från 100 Mbit/s för Basic SKU till 1,25 Gbit/s för VpnGw3 SKU):

    Exempeldiagram för VPN-nätverksprestanda

  • Kontrollera att du har distribuerat rätt antal och storlek virtuella datorer för programbelastningen. Kontrollera om någon av de virtuella datorerna i det virtuella Azure-nätverket körs långsamt. Om så är fallet kan de vara överbelastade, eller det finns för få datorer för att hantera belastningen, eller så har inte belastningsutjämnarna konfigurerats rätt. Ta reda på detta genom att samla in och analysera diagnostikinformation. Du kan granska resultaten med hjälp av Azure-portalen, men det finns också många tredjepartsverktyg som kan tillhandahålla detaljerad information om prestanda.

    Du kan använda Azure DDoS Protection för att skydda mot skadlig resursöverbelastning. Azure DDoS Protection, kombinerat med metodtips för programdesign, ger förbättrade DDoS-åtgärdsfunktioner för att ge mer skydd mot DDoS-attacker. Du bör aktivera Azure DDOS Protection i alla virtuella perimeternätverk.

  • Kontrollera att programmet utnyttjar molnresurserna på ett effektivt sätt. Instrumentprogramkod körs på varje virtuell dator för att avgöra om programmen utnyttjar resurserna på bästa möjliga sätt. Du kan använda verktyg som Application Insights.

Nästa steg

Produktdokumentation:

Microsoft Learn-moduler: