Identificare e risolvere i problemi relativi al formato ICMP

Questo tutorial mostra come utilizzare in modo iterativo Connectivity Tests per identificare e risolvere un problema di connettività di rete.

In questo caso, le regole firewall VPC (Virtual Private Cloud) impediscono all'indirizzo IP esterno di un'istanza di una macchina virtuale (VM) di utilizzare il protocollo ICMP per inviare un ping all'indirizzo IP esterno di un'altra VM.

Poiché i problemi di comunicazione da VM a VM sono spesso problemi di connettività di rete, Connectivity Tests possono fornirti informazioni su possibili problemi di configurazione in modo che tu possa risolverli. Puoi quindi eseguire di nuovo Connectivity Tests per verificare la correzione.

Panoramica

In questo caso, hai configurato due istanze VM nella stessa subnet della rete VPC. Entrambe le VM hanno indirizzi IP esterni. Quando verifichi la connettività tra i dispositivi inviando un pacchetto di ping da vm1 all'indirizzo IP esterno di vm2, il ping non funziona.

Risoluzione dei problemi relativi a un ping negato tra due VM.
Risoluzione dei problemi relativi a un ping negato tra due VM

Prima di iniziare

Prima di iniziare il tutorial, segui tutti i passaggi nella sezione Before you begin di Creare ed eseguire Connectivity Tests.

Può anche essere utile rivedere come funzionano le regole firewall VPC.

Configura le risorse di rete

In questa sezione configurerai le risorse Google Cloud nel percorso di test.

Configura una rete VPC

Puoi utilizzare una rete e una subnet esistenti che contengono le VM oppure creare una nuova rete e una nuova subnet.

Configura due istanze VM

  1. Le istanze VM in questo tutorial si trovano nella stessa rete VPC e nella stessa subnet. Puoi utilizzare le VM esistenti o crearne di nuove.
  2. Assegna un indirizzo IP esterno a vm1 e vm2 quando le crei. Prendi nota degli indirizzi perché li utilizzerai in seguito.

Crea una regola firewall default-deny-outgoing-ping

Dopo aver creato le VM, crea una regola firewall VPC in uscita denominata default-deny-outgoing-ping. Questa regola nega il protocollo ICMP da vm1 a vm2. Assicurati che in questa rete non esistano regole firewall che eseguiranno l'override di questa regola. Inoltre, assicurati che nessuna regola dei criteri firewall gerarchici prevalga su questa regola. Per maggiori dettagli, consulta la Panoramica dei criteri firewall gerarchici.

Utilizza i valori nella tabella seguente per configurare questa regola firewall VPC.

Campo regola firewall VPC Valore
Nome default-deny-outgoing-ping
Rete Utilizza la rete VPC in cui si trovano le VM.
Priorità 1000
Direzione del traffico In uscita
Azione in caso di corrispondenza Nega
Obiettivi Seleziona Tutte le istanze nella rete.
Intervalli IP di destinazione Utilizza l'indirizzo IP esterno di vm2.
Protocolli e porte specificati Seleziona la casella di controllo Altri protocolli, quindi inserisci icmp.

Crea una regola firewall default-deny-ingress-to-vm2

Crea una regola firewall in entrata denominata default-deny-ingress-to-vm2 per negare il protocollo ICMP all'indirizzo IP esterno di vm2. Assicurati che in questa rete non esistano regole firewall che eseguiranno l'override di questa regola. Inoltre, assicurati che nessuna regola dei criteri firewall gerarchici prevalga su questa regola. Per maggiori dettagli, consulta la Panoramica dei criteri firewall gerarchici.

Utilizza i valori della tabella seguente per creare la regola.

Campo regola firewall VPC Valore
Nome default-deny-ingress-to-vm2
Rete Utilizza la rete VPC in cui si trovano le VM.
Priorità 65534
Direzione del traffico In entrata
Azione in caso di corrispondenza Nega
Obiettivi Seleziona Tutte le istanze nella rete.
Intervalli IP di origine Utilizza l'indirizzo IP esterno di vm1.
Protocolli e porte specificati Seleziona la casella di controllo Altri protocolli, quindi inserisci icmp.

Esegui la prima traccia

Utilizzando la console Google Cloud, esegui una traccia per determinare se un pacchetto ICMP (ping) può spostarsi da vm1 all'indirizzo IP esterno di vm2. Dopo aver eseguito questa traccia, Connectivity Tests comunica che il pacchetto di traccia è stato ignorato a causa della regola firewall VPC default-deny-outgoing-ping.

Utilizza la seguente tabella per i valori di input per la traccia.

Nome campo Valore
Protocollo icmp
Indirizzo IP di origine

