Utilizzo del Mirroring pacchetto

Puoi utilizzare Mirroring pacchetto per eseguire il mirroring del traffico da e verso determinate istanze di macchine virtuali (VM). Il traffico raccolto può aiutarti a rilevare le minacce alla sicurezza e a monitorare le prestazioni delle applicazioni. Per maggiori dettagli sul Mirroring pacchetto, vedi Mirroring dei pacchetti.

Il traffico sottoposto a mirroring viene inviato alle VM in cui hai installato il software appropriato. Per un elenco di fornitori che forniscono software, consulta Provider partner del Mirroring pacchetto.

Le sezioni seguenti descrivono come creare e gestire i criteri di mirroring dei pacchetti.

Limitazioni

  • Mirroring pacchetto non può eseguire il mirroring dei pacchetti per il traffico dei servizi pubblicati di Private Service Connect.

  • Per motivi di sicurezza, Mirroring pacchetto non esegue il mirroring dei pacchetti inviati all'intervallo di indirizzi IP link-local 169.254.0.0/16. Questo intervallo include le richieste di metadati da una VM al suo server di metadati.

  • L'utilizzo di un servizio LoadBalancer di Google Kubernetes Engine (GKE) come collezionatore di mirroring dei pacchetti non è supportato.

  • Se un criterio di mirroring dei pacchetti potrebbe essere applicato alle istanze del raccoglitore, Mirroring pacchetto le ignora e non ne esegue il mirroring del traffico.

Prima di iniziare

Prima di creare un criterio di mirroring dei pacchetti, devi disporre delle autorizzazioni appropriate. Devi anche creare un bilanciatore del carico di rete passthrough interno da utilizzare come destinazione del collector. Questo bilanciatore del carico di rete passthrough interno richiede un gruppo di istanze in modo che il servizio di backend possa utilizzare le VM come destinazioni del raccoglitore.

Autorizzazioni

Per creare e gestire i criteri di mirroring dei pacchetti, Google Cloud fornisce due ruoli correlati a Mirroring pacchetto:

  • compute.packetMirroringUser concede agli utenti l'autorizzazione per creare, aggiornare ed eliminare i criteri di mirroring dei pacchetti. Per utilizzare Mirroring pacchetto, gli utenti devono disporre di questo ruolo nei progetti in cui creano i criteri di mirroring dei pacchetti.

  • compute.packetMirroringAdmin concede agli utenti l'autorizzazione per eseguire il mirroring di determinate risorse. Anche se gli utenti hanno l'autorizzazione per creare un criterio di mirroring dei pacchetti, devono comunque disporre dell'autorizzazione per eseguire il mirroring delle origini correlate. Utilizza questo ruolo nei progetti in cui il proprietario di un'impostazione potrebbe non disporre di altre autorizzazioni, ad esempio negli scenari VPC condiviso.

Per ulteriori informazioni sull'utilizzo dei ruoli IAM, consulta Gestire l'accesso a progetti, cartelle e organizzazioni nella documentazione IAM.

Creare istanze del raccoglitore

Mirroring pacchetto richiede un gruppo di istanze di collector. Per dettagli sui gruppi di istanze, consulta la seguente documentazione: Creare un nuovo modello di istanza e Creare un gruppo di istanze gestite in una singola zona.

Crea un bilanciatore del carico interno per Mirroring pacchetto

Per abilitare Mirroring pacchetto, devi disporre di un bilanciatore del carico di rete passthrough interno che possa fungere da raccoltore di mirroring dei pacchetti. Il bilanciatore del carico di rete passthrough interno deve soddisfare i seguenti requisiti:

  • Per la regola di forwarding del bilanciatore del carico di rete passthrough interno deve essere attivato il mirroring pacchetto al momento della creazione della regola. Questo stato non può essere modificato dopo la creazione della regola. Puoi utilizzare questa regola di forwarding per raccogliere il traffico IPv4 e IPv6.
  • Il bilanciatore del carico di rete passthrough interno si trova nella stessa regione delle istanze di cui esegui il mirroring.
  • Il servizio di backend del bilanciatore del carico di rete passthrough interno deve utilizzare un'affinità sessione di NONE (hash di 5 tuple).
  • Il servizio di backend del bilanciatore del carico di rete passthrough interno deve avere la sottoimpostazione del backend disabilitata.

