Rychlý start: Diagnostika problému s filtrováním síťového provozu virtuálního počítače pomocí Azure CLI

V tomto rychlém startu nasadíte virtuální počítač a pomocí ověření toku PROTOKOLU IP služby Network Watcher otestujete připojení k různým IP adresům a z různých IP adres. Pomocí výsledků ověření toku protokolu IP určíte pravidlo zabezpečení, které blokuje provoz a způsobuje selhání komunikace, a dozvíte se, jak ho můžete vyřešit. Dozvíte se také, jak pomocí efektivních pravidel zabezpečení pro síťové rozhraní určit, proč pravidlo zabezpečení povoluje nebo zamítá provoz.

Diagram znázorňuje prostředky vytvořené v rychlém startu služby Network Watcher.

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

  • Účet Azure s aktivním předplatným.

  • Azure Cloud Shell nebo Azure CLI.

    Kroky v tomto článku spouští příkazy Azure CLI interaktivně v Azure Cloud Shellu. Pokud chcete příkazy spustit v Cloud Shellu, vyberte Otevřít Cloud Shell v pravém horním rohu bloku kódu. Výběrem možnosti Kopírovat zkopírujte kód a vložte ho do Cloud Shellu a spusťte ho. Cloud Shell můžete spustit také z webu Azure Portal.

    Ke spuštění příkazů můžete také nainstalovat Azure CLI místně . Tento rychlý start vyžaduje verzi 2.0 nebo novější azure CLI. Pokud azure CLI spustíte místně, přihlaste se k Azure pomocí příkazu az login .

Vytvoření virtuálního počítače

V této části vytvoříte virtuální síť a podsíť v oblasti USA – východ. Potom vytvoříte virtuální počítač v podsíti s výchozí skupinou zabezpečení sítě.

  1. Vytvořte skupinu prostředků pomocí příkazu az group create. Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.

    # Create a resource group.
    az group create --name 'myResourceGroup' --location 'eastus'
    
  2. Vytvořte virtuální síť pomocí příkazu az network vnet create.

    # Create a virtual network and a subnet.
    az network vnet create --resource-group 'myResourceGroup' --name 'myVNet' --subnet-name 'mySubnet' --subnet-prefixes 10.0.0.0/24 
    
  3. Vytvořte výchozí skupinu zabezpečení sítě pomocí příkazu az network nsg create.

    # Create a default network security group.
    az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
    
  4. Vytvořte virtuální počítač pomocí příkazu az vm create. Po zobrazení výzvy zadejte uživatelské jméno a heslo.

    # Create a Linux virtual machine using the latest Ubuntu 20.04 LTS image.
    az vm create --resource-group 'myResourceGroup' --name 'myVM' --location 'eastus' --vnet-name 'myVNet' --subnet 'mySubnet' --public-ip-address '' --nsg 'myVM-nsg' --image 'Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2:latest'
    

Testování síťové komunikace pomocí ověření toku protokolu IP

V této části použijete funkci ověření toku protokolu IP služby Network Watcher k otestování síťové komunikace s virtuálním počítačem a z virtuálního počítače.

  1. Pomocí příkazu az network watcher test-ip-flow otestujte odchozí komunikaci z virtuálního počítače myVM na 13.107.21.200 pomocí ověření toku protokolu IP (13.107.21.200 je jednou z veřejných IP adres používaných www.bing.com):

    # Start the IP flow verify session to test outbound flow to www.bing.com.
    az network watcher test-ip-flow --direction 'outbound' --protocol 'TCP' --local '10.0.0.4:60000' --remote '13.107.21.200:80' --vm 'myVM' --nic 'myVmVMNic' --resource-group 'myResourceGroup' --out 'table'
    

    Po několika sekundách získáte podobný výstup jako v následujícím příkladu:

    Access  RuleName
    ------  --------
    Allow   defaultSecurityRules/AllowInternetOutBound
    

    Výsledek testu označuje, že přístup je povolený na 13.107.21.200 kvůli výchozímu pravidlu zabezpečení AllowInternetOutBound. Ve výchozím nastavení mají virtuální počítače Azure přístup k internetu.

  2. Změňte remoteIPAddress na 10.0.1.10 a opakujte test. 10.0.1.10 je privátní IP adresa v adresní prostoru myVNet .

    # Start the IP flow verify session to test outbound flow to 10.0.1.10.
    az network watcher test-ip-flow --direction 'outbound' --protocol 'TCP' --local '10.0.0.4:60000' --remote '10.0.1.10:80' --vm 'myVM' --nic 'myVmVMNic' --resource-group 'myResourceGroup' --out 'table'
    

    Po několika sekundách získáte podobný výstup jako v následujícím příkladu:

    Access RuleName
    ------ --------
    Allow  defaultSecurityRules/AllowVnetOutBound
    

    Výsledek druhého testu označuje, že přístup je povolený na 10.0.1.10 kvůli výchozímu pravidlu zabezpečení AllowVnetOutBound. Ve výchozím nastavení má virtuální počítač Azure přístup ke všem IP adresům v adresním prostoru své virtuální sítě.

  3. Změňte remoteIPAddress na 10.10.10.10 a opakujte test. 10.10.10.10 je privátní IP adresa, která není v adresního prostoru myVNet .

    # Start the IP flow verify session to test outbound flow to 10.10.10.10.
    az network watcher test-ip-flow --direction 'outbound' --protocol 'TCP' --local '10.0.0.4:60000' --remote '10.10.10.10:80' --vm 'myVM' --nic 'myVmVMNic' --resource-group 'myResourceGroup' --out 'table'
    

    Po několika sekundách získáte podobný výstup jako v následujícím příkladu:

    Access RuleName
    ------ --------
    Allow  defaultSecurityRules/DenyAllOutBound
    

    Výsledek třetího testu označuje, že přístup byl odepřen na hodnotu 10.10.10.10 kvůli výchozímu pravidlu zabezpečení DenyAllOutBound.

  4. Změňte směr na příchozí, místní port na 80 a vzdálený port na 6 0000 a pak test opakujte.

    # Start the IP flow verify session to test inbound flow from 10.10.10.10.
    az network watcher test-ip-flow --direction 'inbound' --protocol 'TCP' --local '10.0.0.4:80' --remote '10.10.10.10:6000' --vm 'myVM' --nic 'myVmVMNic' --resource-group 'myResourceGroup' --out 'table'
    

    Po několika sekundách se zobrazí podobný výstup jako v následujícím příkladu:

    Access RuleName
    ------ --------
    Allow  defaultSecurityRules/DenyAllInBound
    

    Výsledek čtvrtého testu označuje, že přístup byl odepřen z hodnoty 10.10.10.10 kvůli výchozímu pravidlu zabezpečení DenyAllInBound. Ve výchozím nastavení je veškerý přístup k virtuálnímu počítači Azure mimo virtuální síť odepřen.