Utilizza l'indirizzo IP esterno di vm1.

Seleziona la casella di controllo Questo è un indirizzo IP utilizzato in Google Cloud.

Indirizzo IP o progetto di servizio di origine Verifica il nome del progetto per vm1.
Indirizzo IP di destinazione

Utilizza l'indirizzo IP esterno di vm2.

Seleziona la casella di controllo Questo è un indirizzo IP utilizzato in Google Cloud.

Indirizzo IP o progetto di servizio di destinazione Verifica il nome del progetto per vm2.

Il seguente snapshot della console Google Cloud mostra che il pacchetto di traccia è stato trasferito alla regola firewall default-deny-outgoing-ping.

Snapshot dell'interfaccia utente della console della traccia contenente il ping in uscita negato.
Istantanea dell'interfaccia utente della console della traccia contenente il ping in uscita negato

Esegui una seconda traccia dopo aver disabilitato la regola firewall default-deny-outgoing-ping

  1. Per consentire il test ping a vm2, disabilita temporaneamente la regola firewall VPC default-deny-outgoing-ping.
  2. Dopo l'aggiornamento della configurazione, esegui di nuovo la traccia.
  3. La traccia continua a non riuscire. Il pacchetto è stato ignorato a causa di questa regola firewall che nega un pacchetto ICMP in entrata all'indirizzo IP esterno di vm2.

Il seguente snapshot della console Google Cloud mostra che un pacchetto di traccia in entrata può passare attraverso Cloud NAT, ma non può raggiungere vm2 a causa della regola firewall menzionata in precedenza.

Snapshot dell'interfaccia utente della console della traccia che non riesce a raggiungere vm2.
Istantanea dell'interfaccia utente della console della traccia che non riesce a raggiungere vm2

Crea la regola firewall allow-ping-from-known-ranges

Per consentire il traffico in entrata nell'indirizzo IP esterno di vm2, configura una nuova regola firewall VPC chiamata allow-ping-from-known-ranges. Poiché consentire tutti i pacchetti ICMP in entrata nella tua rete VPC rappresenta un rischio per la sicurezza, specifica solo un piccolo insieme di intervalli di origine a cui è consentito inviare pacchetti ICMP all'indirizzo IP esterno di vm2.

Ai fini di questo tutorial, questo intervallo di origine include solo l'indirizzo IP esterno di vm1, ma controlla eventuali regole firewall o priorità delle regole esistenti per assicurarti che non sovrascrivano questa nuova regola. Inoltre, assicurati che nessuna regola di criterio firewall gerarchica prevalga su questa regola. Per maggiori dettagli, consulta la Panoramica dei criteri firewall gerarchici.

Utilizza i valori della tabella seguente per configurare la regola.

Campo regola firewall VPC Valore
Nome allow-ping-from-known-ranges
Rete Utilizza il nome della rete che contiene entrambe le VM.
Priorità 1000
Direzione del traffico In entrata
Azione in caso di corrispondenza Consenti
Obiettivi Seleziona Tutte le istanze nella rete.
Filtro di origine Intervalli IP
Intervalli IP di origine Utilizza l'indirizzo IP esterno di vm1.
Protocolli e porte specificati Seleziona la casella di controllo Altri protocolli, quindi inserisci icmp.

Esegui una terza traccia

Dopo aver creato la regola firewall allow-ping-from-known-ranges, invia nuovamente l'indirizzo IP esterno di vm2. Il ping funziona e il problema è stato risolto.

Un ping consentito tra due VM.
Un ping consentito tra due VM

Puoi verificare questo risultato eseguendo un'altra traccia sulla configurazione aggiornata contenente la nuova regola firewall. Questa volta, Connectivity Tests indica che il pacchetto è stato consegnato a vm2 e che la regola firewall corrispondente, allow-ping-from-known-ranges, consente un pacchetto ICMP in entrata all'indirizzo IP esterno di vm2.

Snapshot dell'interfaccia utente della console di una traccia riuscita in vm2.
Istantanea dell'interfaccia utente della console di una traccia riuscita in vm2

Esegui la pulizia

Se necessario, puoi disabilitare o eliminare qualsiasi delle seguenti risorse Google Cloud che hai creato per questo tutorial. Assicurati che non si tratti di risorse di produzione. Se decidi di disabilitare le risorse, consulta la pagina dei prezzi di Compute Engine e la pagina dei prezzi di tutto il networking per assicurarti che non ti vengano addebitati.

  1. Disabilita o elimina le regole firewall.
  2. Disabilita o elimina le VM.
  3. Elimina le subnet VPC.
  4. Elimina la rete VPC.

Passaggi successivi