Solución de problemas de una conexión VPN híbridaTroubleshoot a hybrid VPN connection

En este artículo se ofrecen algunas sugerencias para solucionar problemas de una conexión de puerta de enlace VPN en una red local y Azure.This article gives some tips for troubleshooting a VPN gateway connection between an on-premises network and Azure. Para obtener información general sobre la solución de errores comunes relacionados con la VPN, consulte solución de errores comunes relacionados conla VPN.For general information on troubleshooting common VPN-related errors, see Troubleshooting common VPN related errors.

Comprobación de que el dispositivo VPN funciona correctamenteVerify the VPN appliance is functioning correctly

Las recomendaciones siguientes son útiles para determinar si su dispositivo VPN local funciona correctamente.The following recommendations are useful for determining if your on-premises VPN appliance is functioning correctly.

Compruebe si hay errores en cualquier archivo de registro que generó el dispositivo VPN.Check any log files generated by the VPN appliance for errors or failures. Esto le ayudará a determinar si el dispositivo VPN funciona correctamente.This will help you determine if the VPN appliance is functioning correctly. La ubicación de esta información variará según el dispositivo.The location of this information will vary according to your appliance. Por ejemplo, si está usando RRAS en Windows Server 2012, puede usar el siguiente comando de PowerShell para mostrar información de los eventos de error para el servicio RRAS:For example, if you are using RRAS on Windows Server 2012, you can use the following PowerShell command to display error event information for the RRAS service:

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

La propiedad Message de cada entrada proporciona una descripción del error.The Message property of each entry provides a description of the error. Algunos ejemplos comunes:Some common examples are:

  • Incapacidad para conectarse, posiblemente debido a una dirección IP incorrecta especificada para Azure VPN Gateway en la configuración de la interfaz de red VPN de RRAS.Inability to connect, possibly due to an incorrect IP address specified for the Azure VPN gateway in the RRAS VPN network interface configuration.

    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          :
    
  • La clave compartida incorrecta que se especificó en la configuración de la interfaz de red VPN de RRAS.The wrong shared key being specified in the RRAS VPN network interface configuration.

    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          :
    

También puede obtener información de registro de eventos sobre los intentos de conexión a través del servicio RRAS mediante el siguiente comando de PowerShell:You can also obtain event log information about attempts to connect through the RRAS service using the following PowerShell command:

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

Si se produce un error en la conexión, este registro contendrá errores con un aspecto similar al siguiente:In the event of a failure to connect, this log will contain errors that look similar to the following:

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          :

Verificación de la conectividadVerify connectivity

Compruebe la conectividad y el enrutamiento en VPN Gateway.Verify connectivity and routing across the VPN gateway. Es posible que el dispositivo VPN no enrute correctamente el tráfico a través de Azure VPN Gateway.The VPN appliance may not be correctly routing traffic through the Azure VPN Gateway. Use una herramienta como PsPing para comprobar la conectividad y el enrutamiento a través de VPN Gateway.Use a tool such as PsPing to verify connectivity and routing across the VPN gateway. Por ejemplo, para probar la conectividad de una máquina local a un servidor web que se encuentre en la red virtual, ejecute el siguiente comando (reemplazando <<web-server-address>> por la dirección del servidor web):For example, to test connectivity from an on-premises machine to a web server located on the VNet, run the following command (replacing <<web-server-address>> with the address of the web server):

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

Si la máquina local puede enrutar el tráfico al servidor web, debería ver un resultado similar al siguiente:If the on-premises machine can route traffic to the web server, you should see output similar to the following:

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

Si la máquina local no puede comunicarse con el destino especificado, verá mensajes similares al siguiente:If the on-premises machine cannot communicate with the specified destination, you will see messages like this:

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

Compruebe que el firewall local permita que pase el tráfico VPN y que estén abiertos los puertos correctos.Verify that the on-premises firewall allows VPN traffic to pass and that the correct ports are opened.