Zobrazení podrobností pravidla zabezpečení

Pokud chcete zjistit, proč pravidla v předchozí části povolují nebo zakazují komunikaci, projděte si platná pravidla zabezpečení pro síťové rozhraní virtuálního počítače myVM pomocí příkazu az network nic list-effective-nsg :

# Get the effective security rules for the network interface of myVM.
az network nic list-effective-nsg --resource-group 'myResourceGroup' --name 'myVmVMNic'

Vrácený výstup obsahuje následující informace pro pravidlo AllowInternetOutbound , které povolilo odchozí přístup k www.bing.com:

{
  "access": "Allow",
  "destinationAddressPrefix": "Internet",
  "destinationAddressPrefixes": [
	"Internet"
  ],
  "destinationPortRange": "0-65535",
  "destinationPortRanges": [
	"0-65535"
  ],
  "direction": "Outbound",
  "expandedDestinationAddressPrefix": [
	"1.0.0.0/8",
	"2.0.0.0/7",
	"4.0.0.0/9",
	"4.144.0.0/12",
	"4.160.0.0/11",
	"4.192.0.0/10",
	"5.0.0.0/8",
	"6.0.0.0/7",
	"8.0.0.0/7",
	"11.0.0.0/8",
	"12.0.0.0/8",
	"13.0.0.0/10",
	"13.64.0.0/11",
	"13.104.0.0/13",
	"13.112.0.0/12",
	"13.128.0.0/9",
	"14.0.0.0/7",
	...
	...
	...
	"200.0.0.0/5",
	"208.0.0.0/4"
  ],
  "name": "defaultSecurityRules/AllowInternetOutBound",
  "priority": 65001,
  "protocol": "All",
  "sourceAddressPrefix": "0.0.0.0/0",
  "sourceAddressPrefixes": [
	"0.0.0.0/0",
	"0.0.0.0/0"
  ],
  "sourcePortRange": "0-65535",
  "sourcePortRanges": [
	"0-65535"
  ]
},

Ve výstupu vidíte, že předpona adresy 13.104.0.0/13 patří mezi předpony adres pravidla AllowInternetOutBound . Tato předpona zahrnuje IP adresu 13.107.21.200, kterou jste použili k otestování odchozí komunikace do www.bing.com.

Podobně můžete v ostatních pravidlech zkontrolovat předpony zdrojových a cílových IP adres.

Vyčištění prostředků

Pokud už ji nepotřebujete, pomocí příkazu az group delete odstraňte skupinu prostředků myResourceGroup a všechny prostředky, které obsahuje:

# Delete the resource group and all resources it contains.
az group delete --name 'myResourceGroup' --yes

Další kroky

V tomto rychlém startu jste vytvořili virtuální počítač a diagnostikovali jste příchozí a odchozí filtry síťového provozu. Zjistili jste, že pravidla skupiny zabezpečení sítě umožňují nebo odepírají příchozí i odchozí provoz virtuálního počítače. Zjistěte více o pravidlech zabezpečení a způsobu jejich vytvoření.

I když jsou zavedené správné filtry síťového provozu, komunikace s virtuálním počítačem může i nadále selhat kvůli konfiguraci směrování. Informace o diagnostice problémů se směrováním virtuálních počítačů najdete v tématu Diagnostika potíží se směrováním sítě virtuálních počítačů. Pokud chcete diagnostikovat problémy s filtrováním odchozího směrování, latence a provozu pomocí jednoho nástroje, přečtěte si téma Řešení potíží s připojeními pomocí služby Azure Network Watcher.