Condividi tramite


Risolvere i problemi di connettività tra macchine virtuali di Azure

Riassunto

Potrebbero verificarsi problemi di connettività tra macchine virtuali (VM) Azure. Questo articolo illustra la procedura di risoluzione dei problemi per risolvere il problema.

Sintomo

Una macchina virtuale Azure non può connettersi a un'altra macchina virtuale Azure.

Panoramica delle linee guida per la risoluzione dei problemi

  1. Controllare se la scheda di interfaccia di rete non è configurata correttamente
  2. Verificare se il traffico di rete è bloccato da NSG o da UDR
  3. Controllare se il traffico di rete è bloccato dal firewall della macchina virtuale
  4. Controllare se l'applicazione VM o il servizio è in ascolto sulla porta
  5. Controllare se il problema è causato da SNAT (Source Network Address Translation)
  6. Controllare se il traffico è bloccato dagli ACL per la macchina virtuale classica
  7. Controllare se l'endpoint viene creato per la macchina virtuale classica
  8. Provare a connettersi a una condivisione di rete vm
  9. Controllare Inter-VNet connettività

Annotazioni

È anche possibile usare il Test-NetConnection modulo in PowerShell per diagnosticare le informazioni per una connessione.

Procedura di risoluzione dei problemi

Seguire questa procedura per risolvere il problema. Dopo aver completato ogni passaggio, verificare se il problema è stato risolto.

Passaggio 1: Verificare se la scheda di interfaccia di rete non è configurata correttamente

Seguire i passaggi descritti in Come reimpostare l'interfaccia di rete per Azure Windows MACCHINA virtuale.

Se il problema si verifica dopo la modifica dell'interfaccia di rete ,seguire questa procedura:

Macchine virtuali con più schede di interfaccia di rete

  1. Aggiungere una scheda di interfaccia di rete.
  2. Risolvere i problemi nella scheda di interfaccia di rete non valida o rimuovere la scheda di interfaccia di rete non valida. Aggiungere quindi di nuovo la scheda di interfaccia di rete.

Per altre informazioni, vedere Aggiungere o rimuovere interfacce di rete dalle macchine virtuali.

Macchina virtuale con singola NIC

Passaggio 2: Controllare se il traffico di rete è bloccato da gruppi di sicurezza di rete o route definite dall'utente

I gruppi di sicurezza di rete (NSG) e le route definite dall'utente (UDR) possono interferire con il flusso del traffico tra le macchine virtuali. Applicare i NSG (gruppi di sicurezza di rete) sia a livello di subnet che a livello di interfaccia di rete (NIC). Il traffico deve attraversare entrambi. Usare i seguenti sottofasi per diagnosticare il blocco correlato al NSG (gruppo di sicurezza di rete) o alla UDR (route definita dall'utente).

Usare la verifica del flusso IP di Network Watcher

La funzionalità Verifica flusso IP identifica rapidamente quale regola del gruppo di sicurezza di rete (NSG) consente o nega il traffico da o verso una macchina virtuale.

  1. Nel portale di Azure, vai a Network Watcher>Verifica flusso IP.
  2. Selezionare la sottoscrizione e il gruppo di risorse della macchina virtuale di origine.
  3. Inserisci:
    • Direzione: in ingresso o in uscita.
    • Protocollo: TCP (Transmission Control Protocol) o UDP (User Datagram Protocol).
    • Porta locale: porta di destinazione nella macchina virtuale (ad esempio, 3389 per Remote Desktop Protocol (RDP), 22 per Secure Shell (SSH)).
    • Indirizzo IP remoto: indirizzo IP della macchina virtuale di connessione.
    • Porta remota: porta di origine (o usare * per qualsiasi).
  4. Selezionare Verifica per vedere quale regola del gruppo di sicurezza di rete consente o nega il traffico.

È anche possibile usare l'interfaccia della riga di comando di Azure o Azure PowerShell:

az network watcher test-ip-flow \
  --direction Inbound \
  --protocol TCP \
  --local 10.0.0.4:3389 \
  --remote 10.0.1.4:* \
  --vm <vm-resource-id> \
  --nic <nic-name>
Test-AzNetworkWatcherIPFlow `
  -NetworkWatcher $networkWatcher `
  -Direction Inbound `
  -Protocol TCP `
  -LocalIPAddress 10.0.0.4 `
  -LocalPort 3389 `
  -RemoteIPAddress 10.0.1.4 `
  -RemotePort * `
  -TargetVirtualMachineId <vm-resource-id>

