Megosztás a következőn keresztül:


Rövid útmutató: Virtuálisgép-hálózati forgalomszűrővel kapcsolatos probléma diagnosztizálása az Azure CLI használatával

Ebben a rövid útmutatóban üzembe helyez egy virtuális gépet, és a Network Watcher IP-forgalmának ellenőrzésével teszteli a különböző IP-címekhez való kapcsolódást. Az IP-forgalom ellenőrzésének eredményeivel meghatározhatja azt a biztonsági szabályt, amely blokkolja a forgalmat, és kommunikációs hibát okoz, és megtudhatja, hogyan oldhatja meg. Azt is megtudhatja, hogyan használhatja a hálózati adapterek hatályos biztonsági szabályait annak meghatározására, hogy egy biztonsági szabály miért engedélyezi vagy tiltja a forgalmat.

Az ábra a Network Watcher rövid útmutatójában létrehozott erőforrásokat mutatja be.

Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

  • Egy Azure-fiók, aktív előfizetéssel.

  • Azure Cloud Shell vagy Azure CLI.

    A cikk lépései interaktív módon futtatják az Azure CLI-parancsokat az Azure Cloud Shellben. A Cloud Shell parancsainak futtatásához válassza a Kódblokk jobb felső sarkában található Open Cloud Shell lehetőséget. Válassza a Másolás lehetőséget a kód másolásához, majd illessze be a Cloud Shellbe a futtatáshoz. A Cloud Shellt az Azure Portalon is futtathatja.

    A parancsok futtatásához helyileg is telepítheti az Azure CLI-t. Ehhez a rövid útmutatóhoz az Azure CLI 2.0-s vagy újabb verziója szükséges. Ha helyileg futtatja az Azure CLI-t, jelentkezzen be az Azure-ba az az login paranccsal.

Virtuális gép létrehozása

Ebben a szakaszban egy virtuális hálózatot és egy alhálózatot hoz létre az USA keleti régiójában. Ezután létrehoz egy virtuális gépet az alhálózatban egy alapértelmezett hálózati biztonsági csoporttal.

  1. Hozzon létre egy erőforráscsoportot az az group create paranccsal. Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.

    # Create a resource group.
    az group create --name 'myResourceGroup' --location 'eastus'
    
  2. Hozzon létre egy virtuális hálózatot az az network vnet create használatával.

    # 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. Hozzon létre egy alapértelmezett hálózati biztonsági csoportot az az network nsg create használatával.

    # Create a default network security group.
    az network nsg create --name 'myVM-nsg' --resource-group 'myResourceGroup' --location 'eastus'
    
  4. Hozzon létre egy virtuális gépet az az vm create használatával. Amikor a rendszer kéri, adjon meg egy felhasználónevet és jelszót.

    # 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'
    

Hálózati kommunikáció tesztelése IP-forgalom ellenőrzése használatával

Ebben a szakaszban a Network Watcher IP-forgalom-ellenőrzési funkcióját használja a virtuális gép felé és a virtuális gépről való hálózati kommunikáció teszteléséhez.

  1. Az az network watcher test-ip-flow paranccsal tesztelje a kimenő kommunikációt a myVM-ről a 13.107.21.200-ra az IP-forgalom ellenőrzésével (13.107.21.200ez az egyik nyilvános IP-cím, amelyet www.bing.coma következő használ):

    # 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'
    

    Néhány másodperc elteltével a következő példához hasonló kimenet jelenik meg:

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

    A teszt eredménye azt jelzi, hogy a hozzáférés engedélyezett a 13.107.21.200-ra az AllowInternetOutBound alapértelmezett biztonsági szabály miatt. Alapértelmezés szerint az Azure-beli virtuális gépek hozzáférhetnek az internethez.

  2. Módosítsa a RemoteIPAddress 10.0.1.10 értékre, és ismételje meg a tesztet. A 10.0.1.10 egy privát IP-cím a myVNet-címtérben.

    # 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'
    

    Néhány másodperc elteltével a következő példához hasonló kimenet jelenik meg:

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

    A második teszt eredménye azt jelzi, hogy a hozzáférés engedélyezett a 10.0.1.10-hez az AllowVnetOutBound alapértelmezett biztonsági szabály miatt. Az Azure-beli virtuális gépek alapértelmezés szerint hozzáférhetnek a virtuális hálózat címterében található összes IP-címhez.

  3. Módosítsa a RemoteIPAddress 10.10.10.10 értékre, és ismételje meg a tesztet. A 10.10.10.10 egy privát IP-cím, amely nem a myVNet címterében található.

    # 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'
    

    Néhány másodperc elteltével a következő példához hasonló kimenet jelenik meg:

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

    A harmadik teszt eredménye azt jelzi, hogy a hozzáférés megtagadva a 10.10.10.10-hez az alapértelmezett DenyAllOutBound biztonsági szabály miatt.

  4. Módosítsa az irányt bejövőre, a helyi portot 80-ra, a távoli portot pedig 60000-re, majd ismételje meg a tesztet.

    # 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'
    

    Néhány másodperc múlva a következő példához hasonló kimenet jelenik meg:

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

    A negyedik teszt eredménye azt jelzi, hogy a hozzáférés megtagadva a 10.10.10.10-től az alapértelmezett DenyAllInBound biztonsági szabály miatt. Alapértelmezés szerint egy Azure-beli virtuális géphez a virtuális hálózaton kívülről érkező összes hozzáférés megtagadva.

Biztonsági szabály részleteinek megtekintése

Annak megállapításához, hogy az előző szakaszban szereplő szabályok miért engedélyezik vagy tiltják le a kommunikációt, tekintse át a myVM virtuális gép hálózati adapterére vonatkozó hatályos biztonsági szabályokat az az network nic list-effective-nsg paranccsal:

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

A visszaadott kimenet a következő információkat tartalmazza az AllowInternetOutbound szabályhoz, amely engedélyezte a kimenő hozzáférést: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"
  ]
},

A kimenetben látható, hogy a 13.104.0.0/13 címelőtag az AllowInternetOutBound szabály címelőtagjai közé tartozik. Ez az előtag a 13.107.21.200 IP-címet foglalja magában, amelyet a kimenő kommunikáció www.bing.comtesztelésére használt.

Hasonlóképpen ellenőrizheti a többi szabályt is, hogy az egyes szabályok alatt megjelenjenek a forrás- és cél IP-címelőtagok.

Az erőforrások eltávolítása

Ha már nincs rá szükség, az az group delete használatával törölje a myResourceGroup erőforráscsoportot és az összes benne lévő erőforrást:

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

Következő lépések

Ebben a rövid útmutatóban létrehozott egy virtuális gépet, és diagnosztizálta a bejövő és kimenő hálózati forgalom szűrőit. Megtudta, hogy hálózati biztonsági csoportszabályok engedélyezik vagy tiltják le a virtuális gépekről érkező vagy oda irányuló adatforgalmat. További információ a biztonsági szabályokról és a biztonsági szabályok létrehozásának módjáról.

Még a megfelelő hálózati forgalomszűrők használata esetén is meghiúsulhat a virtuális géppel való kommunikáció az útválasztási konfiguráció miatt. A virtuális gépek útválasztási problémáinak diagnosztizálásához tekintse meg a virtuális gépek hálózati útválasztási problémáinak diagnosztizálása című témakört. A kimenő útválasztással, késéssel és forgalomszűréssel kapcsolatos problémák diagnosztizálásához tekintse meg az Azure Network Watcherrel való kapcsolatok hibaelhárítását.