Compruebe que el dispositivo VPN local use un método de cifrado que sea compatible con Azure VPN Gateway.Verify that the on-premises VPN appliance uses an encryption method that is compatible with the Azure VPN gateway. Para el enrutamiento basado en directivas, Azure VPN Gateway admite los algoritmos de cifrado AES256, AES128 y 3DES.For policy-based routing, the Azure VPN gateway supports the AES256, AES128, and 3DES encryption algorithms. Las puertas de enlace basadas en rutas admiten AES256 y 3DES.Route-based gateways support AES256 and 3DES. Para obtener más información, consulte Acerca de los dispositivos VPN y los parámetros de IPsec/IKE para conexiones de VPN Gateway de sitio a sitio.For more information, see About VPN devices and IPsec/IKE parameters for Site-to-Site VPN Gateway connections.

Comprobación de problemas con Azure VPN GatewayCheck for problems with the Azure VPN gateway

Las recomendaciones siguientes son útiles para determinar si hay algún problema con Azure VPN Gateway:The following recommendations are useful for determining if there is a problem with the Azure VPN gateway:

Examine los registros de diagnóstico de Azure VPN Gateway para identificar posibles problemas.Examine Azure VPN gateway diagnostic logs for potential issues. Para obtener más información, EE. pasos a paso: Captura de Azure Resource Manager registrosde diagnóstico de la puerta de enlace de red virtual.For more information, ee Step-by-Step: Capturing Azure Resource Manager VNet Gateway Diagnostic Logs.

Compruebe que Azure VPN Gateway y el dispositivo VPN local estén configurados con la misma clave de autenticación compartida.Verify that the Azure VPN gateway and on-premises VPN appliance are configured with the same shared authentication key. Puede ver la clave compartida almacenada en Azure VPN Gateway mediante el siguiente comando de la CLI de Azure:You can view the shared key stored by the Azure VPN gateway using the following Azure CLI command:

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

Use el comando adecuado para que su dispositivo VPN local muestre la clave compartida que se configuró.Use the command appropriate for your on-premises VPN appliance to show the shared key configured for that appliance.

Compruebe que la subred GatewaySubnet que contiene la Azure VPN Gateway no esté asociada con un NSG.Verify that the GatewaySubnet subnet holding the Azure VPN gateway is not associated with an NSG.

Puede ver los detalles de la subred con el siguiente comando de la CLI de Azure:You can view the subnet details using the following Azure CLI command:

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

Asegúrese de que no hay ningún campo de datos denominado Identificador del grupo de seguridad de red.Ensure there is no data field named Network Security Group ID. En el ejemplo siguiente se muestran los resultados de una instancia de GatewaySubnet que tiene un NSG asignado (VPN-Gateway-Group).The following example shows the results for an instance of the GatewaySubnet that has an assigned NSG (VPN-Gateway-Group). Esto puede impedir que la puerta de enlace funcione correctamente si no hay ninguna regla definida para este NSG.This can prevent the gateway from working correctly if there are any rules defined for this NSG.

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

Compruebe que las máquinas virtuales en la red virtual de Azure estén configuradas para permitir el tráfico procedente de fuera de la red virtual.Verify that the virtual machines in the Azure VNet are configured to permit traffic coming in from outside the VNet. Compruebe si hay alguna regla de NSG asociada con las subredes que contienen estas máquinas virtuales.Check any NSG rules associated with subnets containing these virtual machines. Puede ver todas las reglas de NSG con el siguiente comando de la CLI de Azure:You can view all NSG rules using the following Azure CLI command:

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

Compruebe que Azure VPN Gateway esté conectado.Verify that the Azure VPN gateway is connected. Puede usar el siguiente comando de Azure PowerShell para comprobar el estado actual de la conexión VPN de Azure.You can use the following Azure PowerShell command to check the current status of the Azure VPN connection. El parámetro <<connection-name>> es el nombre de la conexión VPN de Azure que vincula la puerta de enlace de red virtual y la puerta de enlace local.The <<connection-name>> parameter is the name of the Azure VPN connection that links the virtual network gateway and the local gateway.

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

