Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los problemas relacionados con la conectividad y el rendimiento suelen ser complejos. Puede tardar mucho tiempo y esfuerzo solo para reducir la causa del problema. La captura de paquetes puede ayudarle a reducir el ámbito de un problema a determinadas partes de la red. Puede ayudarle a determinar si el problema está en el lado del cliente de la red, en el lado de Azure de la red o en algún lugar entre ellos. Después de restringir el problema, es más eficaz depurar y realizar acciones correctivas.
Hay algunas herramientas de captura de paquetes disponibles con frecuencia. La obtención de capturas de paquetes relevantes con estas herramientas puede ser complicada, especialmente en escenarios de tráfico de gran volumen. Las funcionalidades de filtrado proporcionadas por la captura de paquetes de Azure VPN Gateway son un diferenciador importante. Puede usar la captura de paquetes de VPN Gateway junto con herramientas de captura de paquetes disponibles con frecuencia.
Acerca de la captura de paquetes para VPN Gateway
Puede ejecutar la captura de paquetes de VPN Gateway en la puerta de enlace o en una conexión específica, en función de sus necesidades. También puede ejecutar la captura de paquetes en varios túneles al mismo tiempo. Puede capturar tráfico unidireccional o bidireccional, así como tráfico IKE y ESP, y paquetes internos con filtrado en una puerta de enlace VPN.
Resulta útil usar un filtro de cinco tuplas (subred de origen, subred de destino, puerto de origen, puerto de destino, protocolo) y marcas TCP (SYN, ACK, FIN, URG, PSH, RST) al aislar problemas en el tráfico de gran volumen.
Los ejemplos siguientes de JSON y un esquema JSON proporcionan explicaciones de cada propiedad. Estas son algunas limitaciones que debe tener en cuenta al ejecutar capturas de paquetes:
- En el esquema que se muestra aquí, el filtro es una matriz, pero actualmente solo se puede usar un filtro a la vez.
- No se pueden ejecutar varias capturas de paquetes en toda la puerta de enlace simultáneamente.
- No se pueden ejecutar varias capturas de paquetes en una sola conexión al mismo tiempo. Puede ejecutar varias capturas de paquetes en diferentes conexiones al mismo tiempo.
- Se puede ejecutar un máximo de cinco capturas de paquetes en paralelo por puerta de enlace. Estas capturas de paquetes pueden ser una combinación de capturas de paquetes a nivel de pasarela y capturas a nivel de conexión.
- La unidad de MaxPacketBufferSize es bytes.
- La unidad de MaxFileSize es megabytes.
Nota:
Establezca la opción CaptureSingleDirectionTrafficOnly a false si desea capturar tanto paquetes internos como externos. Al analizar archivos pcap que contienen paquetes que se truncaron debido a la configuración MaxPacketBufferSize , esto puede dar lugar a advertencias inesperadas como "Segmento anterior TCP no capturado" y "Segmento no visto TCP ACKed".
Json de ejemplo
{
"TracingFlags": 11,
"MaxPacketBufferSize": 120,
"MaxFileSize": 200,
"Filters": [
{
"SourceSubnets": [
"10.1.0.0/24"
],
"DestinationSubnets": [
"10.1.1.0/24"
],
"SourcePort": [
500
],
"DestinationPort": [
4500
],
"Protocol": [
6
],
"TcpFlags": 16,
"CaptureSingleDirectionTrafficOnly": true
}
]
}
Esquema JSON
{
"type": "object",
"title": "The Root Schema",
"description": "The root schema input JSON filter for packet capture",
"default": {},
"additionalProperties": true,
"required": [
"TracingFlags",
"MaxPacketBufferSize",
"MaxFileSize",
"Filters"
],
"properties": {
"TracingFlags": {
"$id": "#/properties/TracingFlags",
"type": "integer",
"title": "The Tracingflags Schema",
"description": "Tracing flags that customer can pass to define which packets are to be captured. Supported values are CaptureESP = 1, CaptureIKE = 2, CaptureOVPN = 8. The final value is OR of the bits.",
"default": 11,
"examples": [
11
]
},
"MaxPacketBufferSize": {
"$id": "#/properties/MaxPacketBufferSize",
"type": "integer",
"title": "The Maxpacketbuffersize Schema",
"description": "Maximum buffer size of each packet. The capture will only contain contents of each packet truncated to this size.",
"default": 120,
"examples": [
120
]
},
"MaxFileSize": {
"$id": "#/properties/MaxFileSize",
"type": "integer",
"title": "The Maxfilesize Schema",
"description": "Maximum file size of the packet capture file. It is a circular buffer.",
"default": 100,
"examples": [
100
]
},
"Filters": {
"$id": "#/properties/Filters",
"type": "array",
"title": "The Filters Schema",
"description": "An array of filters that can be passed to filter inner ESP traffic.",
"default": [],
"examples": [
[
{
"Protocol": [
6
],
"CaptureSingleDirectionTrafficOnly": true,
"SourcePort": [
500
],
"DestinationPort": [
4500
],
"TcpFlags": 16,
"SourceSubnets": [
"10.1.0.0/24"
],
"DestinationSubnets": [
"10.1.1.0/24"
]
}
]
],
"additionalItems": true,
"items": {
"$id": "#/properties/Filters/items",
"type": "object",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": {},
"examples": [
{
"SourcePort": [
500
],
"DestinationPort": [
4500
],
"TcpFlags": 16,
"SourceSubnets": [
"10.1.0.0/24"
],
"DestinationSubnets": [
"10.1.1.0/24"
],
"Protocol": [
6
],
"CaptureSingleDirectionTrafficOnly": true
}
],
"additionalProperties": true,
"required": [
"SourceSubnets",
"DestinationSubnets",
"SourcePort",
"DestinationPort",
"Protocol",
"TcpFlags",
"CaptureSingleDirectionTrafficOnly"
],
"properties": {
"SourceSubnets": {
"$id": "#/properties/Filters/items/properties/SourceSubnets",
"type": "array",
"title": "The Sourcesubnets Schema",
"description": "An array of source subnets that need to match the Source IP address of a packet. Packet can match any one value in the array of inputs.",
"default": [],
"examples": [
[
"10.1.0.0/24"
]
],
"additionalItems": true,
"items": {
"$id": "#/properties/Filters/items/properties/SourceSubnets/items",
"type": "string",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": [
"10.1.0.0/24"
]
}
},
"DestinationSubnets": {
"$id": "#/properties/Filters/items/properties/DestinationSubnets",
"type": "array",
"title": "The Destinationsubnets Schema",
"description": "An array of destination subnets that need to match the Destination IP address of a packet. Packet can match any one value in the array of inputs.",
"default": [],
"examples": [
[
"10.1.1.0/24"
]
],
"additionalItems": true,
"items": {
"$id": "#/properties/Filters/items/properties/DestinationSubnets/items",
"type": "string",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": "",
"examples": [
"10.1.1.0/24"
]
}
},
"SourcePort": {
"$id": "#/properties/Filters/items/properties/SourcePort",
"type": "array",
"title": "The Sourceport Schema",
"description": "An array of source ports that need to match the Source port of a packet. Packet can match any one value in the array of inputs.",
"default": [],
"examples": [
[
500
]
],
"additionalItems": true,
"items": {
"$id": "#/properties/Filters/items/properties/SourcePort/items",
"type": "integer",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": 0,
"examples": [
500
]
}
},
"DestinationPort": {
"$id": "#/properties/Filters/items/properties/DestinationPort",
"type": "array",
"title": "The Destinationport Schema",
"description": "An array of destination ports that need to match the Destination port of a packet. Packet can match any one value in the array of inputs.",
"default": [],
"examples": [
[
4500
]
],
"additionalItems": true,
"items": {
"$id": "#/properties/Filters/items/properties/DestinationPort/items",
"type": "integer",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": 0,
"examples": [
4500
]
}
},
"Protocol": {
"$id": "#/properties/Filters/items/properties/Protocol",
"type": "array",
"title": "The Protocol Schema",
"description": "An array of protocols that need to match the Protocol of a packet. Packet can match any one value in the array of inputs.",
"default": [],
"examples": [
[
6
]
],
"additionalItems": true,
"items": {
"$id": "#/properties/Filters/items/properties/Protocol/items",
"type": "integer",
"title": "The Items Schema",
"description": "An explanation about the purpose of this instance.",
"default": 0,
"examples": [
6
]
}
},
"TcpFlags": {
"$id": "#/properties/Filters/items/properties/TcpFlags",
"type": "integer",
"title": "The Tcpflags Schema",
"description": "A list of TCP flags. The TCP flags set on the packet must match any flag in the list of flags provided. FIN = 0x01,SYN = 0x02,RST = 0x04,PSH = 0x08,ACK = 0x10,URG = 0x20,ECE = 0x40,CWR = 0x80. An OR of flags can be provided.",
"default": 0,
"examples": [
16
]
},
"CaptureSingleDirectionTrafficOnly": {
"$id": "#/properties/Filters/items/properties/CaptureSingleDirectionTrafficOnly",
"type": "boolean",
"title": "The Capturesingledirectiontrafficonly Schema",
"description": "A flags which when set captures reverse traffic also.",
"default": false,
"examples": [
true
]
}
}
}
}
}
}
Consideraciones clave
- La ejecución de capturas de paquetes puede afectar al rendimiento. Recuerde detener la captura de paquetes cuando no sea necesaria.
- La duración de la captura de paquetes mínima sugerida es de 600 segundos. Debido a los problemas de sincronización entre varios componentes de la ruta de acceso, es posible que las capturas de paquetes más cortas no proporcionen datos completos.
- Los archivos de datos de captura de paquetes se generan en formato PCAP. Use Wireshark u otras aplicaciones disponibles habitualmente para abrir archivos PCAP.
- No se admiten capturas de paquetes en las puertas de enlace basadas en directivas.
- El tamaño máximo de archivos de datos de captura de paquetes es de 500 MB.
- Si el parámetro
SASurlno está configurado correctamente, el seguimiento podría fallar con errores de almacenamiento. Para obtener ejemplos de cómo generar correctamente unSASurlparámetro, vea Stop-AzVirtualNetworkGatewayPacketCapture. - Si está configurando un SAS delegado por el usuario, asegúrese de que la cuenta de usuario dispone de los permisos de RBAC adecuados en la cuenta de almacenamiento, como Propietario de datos de blobs de almacenamiento.
Captura de paquetes: portal
Esta sección le ayuda a iniciar y detener una captura de paquetes mediante Azure Portal.
Inicio de la captura de paquetes: portal
Puede configurar la captura de paquetes en Azure Portal.
Vaya a su puerta de enlace de VPN en el portal de Azure.
A la izquierda, seleccione Captura de paquetes de VPN Gateway para abrir la página Captura de paquetes de VPN Gateway.
Seleccione Iniciar captura de paquetes.
En la página Iniciar captura de paquetes , realice los ajustes necesarios. No seleccione la opción "Capturar solo tráfico de dirección única" si desea capturar paquetes internos y externos.
Una vez que haya configurado las opciones, haga clic en Iniciar captura de paquetes.
Detener la captura de paquetes: portal
Para completar una captura de paquetes, debe proporcionar una dirección URL de SAS (o firma de acceso compartido) válida con acceso de lectura y escritura. Cuando se detiene una captura de paquetes, la salida de la captura de paquetes se escribe en el contenedor al que hace referencia la dirección URL de SAS.
Para obtener la dirección URL de SAS, vaya a la cuenta de almacenamiento.
Vaya al contenedor que desea usar y haga clic con el botón derecho para mostrar la lista desplegable. Seleccione Generar SAS para abrir la página Generar SAS.
En la página Generar SAS, configure las opciones. Asegúrese de que ha otorgado acceso de lectura y escritura.
Haga clic en Generar token de SAS y dirección URL.
El token de SAS y la dirección URL de SAS se generan y aparecen debajo del botón inmediatamente. Copie la dirección URL de SAS del blob.
Vuelva a la página Captura de paquetes de VPN Gateway en Azure Portal y haga clic en el botón Detener captura de paquetes .
Pegue la dirección URL de SAS (del paso anterior) en el cuadro de texto Dirección URL de sas de salida y haga clic en Detener captura de paquetes.
El archivo de captura de paquetes (pcap) se almacenará en la cuenta especificada.
Nota:
Evite el uso de contenedores generados por Azure, como $logs. Los contenedores que empiezan por $ son normalmente contenedores internos y solo el servicio que los crea debe usarlos. Por ejemplo, $logs la cuenta de Azure Storage la usa para escribir registros relacionados con la cuenta de almacenamiento.
Captura de paquetes: PowerShell
En los ejemplos siguientes se muestran comandos de PowerShell que inician y detienen las capturas de paquetes. Para obtener más información sobre las opciones de parámetros, vea Start-AzVirtualnetworkGatewayPacketCapture.
Requisitos previos
Los datos de captura de paquetes deben registrarse en una cuenta de almacenamiento de tu suscripción. Consulte Creación de una cuenta de almacenamiento.
Para detener la captura de paquetes, deberá generar el
SASUrlpara la cuenta de almacenamiento. Consulte cómo crear una SAS de delegación de usuarios.
Inicio de la captura de paquetes para una puerta de enlace de VPN
Start-AzVirtualnetworkGatewayPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayName"
Puede usar el parámetro -FilterData opcional para aplicar un filtro.
Detener la captura de paquetes para una pasarela de VPN
Stop-AzVirtualNetworkGatewayPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayName" -SasUrl "YourSASURL"
Para obtener más información sobre las opciones de parámetro, vea Stop-AzVirtualNetworkGatewayPacketCapture.
Inicio de la captura de paquetes para una conexión de VPN Gateway
Start-AzVirtualNetworkGatewayConnectionPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayConnectionName"
Puede usar el parámetro -FilterData opcional para aplicar un filtro.
Detener la captura de paquetes en una conexión de puerta de enlace VPN
Stop-AzVirtualNetworkGatewayConnectionPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayConnectionName" -SasUrl "YourSASURL"
Para obtener más información sobre las opciones de parámetro, vea Stop-AzVirtualNetworkGatewayConnectionPacketCapture.
Pasos siguientes
Para más información sobre VPN Gateway, consulte ¿Qué es VPN Gateway?