Konfigurace zachytávání paketů pro brány VPN

Připojení problémy související s výkonem jsou často složité. Může trvat značné množství času a úsilí pouze zúžit příčinu problému. Zachytávání paketů vám může pomoct zúžit rozsah problému na určité části sítě. Může vám pomoct určit, jestli se problém nachází na straně zákazníka sítě, na straně Azure nebo někde mezi ní. Po zúžení problému je efektivnější ladit a provádět nápravné akce.

Existují některé běžně dostupné nástroje pro zachytávání paketů. Získání relevantních zachytávání paketů pomocí těchto nástrojů může být těžkopádné, zejména ve scénářích s velkým objemem provozu. Možnosti filtrování poskytované zachytáváním paketů služby Azure VPN Gateway jsou hlavním rozdílem. Můžete použít zachytávání paketů služby VPN Gateway společně s běžně dostupnými nástroji pro zachytávání paketů.

Informace o zachytávání paketů pro službu VPN Gateway

V bráně můžete v závislosti na vašich potřebách spustit zachytávání paketů služby VPN Gateway nebo konkrétní připojení. Zachytávání paketů můžete také spustit na několika tunelech najednou. Můžete zachytit jednosměrný nebo obousměrný provoz, provoz IKE a ESP a vnitřní pakety spolu s filtrováním brány VPN.

Je užitečné použít filtr pěti členů (zdrojová podsíť, cílová podsíť, zdrojový port, cílový port, protokol) a příznaky TCP (SYN, ACK, FIN, URG, PSH, RST) při izolování problémů s velkým objemem provozu.

Následující příklady JSON a schématu JSON poskytují vysvětlení jednotlivých vlastností. Při spouštění zachytávání paketů je potřeba mít na paměti některá omezení:

  • V zde zobrazeném schématu je filtr pole, ale aktuálně lze použít pouze jeden filtr najednou.
  • Najednou nejde spustit více zachytávání paketů na úrovni brány.
  • Na jednom připojení nemůžete současně spouštět více zachytávání paketů. Na různých připojeních můžete současně spouštět více zachytávání paketů.
  • Pro každou bránu lze paralelně spustit maximálně pět zachytávání paketů. Tyto zachytávání paketů mohou být kombinací zachytávání paketů pro celou bránu a zachytávání paketů pro jednotlivé připojení.
  • Jednotka pro MaxPacketBufferSize je bajty a MaxFileSize je megabajty.

Poznámka:

Pokud chcete zachytit vnitřní i vnější pakety, nastavte možnost CaptureSingleDirectionTrafficOnly na hodnotu false.

Příklad JSON

{
  "TracingFlags": 11,
  "MaxPacketBufferSize": 120,
  "MaxFileSize": 200,
  "Filters": [
    {
      "SourceSubnets": [
        "20.1.1.0/24"
      ],
      "DestinationSubnets": [
        "10.1.1.0/24"
      ],
      "SourcePort": [
        500
      ],
      "DestinationPort": [
        4500
      ],
      "Protocol": [
        6
      ],
      "TcpFlags": 16,
      "CaptureSingleDirectionTrafficOnly": true
    }
  ]
}

JSON schéma

{
    "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": [
                            "20.1.1.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": [
                            "20.1.1.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": [
                            [
                                "20.1.1.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": [
                                "20.1.1.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
                        ]
                    }
                }
            }
        }
    }
}

Klíčové aspekty

  • Spuštění zachytávání paketů může ovlivnit výkon. Nezapomeňte zastavit zachytávání paketů, když ho nepotřebujete.
  • Navrhovaná minimální doba zachytávání paketů je 600 sekund. Kvůli problémům se synchronizací mezi několika komponentami v cestě nemusí kratší zachytávání paketů poskytovat úplná data.
  • Datové soubory zachytávání paketů se generují ve formátu PCAP. K otevření souborů PCAP použijte Wireshark nebo jiné běžně dostupné aplikace.
  • Zachytávání paketů se nepodporuje u bran založených na zásadách.
  • Maximální objem datových souborů zachytávání paketů je 500 MB.
  • SASurl Pokud parametr není správně nakonfigurovaný, může trasování selhat s chybami úložiště. Příklady správného vygenerování parametru SASurl najdete v tématu Stop-AzVirtualNetworkGatewayPacketCapture.
  • Pokud konfigurujete delegovaný SAS uživatele, ujistěte se, že má uživatelský účet udělená správná oprávnění RBAC k účtu úložiště, jako je například vlastník dat objektu blob služby Storage.