Se le istanze del collector non sono configurate per rispondere al controllo di integrità che hai configurato con il servizio di backend, il controllo di integrità può non riuscire. In questo caso, i pacchetti possono comunque essere sottoposti a mirroring.

Per ulteriori informazioni su come creare un bilanciatore del carico di rete passthrough interno per Mirroring pacchetto, consulta Creare un bilanciatore del carico per il mirroring dei pacchetti.

Configurazione delle regole del firewall

Per preparare la rete VPC per il traffico di Mirroring pacchetto, segui questi passaggi:

  • Assicurati che le istanze del raccoglitore nel gruppo di istanze del bilanciatore del carico possano ricevere traffico dalle istanze sottoposte a mirroring o dagli intervalli di indirizzi IPv4 e IPv6 delle istanze sottoposte a mirroring. Ad esempio, per consentire alle istanze del raccoglitore di ricevere traffico IPv4 da qualsiasi VM, crea una regola firewall con un intervallo di indirizzi IPv4 di origine di 0.0.0.0/0. Per consentire alle istanze del collector di ricevere traffico IPv6 da qualsiasi VM, crea una regola firewall con un intervallo di indirizzi IPv6 di origine ::/0. Per impedire al traffico di internet di raggiungere le istanze del collector, assegna solo indirizzi IPv4 e IPv6 interni.

  • Assicurati che nessuna altra regola firewall sostituisca la regola di uscita implicita in modo che il traffico sottoposto a mirroring possa fluire dalle istanze di origine alle istanze di destinazione che fanno parte del bilanciatore del carico di rete passthrough interno.

  • Assicurati che le istanze del raccoglitore possano ricevere traffico dai sistemi di controllo di integrità di Google Cloud. Ad esempio, per il traffico IPv4, crea una regola firewall che consenta il traffico alle istanze del raccoglitore dagli intervalli di indirizzi IPv4 130.211.0.0/22 e 35.191.0.0/16. Per il traffico IPv6, crea una regola firewall che consenta il traffico verso le istanze del raccoglitore dall'intervallo di indirizzi IPv6 2600:2d00:1:b029::/64.

  • Se vuoi testare Mirroring pacchetto inviando manualmente il traffico in uscita da una o più istanze sottoposte a mirroring, crea una regola firewall che consenta il traffico SSH a queste istanze. Ad esempio, per consentire le connessioni SSH alle istanze sottoposte a mirroring da tutti gli indirizzi IPv4 e IPv6, consenti il traffico in entrataTCP alla porta 22 da qualsiasi indirizzo IPv4 e IPv6 di origine. Se vuoi consentire solo le connessioni SSH avviate da un determinato intervallo di indirizzi IPv4 o IPv6, specifica questo intervallo di indirizzi IPv4 o IPv6 come intervallo di origine per la regola del firewall. Per ulteriori informazioni su come testare il bilanciatore del carico di rete passthrough interno, consulta Eseguire il test del bilanciamento del carico.

Se non esistono regole che consentano questo traffico, consulta Utilizzare le regole del firewall VPC per crearle. Per ulteriori informazioni sulla creazione di regole firewall per un bilanciatore del carico di rete passthrough interno, consulta Configurazione delle regole firewall nella documentazione di Cloud Load Balancing.

Crea un criterio di mirroring dei pacchetti

Per iniziare a eseguire il mirroring del traffico verso e da istanze specifiche, crea un criterio di mirroring pacchetto. Google Cloud esegue il mirroring di qualsiasi istanza che corrisponde almeno a una delle origini specificate.