Los fragmentos de código siguientes resaltan la salida que se genera si la puerta de enlace está conectada (primer ejemplo) o desconectada (segundo ejemplo):The following snippets highlight the output generated if the gateway is connected (the first example), and disconnected (the second example):

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

Problemas diversosMiscellaneous issues

Las recomendaciones siguientes son útiles para determinar si hay algún problema con el uso del ancho de banda, la configuración de la máquina virtual host o el rendimiento de la aplicación:The following recommendations are useful for determining if there is an issue with Host VM configuration, network bandwidth utilization, or application performance:

Compruebe la configuración del firewall.Verify firewall configuration. Compruebe que el firewall del sistema operativo invitado que se ejecuta en las máquinas virtuales de Azure en la subred esté configurado correctamente para permitir el tráfico de los intervalos de IP locales.Verify that the firewall in the guest operating system running on the Azure VMs in the subnet is configured correctly to allow permitted traffic from the on-premises IP ranges.

Compruebe que el volumen de tráfico no se acerque al límite del ancho de banda disponible en Azure VPN Gateway.Verify that the volume of traffic is not close to the limit of the bandwidth available to the Azure VPN gateway. La manera de comprobarlo depende del dispositivo VPN que se ejecute localmente.How to verify this depends on the VPN appliance running on-premises. Por ejemplo, si está usando RRAS en Windows Server 2012, puede usar el Monitor de rendimiento para el seguimiento del volumen de datos que se recibe y se transmite a través de la conexión VPN.For example, if you are using RRAS on Windows Server 2012, you can use Performance Monitor to track the volume of data being received and transmitted over the VPN connection. Mediante el objeto Total de RAS, seleccione los contadores Bytes recibidos/s y Bytes transmitidos/s:Using the RAS Total object, select the Bytes Received/Sec and Bytes Transmitted/Sec counters:

Contadores de rendimiento para supervisar el tráfico de red VPN

Debería comparar los resultados con el ancho de banda disponible para VPN Gateway (desde 100 Mbps para la SKU Básica hasta 1,25 Mbps para la SKU VpnGw3):You should compare the results with the bandwidth available to the VPN gateway (from 100 Mbps for the Basic SKU to 1.25 Gbps for VpnGw3 SKU):

Ejemplo de gráfico de rendimiento de red VPN

Compruebe que implementó la cantidad y el tamaño correctos de máquinas virtuales para la carga de la aplicación.Verify that you have deployed the right number and size of VMs for your application load. Determine si alguna de las máquinas virtuales de la red virtual de Azure se ejecuta con lentitud.Determine if any of the virtual machines in the Azure VNet are running slowly. Si es así, es posible que estén sobrecargadas, que sean insuficientes para controlar la carga o que los equilibradores de carga no estén configurados correctamente.If so, they may be overloaded, there may be too few to handle the load, or the load-balancers may not be configured correctly. Para determinar esto, Capture y analice la información de diagnóstico.To determine this, capture and analyze diagnostic information. Puede examinar los resultados mediante Azure Portal, aunque también existen muchas herramientas de terceros que pueden proporcionar información detallada sobre los datos de rendimiento.You can examine the results using the Azure portal, but many third-party tools are also available that can provide detailed insights into the performance data.

Compruebe que la aplicación haga un uso eficaz de los recursos de nube.Verify that the application is making efficient use of cloud resources. Instrumente el código de aplicación que se ejecuta en cada máquina virtual para determinar si las aplicaciones están sacando el máximo partido de los recursos.Instrument application code running on each VM to determine whether applications are making the best use of resources. Puede usar herramientas como Application Insights.You can use tools such as Application Insights.