Individuare il tipo di hop successivo tramite la funzionalità Hop successivo di Network Watcher di Azure usando PowerShell

Hop successivo è una funzionalità di Network Watcher che consente di recuperare il tipo di hop successivo e l'indirizzo IP in base a una macchina virtuale specificata. La funzionalità è utile per determinare se il traffico in uscita da una macchina virtuale attraversa gateway, Internet o reti virtuali per arrivare alla propria destinazione.

Prima di iniziare

In questo scenario viene usato il portale di Azure per trovare il tipo di hop successivo e l'indirizzo IP.

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

Scenario

Lo scenario illustrato in questo articolo usa la funzionalità Hop successivo di Network Watcher che rileva il tipo di hop successivo e l'indirizzo IP di una risorsa. Per altre informazioni sulla funzionalità di individuazione dell'hop successivo, consultare la panoramica sulla funzionalità Hop successivo.

Recuperare Network Watcher

Il primo passaggio consente di recuperare l'istanza di Network Watcher. La variabile $networkWatcher viene passata al cmdlet di verifica dell'hop successivo.

$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 funzionalità Hop successivo restituisce l'hop successivo e l'indirizzo IP dell'hop successivo da una macchina virtuale. 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"

Nota

La funzionalità Hop successivo richiede che la risorsa VM sia allocata.

Ottenere le interfacce di rete

È 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({$_})}

Ottenere l'hop successivo

Ora chiamiamo il cmdlet Get-AzureRmNetworkWatcherNextHop. Al cmdlet vengono passati il Network Watcher, l'ID della macchina virtuale, l'indirizzo IP di origine e l'indirizzo IP di destinazione. Nell'esempio seguente l'indirizzo IP di destinazione corrisponde a una macchina virtuale in un'altra rete virtuale. Tra le due reti virtuali esiste un gateway di rete virtuale.

Get-AzureRmNetworkWatcherNextHop -NetworkWatcher $networkWatcher -TargetVirtualMachineId $VM.Id -SourceIPAddress $nics[0].IpConfigurations[0].PrivateIpAddress  -DestinationIPAddress 10.0.2.4 

Esaminare i risultati

Al termine vengono forniti i risultati. Viene inoltre restituito l'indirizzo IP dell'hop successivo e il tipo di risorsa corrispondente. In questo scenario è l'indirizzo IP pubblico del gateway di rete virtuale.

NextHopIpAddress NextHopType           RouteTableId 
---------------- -----------           ------------ 
13.78.238.92     VirtualNetworkGateway Gateway Route

L'elenco seguente mostra i valori NextHopType attualmente disponibili:

Tipo di hop successivo

  • Internet
  • VirtualAppliance
  • VirtualNetworkGateway
  • VnetLocal
  • HyperNetGateway
  • VnetPeering
  • None

Passaggi successivi

Per altre informazioni su come verificare le impostazioni del gruppo di sicurezza di rete a livello di codice, consultare l'articolo su come verificare i gruppi di sicurezza di rete con Network Watcher