Zachytávání paketů – portál

Tato část vám pomůže spustit a zastavit zachytávání paketů pomocí webu Azure Portal.

Spuštění zachytávání paketů – portál

Zachytávání paketů můžete nastavit na webu Azure Portal.

  1. Na webu Azure Portal přejděte ke své bráně VPN.

  2. Vlevo vyberte zachytávání paketů služby VPN Gateway a otevřete stránku zachytávání paketů služby VPN Gateway.

  3. Vyberte Spustit zachytávání paketů.

    Snímek obrazovky se spuštěním zachytávání paketů na portálu

  4. Na stránce Spustit zachytávání paketů proveďte potřebné úpravy. Pokud chcete zachytit vnitřní i vnější pakety, nevybírejte možnost Zachytávat pouze jednosměrný provoz.

  5. Po nakonfigurování nastavení klikněte na Spustit zachytávání paketů.

Zastavení zachytávání paketů – portál

K dokončení zachytávání paketů musíte zadat platnou adresu URL SAS (nebo sdíleného přístupového podpisu) s přístupem pro čtení a zápis. Při zastavení zachytávání paketů se výstup zachytávání paketů zapíše do kontejneru, na který odkazuje adresa URL SAS.

  1. Pokud chcete získat adresu URL SAS, přejděte do účtu úložiště.

  2. Přejděte do kontejneru, který chcete použít, a kliknutím pravým tlačítkem myši zobrazte rozevírací seznam. Výběrem možnosti Vygenerovat SAS otevřete stránku Generovat SAS.

  3. Na stránce Generovat SAS nakonfigurujte nastavení. Ujistěte se, že jste udělili přístup pro čtení a zápis.

  4. Klikněte na Vygenerovat token SAS a adresu URL.

  5. Vygeneruje se token SAS a adresa URL SAS a zobrazí se hned pod tlačítkem. Zkopírujte adresu URL SAS objektu blob.

    Snímek obrazovky s vygenerovaným tokenem SAS

  6. Vraťte se na stránku Zachytávání paketů služby VPN Gateway na webu Azure Portal a klikněte na tlačítko Zastavit zachytávání paketů.

  7. Vložte adresu URL SAS (z předchozího kroku) do textového pole Výstupní adresa URL SAS a klikněte na Zastavit zachytávání paketů.

  8. Soubor zachytávání paketů (pcap) se uloží do zadaného účtu.

Poznámka:

Vyhněte se použití kontejnerů generovaných v Azure, například $logs. Kontejnery, které začínají $ , jsou obvykle interní kontejnery a pouze služba, která je vytvoří, by je měla používat. Účet úložiště Azure například $logs používá k zápisu protokolů souvisejících s účtem úložiště.

Zachytávání paketů – PowerShell

Následující příklady ukazují příkazy PowerShellu, které spouští a zastavují zachytávání paketů. Další informace o možnostech parametrů naleznete v tématu Start-AzVirtualnetworkGatewayPacketCapture.

Požadavky

  • Data zachytávání paketů musí být přihlášena k účtu úložiště ve vašem předplatném. Viz vytvoření účtu úložiště.

  • Pokud chcete zastavit zachytávání paketů, budete muset vygenerovat SASUrl účet úložiště. Viz vytvoření SAS delegování uživatele.

Spuštění zachytávání paketů pro bránu VPN

Start-AzVirtualnetworkGatewayPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayName"

K použití filtru můžete použít volitelný parametr -FilterData .

Zastavení zachytávání paketů pro bránu VPN

Stop-AzVirtualNetworkGatewayPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayName" -SasUrl "YourSASURL"

Další informace o možnostech parametrů naleznete v tématu Stop-AzVirtualNetworkGatewayPacketCapture.

Spuštění zachytávání paketů pro připojení brány VPN

Start-AzVirtualNetworkGatewayConnectionPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayConnectionName"

K použití filtru můžete použít volitelný parametr -FilterData .

Zastavení zachytávání paketů u připojení brány VPN

Stop-AzVirtualNetworkGatewayConnectionPacketCapture -ResourceGroupName "YourResourceGroupName" -Name "YourVPNGatewayConnectionName" -SasUrl "YourSASURL"

Další informace o možnostech parametrů naleznete v tématu Stop-AzVirtualNetworkGateway Připojení ionPacketCapture.

Další kroky

Další informace o službě VPN Gateway najdete v tématu Co je služba VPN Gateway?