Per altre informazioni, vedere Panoramica della verifica del flusso IP di Network Watcher.

Usare la risoluzione dei problemi di connessione

Risoluzione dei problemi di connessione verifica la connessione tra una macchina virtuale di origine e una destinazione. Identifica se la connessione ha esito positivo o negativo e quale regola o configurazione del gruppo di sicurezza di rete sta causando il problema.

  1. Nel portale di Azure, vai a Network Watcher>Risoluzione dei problemi di connessione.
  2. Selezionare la macchina virtuale di origine e la destinazione (VM, Uniform Resource Identifier (URI), Il nome di dominio completo (FQDN) o l'indirizzo IP.
  3. Specificare la porta e il protocollo di destinazione.
  4. Selezionare Controlla per visualizzare i risultati, comprese le regole del gruppo di sicurezza di rete (NSG) specifiche valutate lungo il percorso.

Visualizzare le regole di sicurezza valide

La visualizzazione delle regole di sicurezza effettive mostra tutte le regole del gruppo di sicurezza di rete applicate a un'interfaccia di rete, incluse le regole ereditate dal gruppo di sicurezza di rete a livello di subnet.

  1. Nel portale di Azure passare alle impostazioni di rete della macchina virtuale.
  2. Selezionare l'interfaccia di rete.
  3. Selezionare Regole di sicurezza valide per visualizzare le regole combinate sia a livello di scheda di interfaccia di rete che a livello di subnet.

È anche possibile usare l'interfaccia della riga di comando di Azure:

az network nic list-effective-nsg --resource-group <resource-group> --name <nic-name>

Per altre informazioni, vedere Diagnosticare un problema di filtro del traffico di rete della macchina virtuale.

Controllare le regole del gruppo di sicurezza di rete a livello di subnet e scheda di rete

Il traffico tra le macchine virtuali deve passare attraverso il gruppo di sicurezza di rete a livello di subnet e il gruppo di sicurezza di rete a livello di scheda di interfaccia di rete. Una regola che consente il traffico a livello di subnet può comunque essere bloccata a livello di scheda di interfaccia di rete e viceversa. Per verificare le regole a entrambi i livelli:

  1. Nel portale di Azure passare alle impostazioni di Networking della macchina virtuale per visualizzare le regole del NSG a livello di NIC.
  2. Passare alla configurazione della subnet nella rete virtuale per visualizzare le regole del gruppo di sicurezza di rete a livello di subnet.
  3. Verificare che entrambi i gruppi di sicurezza di rete abbiano regole di autorizzazione per il protocollo e la porta richiesti.

Errori comuni nella configurazione del gruppo di sicurezza di rete (NSG)

  • Conflitti di priorità: una regola di negazione con priorità più alta (numero inferiore) esegue l'override di una regola di autorizzazione con priorità inferiore. Verificare le priorità delle regole per assicurarsi che le regole di autorizzazione non vengano oscurate.
  • Regole in ingresso mancanti in entrambi i NSG: potrebbero essere necessarie regole di autorizzazione in ingresso sia nel NSG a livello di subnet che nel NSG a livello di interfaccia di rete.
  • Restrizioni IP di origine: le regole che limitano gli indirizzi IP di origine potrebbero bloccare inavvertitamente il traffico dalle macchine virtuali in subnet o reti virtuali diverse. Verificare l'indirizzo IP di origine o usare i tag di servizio appropriati.
  • Regole di negazione predefinite: la regola predefinita DenyAllInbound (priority 65500) blocca tutto il traffico in ingresso non consentito in modo esplicito. Aggiungere regole di autorizzazione esplicite con un numero di priorità inferiore.
  • Fraintendimenti sui tag del servizio: I tag di servizio, come VirtualNetwork, includono lo spazio degli indirizzi della rete virtuale, le reti con peering e le reti locali connesse tramite gateway. Verificare che il tag del servizio nelle regole corrisponda all'origine del traffico prevista.

Analizzare il traffico usando i log dei flussi

Se il problema è intermittente o difficile da riprodurre, usare i log dei flussi per analizzare i modelli di traffico.

  • Log dei flussi di rete virtuale ( scelta consigliata): i log dei flussi della rete virtuale forniscono dati di stato e velocità effettiva per flusso a livello di rete virtuale, acquisendo il traffico per tutti i carichi di lavoro. Per altre informazioni, vedere Panoramica dei log dei flussi di rete virtuale.

  • Log dei flussi del gruppo di sicurezza di rete: i log dei flussi dei gruppi di sicurezza di rete acquisiscno informazioni sul traffico IP che scorre attraverso un gruppo di sicurezza di rete. Per altre informazioni, vedere panoramica Log dei flussi dei gruppo di sicurezza di rete.

    Importante

    I log di flusso NSG verranno ritirati il 30 settembre 2027. Come parte di questa disattivazione, non sarà possibile creare nuovi log di flusso NSG dopo il 30 giugno 2025. Assicurarsi di eseguire la migrazione ai log dei flussi di rete virtuale.

Usare Analisi del traffico per visualizzare i dati dei log dei flussi e identificare i modelli di traffico bloccati.

Controllare le UDRs

Se le regole del gruppo di sicurezza di rete sono corrette, controllare se una route definita dall'utente reindirizza il traffico a un hop successivo imprevisto(ad esempio un'appliance virtuale di rete) che potrebbe eliminare o filtrare il traffico.

  1. Nel portale di Azure passare alle impostazioni di rete della macchina virtuale.
  2. Selezionare l'interfaccia di rete e quindi selezionare Route valide.
  3. Individua rotte che inviano traffico a un'appliance virtuale di rete o a un salto successivo imprevisto.

