Controllare se il traffico da o verso una macchina virtuale è consentito o negato con la verifica del flusso IP, una funzionalità di Azure Network Watcher

La verifica del flusso IP è una funzionalità di Network Watcher che consente di verificare se il traffico da o verso una macchina virtuale è consentito o negato. Questo scenario è utile per stabilire se una macchina virtuale può comunicare con una risorsa esterna o back-end. La funzionalità può essere usata per verificare se le regole del gruppo di sicurezza di rete sono configurate correttamente e per risolvere i problemi dei flussi bloccati da tali regole. La verifica del flusso IP consente inoltre di verificare che il traffico che si vuole bloccare sia correttamente bloccato dal gruppo di sicurezza di rete.

Prima di iniziare

Questo scenario presuppone il completamento dei passaggi descritti in Creare un servizio Network Watcher per creare un servizio Network Watcher o aprire un'istanza esistente di Network Watcher. Lo scenario presuppone inoltre che esista e possa essere usato un gruppo di risorse con una macchina virtuale valida.

Scenario

Questo scenario usa la verifica del flusso IP per verificare se una macchina virtuale può comunicare con un indirizzo IP Bing noto. Se il traffico viene negato, restituisce la regola di sicurezza che nega il traffico. Per altre informazioni sulla verifica del flusso IP, leggere la panoramica sulla verifica del flusso IP

Recuperare Network Watcher

Il primo passaggio consente di recuperare l'istanza di Network Watcher. La variabile $networkWatcher viene passata al cmdlet di verifica del flusso IP.

$nw = Get-AzurermResource | Where {$_.ResourceType -eq "Microsoft.Network/networkWatchers" -and $_.Location -eq "WestCentralUS" } 
$networkWatcher = Get-AzureRmNetworkWatcher -Name $nw.Name -ResourceGroupName $nw.ResourceGroupName 

Ottenere una macchina virtuale

La verifica del flusso IP esegue il test del traffico da o verso un indirizzo IP su una macchina virtuale da o verso una destinazione remota. Il cmdlet richiede un ID di macchina virtuale. Se l'ID della macchina virtuale da usare è già noto, è possibile ignorare questo passaggio.

$VM = Get-AzurermVM -ResourceGroupName "testrg" -Name "testvm1"

Ottenere le schede NIC

È necessario l'indirizzo IP di una scheda di rete nella macchina virtuale. In questo esempio vengono recuperate le schede NIC in una macchina virtuale. Se l'indirizzo IP da testare nella macchina virtuale è già noto, è possibile ignorare questo passaggio.

$Nics = Get-AzureRmNetworkInterface | Where {$_.Id -eq $vm.NetworkProfile.NetworkInterfaces.Id.ForEach({$_})}

Eseguire la verifica del flusso IP

Dopo aver ottenuto le informazioni necessarie per eseguire il cmdlet, eseguire il cmdlet Test-AzureRmNetworkWatcherIPFlow per testare il traffico. In questo esempio, viene usato il primo indirizzo IP nella prima scheda NIC.

Test-AzureRmNetworkWatcherIPFlow -NetworkWatcher $networkWatcher -TargetVirtualMachineId $VM.Id `
-Direction Outbound -Protocol TCP `
-LocalIPAddress $nics[0].IpConfigurations[0].PrivateIpAddress -LocalPort 6895 -RemoteIPAddress 204.79.197.200 -RemotePort 80
Nota

Per eseguire la verifica del flusso IP è necessario che la risorsa della macchina virtuale sia allocata.

Esaminare i risultati

Dopo aver eseguito Test-AzureRmNetworkWatcherIPFlow vengono restituiti i risultati. L'esempio seguente mostra i risultati restituiti nel passaggio precedente.

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

Passaggi successivi

Se il traffico risulta bloccato e non dovrebbe esserlo, vedere Gestire i gruppi di sicurezza di rete per individuare il gruppo di sicurezza di rete e le relative regole di sicurezza definite.