Console

  1. Nella console Google Cloud, vai alla pagina Mirroring dei pacchetti.

    Vai a Mirroring pacchetti

  2. Fai clic su Crea criterio.

  3. Inserisci le seguenti informazioni sulle norme e poi fai clic su Continua.

    1. Inserisci un nome per il criterio.
    2. Seleziona la regione che include le origini sottoposte a mirroring e la destinazione del collector. Il criterio di mirroring dei pacchetti deve trovarsi nella stessa regione di origine e destinazione.
    3. Ignora il campo Priority (Priorità). Al momento non è possibile regolarlo.
    4. Seleziona Attivato per attivare il criterio al momento della creazione.
  4. Seleziona le reti VPC in cui si trovano la destinazione del raccoglitore e l'origine sottoposta a mirroring, quindi fai clic su Continua.

    L'origine e la destinazione possono trovarsi nella stessa rete VPC o in reti VPC diverse.

    • Se si trovano nella stessa rete VPC, seleziona Origini e destinazione sottoposte a mirroring nella stessa rete VPC e poi seleziona la rete.
    • Se si trovano in reti diverse, seleziona Origine sottoposta a mirroring e destinazione raccoglitore in reti VPC in peering separate, quindi la rete di origine sottoposta a mirroring e la rete di destinazione del raccoltore.
  5. Seleziona le origini sottoposte a mirroring e fai clic su Continua. Puoi selezionare una o più origini. Google Cloud esegue il mirroring di qualsiasi istanza che corrisponde almeno a una delle origini selezionate.

    • Subnet: seleziona una o più subnet. Google Cloud esegue il mirroring delle istanze esistenti e future in sottoreti selezionate.
    • Tag di rete: specifica uno o più tag di rete. Google Cloud esegue il mirroring delle istanze che hanno almeno uno dei tag specificati.
    • Nome istanza: seleziona le istanze specifiche da eseguire il mirroring.
  6. Seleziona un bilanciatore del carico di rete passthrough interno configurato per Mirroring pacchetto e poi fai clic su Continua. Google Cloud invia il traffico sottoposto a mirroring alle istanze dietro il bilanciatore del carico di rete passthrough interno.

    Per VPC condiviso, se la destinazione del raccoglitore e le origini sottoposte a mirroring si trovano nella stessa rete VPC condivisa, devi selezionare il progetto in cui si trova la destinazione del raccoglitore e poi un bilanciatore del carico.

  7. Per selezionare il traffico di cui eseguire il mirroring:

    • Per eseguire il mirroring di tutto il traffico IPv4, seleziona Mirroring di tutto il traffico IPv4 (impostazione predefinita).
    • Per eseguire il mirroring di tutto il traffico IPv4 e IPv6, seleziona Esegui il mirroring del traffico filtrato e poi svolgi i seguenti passaggi:
      • Seleziona Consenti tutti i protocolli.
      • Seleziona Consenti tutti gli intervalli IPv4 (0.0.0.0/0).
      • Seleziona Consenti tutti gli intervalli IPv6 (::/0).
      • Seleziona Consenti il traffico in entrata e in uscita.
    • Per limitare il traffico sottoposto a mirroring, seleziona Esegui il mirroring del traffico filtrato e poi procedi nel seguente modo:

      • Per limitare il traffico sottoposto a mirroring in base al protocollo, seleziona Consenti protocolli specifici e poi i protocolli. Se non vedi un protocollo per cui vuoi eseguire il mirroring del traffico, selezionate Altri protocolli e poi inserisci il protocollo nel campo Altri protocolli. I valori validi sono tcp, udp, esp, ah, ipip, sctp o un numero di protocollo IANA. Per specificare ICMP per IPv6, inserisci 58.

      • Per i filtri per intervallo IPv4:

        • Per eseguire il mirroring di tutto il traffico IPv4, seleziona Consenti tutti gli intervalli IPv4 (0.0.0.0/0).
        • Per eseguire il mirroring del traffico per intervalli di indirizzi IPv4 specifici, seleziona Consenti intervalli IPv4 specifici. Nel campo Intervalli IPv4, digita un singolo intervallo di indirizzi IPv4, quindi premi Invio. Puoi aggiungere più intervalli IPv4 premendo Invio dopo ogni intervallo digitato.
      • Per i filtri per l'intervallo IPv6:

        • Per filtrare tutto il traffico IPv6, seleziona Nessuno.
        • Per eseguire il mirroring di tutto il traffico IPv6, seleziona Consenti tutti gli intervalli IPv6 (::/0).
        • Per eseguire il mirroring del traffico per intervalli di indirizzi IPv6 specifici, seleziona Consenti intervalli IPv6 specifici. Nel campo Intervalli IPv6, digita un singolo intervallo di indirizzi IPv6 e premi Invio. Puoi aggiungere più intervalli IPv6 premendo Invio dopo ogni intervallo digitato.
  8. Seleziona la Direzione del traffico del traffico di cui vuoi eseguire il mirroring.

  9. Per creare il criterio di mirroring dei pacchetti, fai clic su Invia.

gcloud

Per creare un criterio di mirroring dei pacchetti, utilizza il comando packet-mirrorings create.