Per altre informazioni, vedere Routing del traffico di rete virtuale.

Passaggio 3: Verificare se il firewall della macchina virtuale blocca il traffico di rete

Disabilitare il firewall e quindi testare il risultato. Se il problema viene risolto, verificare le impostazioni del firewall e quindi riabilitare il firewall.

Passaggio 4: Controllare se l'app o il servizio della macchina virtuale è in ascolto sulla porta

Usare uno dei metodi seguenti per verificare se l'applicazione o il servizio VM è in ascolto sulla porta.

  • Eseguire i comandi seguenti per verificare se il server è in ascolto su tale porta.

Macchina virtuale Windows

netstat –ano

VM Linux

netstat -l
  • Eseguire il comando telnet nella macchina virtuale stessa per testare la porta. Se il test non riesce, l'applicazione o il servizio non è configurato per l'ascolto su tale porta.

Passaggio 5: Verificare se la conversione degli indirizzi di rete di origine (SNAT) causa il problema

In alcuni scenari, la macchina virtuale viene posizionata dietro una soluzione di bilanciamento del carico che dipende dalle risorse esterne ad Azure. In questi scenari, se si verificano problemi di connessione intermittenti, l'esaurimento delle porte SNAT potrebbe causare il problema. Per risolvere il problema, usare uno degli approcci seguenti:

Proteggere le macchine virtuali pubbliche con regole del gruppo di sicurezza di rete per limitare l'accesso in ingresso.

Passaggio 6: Verificare se il traffico è bloccato dagli ACL per la macchina virtuale classica

Un elenco di controllo di accesso (ACL) consente di consentire o negare in modo selettivo il traffico per un endpoint di macchina virtuale. Per altre informazioni, vedere Gestire l'ACL in un endpoint.

Passaggio 7: Verificare se l'endpoint viene creato per la macchina virtuale classica

Tutte le macchine virtuali create in Azure usando il modello di distribuzione classica possono comunicare automaticamente tramite un canale di rete privato con altre macchine virtuali nello stesso servizio cloud o nella stessa rete virtuale. Tuttavia, i computer in altre reti virtuali richiedono endpoint per indirizzare il traffico di rete in ingresso a una macchina virtuale. Per altre informazioni, vedere Come configurare gli endpoint.

Passaggio 8: Provare a connettersi a una condivisione di rete vm

Se non è possibile connettersi a una condivisione di rete vm, il problema potrebbe essere causato da schede di interfaccia di rete non disponibili nella macchina virtuale. Per eliminare le schede di interfaccia di rete non disponibili, vedere Come eliminare le schede di interfaccia di rete non disponibili.

Passaggio 9: Controllare la connettività Inter-VNet

Usa Network Watcher IP Flow Verify per determinare se un NSG o una route definita dall'utente interferisce con il flusso del traffico. Usare log dei flussi VNet (scelta consigliata) o log dei flussi NSG per analizzare i modelli di traffico tra reti virtuali. È anche possibile verificare la rete virtuale o le connessioni VPN esaminando la topologia e la documentazione di progettazione del gateway VPN .