gcloud compute packet-mirrorings create POLICY_NAME \
    --region=REGION \
    --network=NETWORK_NAME \
    --collector-ilb=FORWARDING_RULE_NAME \
    [--mirrored-subnets=SUBNET,[SUBNET,...]] \
    [--mirrored-tags=TAG,[TAG,...]] \
    [--mirrored-instances=INSTANCE,[INSTANCE,...]] \
    [--filter-cidr-ranges=CIDR_RANGE,[CIDR_RANGE,...]] \
    [--filter-protocols=PROTOCOL,[PROTOCOL,...]] \
    [--filter-direction=DIRECTION]

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti.
  • REGION: la regione in cui si trovano le origini e la destinazione del collector sottoposte a mirroring.
  • NETWORK_NAME: la rete in cui si trovano le origini messe in mirroring.
  • FORWARDING_RULE_NAME: il nome della regola di forwarding configurata come collettore di mirroring. Google Cloud invia tutto il traffico sottoposto a mirroring al bilanciatore del carico di rete passthrough interno associato.
  • SUBNET: il nome di una o più subnet da eseguire il mirroring. Puoi specificare più sottoreti utilizzando un elenco separato da virgole. Google Cloud esegue il mirroring delle istanze esistenti e future nella subnet.
  • TAG: uno o più tag di rete. Google Cloud esegue il mirroring delle istanze con il tag di rete. Puoi fornire più tag utilizzando un elenco separato da virgole.
  • INSTANCE: l'ID completo di una o più istanze da eseguire il mirroring. Puoi fornire più istanze utilizzando un elenco separato da virgole.
  • CIDR_RANGE: uno o più intervalli CIDR IPv4 o IPv6 da mirrorare. Se non vengono specificati intervalli CIDR, viene eseguito il mirroring di tutto il traffico IPv4 che corrisponde ai protocolli specificati. Se non vengono specificati né intervalli CIDR né protocolli, viene eseguito il mirroring di tutto il traffico IPv4. Per eseguire il mirroring di tutto il traffico IPv4 e IPv6, utilizza 0.0.0.0/0,::/0. Puoi includere intervalli CIDR IPv4 e IPv6. Puoi fornire più intervalli utilizzando un elenco separato da virgole.
  • PROTOCOL: uno o più protocolli da eseguire il mirroring. I valori validi sono tcp, udp, icmp, esp, ah, ipip, sctp o un numero di protocollo IANA. Se non vengono specificati protocolli, tutto il traffico corrispondente agli intervalli CIDR specificati viene sottoposto a mirroring. Se non vengono specificati né protocolli né intervalli CIDR, viene eseguito il mirroring di tutto il traffico IPv4. Per specificare ICMP per IPv6, utilizza 58. Puoi specificare più protocolli utilizzando un elenco separato da virgole.
  • DIRECTION: la direzione del traffico da eseguire il mirroring rispetto alla VM. Per impostazione predefinita, è impostato su both, il che significa che viene eseguito il mirroring sia del traffico in entrata sia di quello in uscita. Puoi limitare i pacchetti da acquisire specificando ingress per acquisire solo i pacchetti in entrata o egress per acquisire solo i pacchetti in uscita.

Terraform

Puoi utilizzare una risorsa Terraform per creare un criterio di mirroring dei pacchetti.

resource "google_compute_packet_mirroring" "default" {
  region      = "europe-west1"
  name        = "my-mirroring"
  description = "My packet mirror"
  network {
    url = google_compute_network.ilb_network.id
  }
  collector_ilb {
    url = google_compute_forwarding_rule.default.id
  }
  mirrored_resources {
    tags = ["foo"]
    instances {
      url = google_compute_instance.vm_test.id
    }
  }
  filter {
    ip_protocols = ["tcp"]
    cidr_ranges  = ["0.0.0.0/0"]
    direction    = "BOTH"
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

API

Per creare un criterio di mirroring dei pacchetti, effettua una richiesta POST al metodo packetMirrorings.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings
{
  "name": "POLICY_NAME",
  "enable": "ENABLED",
  "network": {
    "url": "NETWORK_URL"
  },
  "priority": PRIORITY,
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "tags": [
      "TAG"
    ],
    "instances": [
      {
        "url": "INSTANCE"
      }
    ]
  },
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "filter": {
    "IPProtocols": [
      "PROTOCOL"
    ],
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "direction": "DIRECTION"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui creare il criterio.
  • REGION: la regione in cui si trovano le origini sottoposte a mirroring e la destinazione del raccoltore.
  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti.
  • ENABLED: indica se questo criterio viene applicato o meno. Le opzioni sono TRUE e FALSE. TRUE è il valore predefinito.
  • NETWORK_URL: l'URL della rete in cui si trovano le fonti messe in mirroring.
  • PRIORITY: la priorità della regola di forwarding, che viene utilizzata per risolvere i casi in cui sono presenti più regole corrispondenti. L'intervallo valido è compreso tra 0 e 65.535 e il valore predefinito è 1000.
  • SUBNET_URL: l'URL di una sottorete da eseguire il mirroring. Google Cloud riflette le istanze esistenti e future nella subnet. Puoi fornire più sottoreti utilizzando un elenco separato da virgole.
  • TAG: un tag di rete. Google Cloud esegue il mirroring delle istanze che hanno il tag di rete. Puoi fornire più tag utilizzando un elenco separato da virgole.
  • INSTANCE: l'ID completo di un'istanza da eseguire il mirroring. Puoi fornire più istanze utilizzando un elenco separato da virgole.
  • FORWARDING_RULE_URL: l'URL di una regola di forwarding configurata come raccolta tramite mirroring. Google Cloud invia tutto il traffico sottoposto a mirroring al bilanciatore del carico di rete passthrough interno associato.
  • PROTOCOL: uno o più protocolli. Le opzioni sono tcp, udp, icmp, esp, ah, ipip, sctp o un numero di protocollo IANA. Se non vengono specificati protocolli, tutto il traffico che corrisponde agli intervalli CIDR specificati viene sottoposto a mirroring. Se non vengono specificati né intervalli CIDR né protocolli, viene eseguito il mirroring di tutto il traffico IPv4. Per specificare ICMP per IPv6, inserisci 58. Puoi fornire più protocolli utilizzando il seguente modulo: "icmp", "udp".
  • CIDR_RANGE: uno o più intervalli CIDR IPv4 o IPv6 da mirrorare. Se non vengono specificati intervalli CIDR, viene eseguito il mirroring di tutto il traffico IPv4 che corrisponde ai protocolli specificati. Se non vengono specificati né intervalli CIDR né protocolli, viene eseguito il mirroring di tutto il traffico IPv4. Per eseguire il mirroring di tutto il traffico IPv4 e IPv6, utilizza "0.0.0.0/0", "::/0". Puoi includere intervalli CIDR IPv4 e IPv6. Puoi fornire più intervalli CIDR utilizzando il seguente formato: "192.0.2.0/24", "2001:0DB8::/32".
  • PROTOCOL: uno o più protocolli da eseguire il mirroring.
  • DIRECTION: la direzione del traffico di cui eseguire il mirroring. Le opzioni sono INGRESS, EGRESS o BOTH. Il valore predefinito è BOTH.

Verificare il mirroring dei pacchetti

Per verificare che le istanze del collector ricevano correttamente il traffico sottoposto a mirroring, puoi utilizzare tcpdump.

  1. Connettiti a un'istanza del raccoglitore.

  2. Se il comando tcpdump non è disponibile, installalo.

  3. Identifica la tua interfaccia di rete:

    ip address
    

    Nell'elenco delle interfacce di rete, individua il nome associato all'indirizzo IPv4 interno principale dell'istanza del tuo collector, ad esempio ens4.

  4. Inizia ad analizzare i pacchetti:

    sudo tcpdump -i INTERFACE_NAME -f "host IP_ADDRESS"
    

    Sostituisci quanto segue:

    • INTERFACE_NAME: il nome dell'interfaccia che hai identificato nel passaggio 3.
    • IP_ADDRESS: l'indirizzo IPv4 di una VM di origine mirrorata.
  5. Per eseguire il test, invia traffico dalla VM di origine sottoposta a mirroring, ad esempio inviando un ping ICMP. Nell'output di tcpdump, verifica di poter vedere il traffico previsto.

Modificare un criterio di mirroring dei pacchetti

Puoi aggiornare un criterio esistente per modificare dettagli come le origini sottoposte a mirroring o le destinazioni dei collezionisti.

Console

  1. Nella console Google Cloud, vai alla pagina Mirroring dei pacchetti.

    Vai a Mirroring pacchetti

  2. Nell'elenco dei criteri di mirroring dei pacchetti, fai clic su quello che vuoi modificare.

  3. Nella pagina dei dettagli del criterio, fai clic su Modifica.

  4. Modifica i campi che vuoi aggiornare. La console segue lo stesso flussi dei passaggi per la creazione di una norma. Per informazioni su ciascun campo, consulta Creare un criterio di mirroring dei pacchetti.

gcloud

Per aggiornare un criterio di mirroring dei pacchetti esistente, utilizza il comando packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME [--async] \
  [--collector-ilb=FORWARDING_RULE_NAME] [--description=DESCRIPTION] [--enable] \
  [--filter-direction=DIRECTION] [--region=REGION] \
  [--add-filter-cidr-ranges=[CIDR_RANGE,...] | --clear-filter-cidr-ranges \
    | --remove-filter-cidr-ranges=[CIDR_RANGE,...] \
    | --set-filter-cidr-ranges=[CIDR_RANGE,...]] \
  [--add-filter-protocols=[PROTOCOL,...] | --clear-filter-protocols \
    | --remove-filter-protocols=[PROTOCOL,...] \
    | --set-filter-protocols=[PROTOCOL,...]] \
  [--add-mirrored-instances=[INSTANCE,...] | --clear-mirrored-instances \
    | --remove-mirrored-instances=[INSTANCE,...] \
    | --set-mirrored-instances=[INSTANCE,...]] \
  [--add-mirrored-subnets=[SUBNET,...] | --clear-mirrored-subnets \
    | --remove-mirrored-subnets=[SUBNET,...] \
    | --set-mirrored-subnets=[SUBNET,...]] \
  [--add-mirrored-tags=[TAG,...] | --clear-mirrored-tags \
    | --remove-mirrored-tags=[TAG,...] | --set-mirrored-tags=[TAG,...]]

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di mirroring pacchetto da modificare.
  • FORWARDING_RULE_NAME: il nome della regola di inoltro configurata come raccoglitore. Google Cloud invia tutto il traffico sottoposto a mirroring al bilanciatore del carico di rete passthrough interno associato.
  • DESCRIPTION: una descrizione del criterio di mirroring pacchetto.
  • DIRECTION: la direzione del traffico a cui applicare il criterio di mirroring dei pacchetti. Le opzioni sono egress, ingress o both.
  • REGION: la regione in cui si trova il criterio.
  • CIDR_RANGE: uno o più intervalli CIDR IPv4 o IPv6 da eseguire il mirroring. Se non vengono specificati intervalli CIDR, viene eseguito il mirroring di tutto il traffico IPv4 che corrisponde ai protocolli specificati. Se non vengono specificati né intervalli CIDR né protocolli, viene eseguito il mirroring di tutto il traffico IPv4. Per eseguire il mirroring di tutto il traffico IPv4 e IPv6, utilizza 0.0.0.0/0,::/0. Puoi includere intervalli CIDR IPv4 e IPv6. Puoi fornire più intervalli utilizzando un elenco separato da virgole.
  • PROTOCOL: uno o più protocolli da eseguire il mirroring. I valori validi sono tcp, udp, icmp, esp, ah, ipip, sctp o un numero di protocollo IANA. Se non vengono specificati protocolli, il traffico corrispondente agli intervalli CIDR specificati viene sottoposto a mirroring. Se non vengono specificati né protocolli né intervalli CIDR, viene eseguito il mirroring di tutto il traffico IPv4. Per specificare ICMP per IPv6, utilizza 58. Puoi specificare più protocolli utilizzando un elenco separato da virgole.
  • INSTANCE: l'ID completo di una o più istanze VM da eseguire il mirroring. Puoi fornire più istanze utilizzando un elenco separato da virgole.
  • SUBNET: una o più sottoreti. Puoi fornire più sottoreti utilizzando un elenco separato da virgole. Google Cloud riflette le istanze esistenti e future nella subnet.
  • TAG: uno o più tag di rete. Puoi fornire più tag utilizzando un elenco separato da virgole.

API

Per aggiornare un criterio di mirroring dei pacchetti, invia una richiesta POST al metodo packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "name": "POLICY_NAME",
  "description": "DESCRIPTION",
  "priority": "PRIORITY",
  "collectorIlb": {
    "url": "FORWARDING_RULE_URL"
  },
  "mirroredResources": {
    "subnetworks": [
      {
        "url": "SUBNET_URL"
      }
    ],
    "instances": [
      {
        "url": "INSTANCE_URL"
      }
    ],
    "tags": [
      "NETWORK_TAGS"
    ]
  },
  "filter": {
    "cidrRanges": [
      "CIDR_RANGE"
    ],
    "IPProtocols": [
      "PROTOCOL"
    ],
    "direction": "DIRECTION"
  },
  "enable": "ENABLED"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il dispositivo.
  • REGION: la regione del criterio di mirroring dei pacchetti.
  • POLICY_NAME: il nome del criterio di mirroring pacchetto da modificare.
  • DESCRIPTION: una descrizione facoltativa del criterio.
  • PRIORITY: la priorità del criterio, utilizzata per risolvere i casi in cui sono presenti più criteri corrispondenti. Il valore predefinito è 1000. L'intervallo valido è compreso tra 0 e 65.535.
  • FORWARDING_RULE_URL: l'URL di una regola di forwarding con Mirroring pacchetto abilitato. Google Cloud invia tutto il traffico sottoposto a mirroring al bilanciatore del carico di rete passthrough interno associato.
  • SUBNET_URL: l'URL di una sottorete. Google Cloud esegue il mirroring delle istanze esistenti e future nella subnet. Puoi fornire più sottoreti utilizzando un elenco separato da virgole.
  • INSTANCE_URL: l'URL di un'istanza VM da eseguire il mirroring. Puoi fornire più istanze utilizzando un elenco separato da virgole.
  • NETWORK_TAGS: un tag di rete. Google Cloud esegue il mirroring delle istanze che hanno uno o più tag di rete. Puoi fornire più tag utilizzando un elenco separato da virgole.
  • CIDR_RANGE: uno o più intervalli CIDR IPv4 o IPv6 da eseguire il mirroring. Se non vengono specificati intervalli CIDR, viene eseguito il mirroring di tutto il traffico IPv4 che corrisponde ai protocolli specificati. Se non vengono specificati né intervalli CIDR né protocolli, viene eseguito il mirroring di tutto il traffico IPv4. Per eseguire il mirroring di tutto il traffico IPv4 e IPv6, utilizza "0.0.0.0/0", "::/0". Puoi includere intervalli CIDR IPv4 e IPv6. Puoi fornire più intervalli CIDR utilizzando il seguente formato: "192.0.2.0/24", "2001:DB8::/32".
  • IP_PROTOCOL: uno o più protocolli. Le opzioni sono tcp, udp, icmp, esp, ah, ipip, sctp o un numero di protocollo IANA. Se non vengono specificati protocolli, tutto il traffico che corrisponde agli intervalli CIDR specificati viene sottoposto a mirroring. Se non vengono specificati né intervalli CIDR né protocolli, viene eseguito il mirroring di tutto il traffico IPv4. Per specificare ICMP per IPv6, utilizza 58. Puoi fornire più protocolli utilizzando il seguente modulo: "icmp", "udp".
  • DIRECTION: la direzione del traffico di cui eseguire il mirroring. Le opzioni sono INGRESS, EGRESS o BOTH. Il valore predefinito è BOTH.
  • ENABLED: indica se il criterio è attivo o meno. Le opzioni sono TRUE o FALSE.

Elenca i criteri di mirroring dei pacchetti

Puoi elencare i criteri di mirroring dei pacchetti per visualizzare quelli esistenti.

Console

  • Nella console Google Cloud, vai alla pagina Mirroring dei pacchetti.

    Vai a Mirroring pacchetti

    La console Google Cloud elenca tutte le norme del progetto.

gcloud

Per elencare i criteri di mirroring dei pacchetti nel tuo progetto o per una regione specifica, utilizza il comando packet-mirrorings list.

gcloud compute packet-mirrorings list \
  [--filter="region:(REGION...)"]

Sostituisci REGION con il nome della regione contenente i criteri da elencare.

API

Per elencare i criteri di mirroring dei pacchetti esistenti nel progetto, effettua una richiesta GET al metodo packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/packetMirrorings

Sostituisci PROJECT_ID con l'ID del tuo progetto.

Per elencare i criteri di mirroring dei pacchetti esistenti per una determinata regione, effettua una richiesta GET al metodo packetMirrorings.list.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto che contiene le norme da elencare.
  • REGION: la regione contenente i criteri da elencare.

Descrivere un criterio di mirroring dei pacchetti

Puoi descrivere un criterio di mirroring dei pacchetti per visualizzare dettagli come i suoi filtri.

Console

  1. Nella console Google Cloud, vai alla pagina Mirroring dei pacchetti.

    Vai a Mirroring pacchetti

  2. Nell'elenco dei criteri di mirroring dei pacchetti, seleziona quello che vuoi visualizzare. La console Google Cloud mostra i dettagli del criterio selezionato.

gcloud

Per descrivere un criterio di mirroring dei pacchetti, utilizza il comando packet-mirrorings describe.

gcloud compute packet-mirrorings describe POLICY_NAME \
  --region=REGION \

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da descrive.
  • REGION: la regione in cui si trova il criterio.

API

Per descrivere un criterio di mirroring dei pacchetti, invia una richiesta GET al metodo packetMirrorings.get.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il criterio.
  • REGION: la regione in cui si trova il criterio.
  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da descrive.

Disattivare o attivare un criterio di mirroring pacchetto

Puoi disattivare o attivare un criterio di mirroring dei pacchetti per interrompere o avviare la raccolta del traffico sottoposto a mirroring.

Console

  1. Nella console Google Cloud, vai alla pagina Mirroring dei pacchetti.

    Vai a Mirroring pacchetti

  2. Dall'elenco dei criteri di mirroring dei pacchetti, seleziona quello da disattivare o attivare.

  3. Fai clic su Disattiva o Attiva.

  4. Conferma facendo clic su Disattiva o Attiva.

gcloud

Per disattivare un criterio di mirroring dei pacchetti, utilizza il comando packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --no-enable

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da disattivare o attivare.
  • REGION: la regione in cui si trova il criterio.

Per attivare un criterio di mirroring dei pacchetti, utilizza il comando packet-mirrorings update.

gcloud compute packet-mirrorings update POLICY_NAME \
  --region=REGION \
  --enable

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da disattivare o attivare.
  • REGION: la regione in cui si trova il criterio.

API

Per disattivare o attivare un criterio di mirroring dei pacchetti esistente, invia una richiesta PATCH al metodo packetMirrorings.patch.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME
{
  "enable": "FALSE|TRUE"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il criterio.
  • REGION: la regione in cui si trova il criterio.
  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da disattivare.

Eliminare un criterio di mirroring dei pacchetti

Puoi eliminare un criterio di mirroring dei pacchetti per rimuoverlo dal progetto. Dopo l'eliminazione di un criterio, Google Cloud interrompe il mirroring di tutto il traffico correlato al criterio.

Console

  1. Nella console Google Cloud, vai alla pagina Mirroring dei pacchetti.

    Vai a Mirroring pacchetti

  2. Dall'elenco dei criteri di mirroring dei pacchetti, seleziona quello che vuoi eliminare.

  3. Fai clic su Elimina.

  4. Conferma l'operazione facendo clic su Elimina.

gcloud

Per eliminare un criterio di mirroring dei pacchetti, utilizza il comando packet-mirrorings delete.

gcloud compute packet-mirrorings delete POLICY_NAME \
  --region=REGION \

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da eliminare.
  • REGION: la regione in cui si trova il criterio.

API

Per eliminare un criterio di mirroring dei pacchetti, invia una richiesta DELETE al metodo packetMirrorings.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/packetMirrorings/POLICY_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova il criterio.
  • POLICY_NAME: il nome del criterio di mirroring dei pacchetti da eliminare.
  • REGION: la regione in cui si trova il criterio.

Risoluzione dei problemi

Se il criterio di mirroring dei pacchetti non raccoglie il traffico sottoposto a mirroring previsto, controlla le seguenti configurazioni:

  • Verifica di avere regole firewall che consentano il traffico dalle istanze mirror alle istanze del raccoglitore.

  • Verifica che le origini sottoposte a mirroring includano o escludano le istanze da sottoporre a mirroring. Ad esempio, se specifichi una subnet come origine sottoposta a mirroring, tutte le istanze esistenti e future nella subnet vengono sottoposte a mirroring. Se specifichi i tag, vengono sottoposte a mirroring solo le istanze con tag corrispondenti.

  • Verifica che i filtri di mirroring dei pacchetti non siano troppo ampi o troppo ristretti. È possibile che tu abbia configurato involontariamente filtri per includere o escludere determinati tipi di traffico.

  • Se hai configurato un criterio di mirroring dei pacchetti per raccogliere il traffico IPv6, assicurati che le origini del traffico sottoposto a mirroring siano VM dual-stack collegate a sottoreti dual-stack.