Adressgruppen für Firewallrichtlinien konfigurieren


In dieser Anleitung wird beschrieben, wie Sie Adressengruppen für Firewallrichtlinien in Ihrem Netzwerk erstellen und konfigurieren. Es wird ein Beispiel für das Erstellen eines VPC-Netzwerks (Virtual Private Cloud) mit Subnetzen, das Erstellen einer projektbezogenen Adressgruppe, das Einrichten einer Firewallrichtlinie, die die Adressgruppe mit Firewallregeln verwendet, und dann die Firewallregeln testet. Weitere Informationen finden Sie unter Adressgruppen für Firewallrichtlinien.

Ziele

In diesem Anleitung werden die folgenden Aufgaben erläutert:

  • Zwei benutzerdefinierte VPC-Netzwerke mit Subnetzen erstellen.
  • Drei VM-Instanzen (zwei Nutzer-VMs in separaten Subnetzen eines VPC-Netzwerks und eine Ersteller-VM in einem zweiten VPC-Netzwerk) erstellen. Alle VMs werden ohne externe IP-Adresse erstellt.
  • Installieren Sie den Apache-Server auf der Ersteller-VM.
  • VPC-Netzwerk-Peering erstellen.
  • Erstellen Sie einen Cloud Router und ein Cloud NAT-Gateway, mit denen die Ersteller-VM auf das öffentliche Internet zugreifen kann.
  • Erstellen Sie eine projektbezogene Adressgruppe.
  • Erstellen Sie eine globale Netzwerk-Firewallrichtlinie mit folgenden Regeln:
    • Lassen Sie SSH-Verbindungen von Identity-Aware Proxy (IAP) zu den VMs zu.
    • Lassen Sie mithilfe der Adressgruppe auf Projektebene Traffic von der zulässigen Nutzer-VM zur Ersteller-VM zu.
  • Die Verbindung testen

Das folgende Diagramm zeigt den Traffic zwischen Ersteller- und Nutzer-VMs in der us-central1-Region innerhalb von zwei benutzerdefinierten VPC-Netzwerken. Globale Netzwerk-Firewallrichtlinien verwenden projektbezogene Adressgruppenregeln, um eingehenden Traffic zwischen den VMs vm-consumer-allowed und vm-producer zuzulassen. Der Traffic zwischen der vm-consumer-blocked-VM und der vm-producer-VM wird abgelehnt, da jede VM eine implizite Firewallregel für eingehenden Traffic hat, die jeden Traffic ablehnt.

Eine globale Netzwerk-Firewallrichtlinie, die eingehenden Traffic von einem Subnetz zu einer Ziel-VM in einem anderen VPC-Netzwerk zulässt.
Eine globale Firewallrichtlinie, die eingehenden Traffic von einem Subnetz zu einer Ziel-VM in einem anderen VPC-Netzwerk zulässt (zum Vergrößern klicken).

Vorbereitung

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Aktivieren Sie die Compute Engine API für Ihr Projekt.
  7. Sie benötigen die Rolle „Compute Network Admin“ (roles/compute.networkAdmin).
  8. Aktivieren Sie die Identity-Aware Proxy API für Ihr Projekt.
  9. Wenn Sie lieber mit der Befehlszeile arbeiten möchten, installieren Sie das Google Cloud CLI. Informationen zum Konzept und zur Installation des Tools finden Sie in der gcloud-CLI-Übersicht.

    Hinweis: Wenn Sie die Google Cloud CLI noch nicht ausgeführt haben, initialisieren Sie Ihr gcloud CLI-Verzeichnis mit dem gcloud init-Befehl.

Nutzer-VPC-Netzwerk mit Subnetzen erstellen

In diesem Abschnitt erstellen Sie ein Nutzer-VPC-Netzwerk mit zwei IPv4-Subnetzen: subnet-consumer-allowed und subnet-consumer-blocked.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie für Name vpc-consumer ein.

  4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  5. Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest:

    • Name: subnet-consumer-allowed
    • Region: us-central1
    • IPv4-Bereich: 192.168.10.0/29
  6. Klicken Sie auf Fertig.

  7. Klicken Sie auf Subnetz hinzufügen und geben Sie folgende Konfigurationsparameter an:

    • Name: subnet-consumer-blocked
    • Region: us-central1
    • IPv4-Bereich: 192.168.20.0/29
  8. Klicken Sie auf Fertig.

  9. Klicken Sie auf Erstellen.

gcloud

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

  2. Führen Sie den folgenden Befehl aus, um ein VPC-Netzwerk zu erstellen:

    gcloud compute networks create vpc-consumer \
      --subnet-mode=custom
    
  3. Klicken Sie im Dialogfeld Cloud Shell autorisieren auf Autorisieren.

  4. Führen Sie folgenden Befehl aus, um ein Subnetz zu erstellen:

    gcloud compute networks subnets create subnet-consumer-allowed \
      --network=vpc-consumer \
      --region=us-central1 \
      --range=192.168.10.0/29
    
  5. Führen Sie folgenden Befehl aus, um ein weiteres Subnetz zu erstellen:

    gcloud compute networks subnets create subnet-consumer-blocked \
      --network=vpc-consumer \
      --region=us-central1 \
      --range=192.168.20.0/29
    

Erstellen Sie ein Ersteller-VPC-Netzwerk mit Subnetz.

In diesem Abschnitt erstellen Sie ein Ersteller-VPC-Netzwerk mit einem IPv4-Subnetz.

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie für Name vpc-producer ein.

  4. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  5. Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest:

    • Name: subnet-vpc-producer
    • Region: us-central1
    • IPv4-Bereich: 172.16.10.0/29
  6. Klicken Sie auf Fertig.

  7. Klicken Sie auf Erstellen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um ein VPC-Netzwerk zu erstellen:

    gcloud compute networks create vpc-producer \
      --subnet-mode=custom
    
  2. Führen Sie folgenden Befehl aus, um das Subnetz zu erstellen:

    gcloud compute networks subnets create subnet-vpc-producer \
      --network=vpc-producer \
      --region=us-central1 \
      --range=172.16.10.0/29
    

Cloud Router und Cloud NAT-Gateway erstellen

Damit die vm-producer-VM auf das öffentliche Internet zugreifen kann, erstellen Sie einen Cloud Router und ein Cloud NAT-Gateway.

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

    Zur Seite "Cloud NAT"

  2. Klicken Sie auf Erste Schritte oder NAT-Gateway erstellen.

  3. Geben Sie als Gatewayname nat-gateway-addressgrp ein.

  4. Wählen Sie als NAT-Typ Öffentlich aus.

  5. Geben Sie im Bereich Cloud Router wählen folgende Konfigurationsparameter an:

    • Netz: vpc-producer
    • Region: us-central1 (lowa)
    • Cloud Router: Klicken Sie auf Neuen Router erstellen.
      1. Geben Sie für Name router-addressgrp ein.
      2. Klicken Sie auf Erstellen.
  6. Klicken Sie auf Erstellen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um einen Cloud Router zu erstellen:

    gcloud compute routers create router-addressgrp \
      --network=vpc-producer \
      --region=us-central1
    
  2. Führen Sie folgenden Befehl aus, um ein Cloud NAT-Gateway zu erstellen:

    gcloud compute routers nats create nat-gateway-addressgrp \
      --router=router-addressgrp \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

VMs erstellen

Erstellen Sie in jedem Subnetz des VPC-Netzwerks, das Sie im vorherigen Abschnitt erstellt haben, VMs ohne externe IP-Adressen.

VM für das vom Nutzer zugelassene VPC-Netzwerk erstellen

Erstellen Sie eine VM im subnet-consumer-allowed-Subnetz.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie für Name vm-consumer-allowed ein.

  3. Wählen Sie bei Region die Option us-central1 (Iowa) aus.

  4. Maximieren Sie Erweiterte Optionen und dann Netzwerk.

  5. Maximieren Sie im Abschnitt Netzwerkschnittstellen den Bereich Standard und geben Sie folgende Konfigurationsparameter an:

    • Netz: vpc-consumer
    • Subnetzwerk: subnet-consumer-allowed IPv4 (192.168.10.0/29)
    • Externe IPv4-Adresse: Keine
  6. Klicken Sie auf Fertig.

  7. Klicken Sie auf Erstellen.

gcloud

gcloud compute instances create vm-consumer-allowed \
     --network=vpc-consumer \
     --zone=us-central1-a \
     --stack-type=IPV4_ONLY \
     --no-address \
     --subnet=subnet-consumer-allowed

VM für das vom Nutzer blockierte VPC-Netzwerk erstellen

In diesem Abschnitt erstellen Sie eine VM im subnet-consumer-blocked-Subnetz.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie für Name vm-consumer-blocked ein.

  3. Wählen Sie bei Region die Option us-central1 (Iowa) aus.

  4. Maximieren Sie Erweiterte Optionen und dann Netzwerk.

  5. Maximieren Sie im Abschnitt Netzwerkschnittstellen den Bereich Standard und geben Sie folgende Konfigurationsparameter an:

    • Netz: vpc-consumer
    • Subnetzwerk: subnet-consumer-blocked IPv4 (192.168.20.0/29)
    • Externe IPv4-Adresse: Keine
  6. Klicken Sie auf Fertig.

  7. Klicken Sie auf Erstellen.

gcloud

gcloud compute instances create vm-consumer-blocked \
    --network=vpc-consumer \
    --zone=us-central1-a \
    --stack-type=IPV4_ONLY \
    --no-address \
    --subnet=subnet-consumer-blocked

VM für das Ersteller-VPC-Netzwerk erstellen

Erstellen Sie eine VM im Subnetz subnet-vpc-producer und installieren Sie einen Apache-Server darauf.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie für Name vm-producer ein.

  3. Wählen Sie bei Region die Option us-central1 (Iowa) aus.

  4. Maximieren Sie Erweiterte Optionen und dann Netzwerk.

  5. Maximieren Sie im Abschnitt Netzwerkschnittstellen den Bereich Standard und geben Sie folgende Konfigurationsparameter an:

    • Netz: vpc-producer
    • Subnetzwerk: subnet-vpc-producer IPv4 (172.16.10.0/29)
  6. Klicken Sie auf Fertig.

  7. Maximieren Sie den Bereich Verwaltung.

  8. Geben Sie im Abschnitt Automatisierung das folgende Skript in das Feld Startskript ein:

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      # Read VM network configuration:
      md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
      vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
      filter="{print \$NF}"
      vm_network="$(curl $md_vm/network-interfaces/0/network \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      vm_zone="$(curl $md_vm/zone \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      # Apache configuration:
      echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
      tee /var/www/html/index.html
      systemctl restart apache2
    

    Das vorherige Skript stellt einen Apache-Webserver in dieser VM bereit und startet ihn.

  9. Klicken Sie auf Erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um eine Ersteller-VM zu erstellen:

  gcloud compute instances create vm-producer \
      --network=vpc-producer \
      --zone=us-central1-a \
      --stack-type=IPV4_ONLY \
      --no-address \
      --subnet=subnet-vpc-producer \
      --image-project=debian-cloud \
      --image-family=debian-10 \
      --metadata=startup-script='#! /bin/bash
        apt-get update
        apt-get install apache2 -y
        a2ensite default-ssl
        a2enmod ssl
        # Read VM network configuration:
        md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
        vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
        filter="{print \$NF}"
        vm_network="$(curl $md_vm/network-interfaces/0/network \
        -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
        vm_zone="$(curl $md_vm/zone \
        -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
        # Apache configuration:
        echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
        tee /var/www/html/index.html
        systemctl restart apache2'

Erstellen Sie eine VPC-Netzwerk-Peering-Verbindung

Verwenden Sie VPC-Netzwerk-Peering, um die VPC-Netzwerke vpc-consumer und vpc-producer im selben Projekt privat zu verbinden. Mit VPC-Netzwerk-Peering sind Verbindungen über interne IP-Adressen zwischen zwei VPC-Netzwerken möglich, unabhängig davon, ob sie zum selben Projekt oder zur selben Organisation gehören.

Peering von vpc-consumer mit vpc-producer

Um das VPC-Netzwerk-Peering erfolgreich einzurichten, müssen Sie die Peering-Verknüpfung für die Netzwerke vpc-consumer und vpc-producer separat konfigurieren.

Console

So erstellen Sie das VPC-Netzwerk-Peering zwischen den Netzwerken vpc-consumer und vpc-producer:

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerk-Peering auf.

    Zum VPC-Netzwerk-Peering

  2. Klicken Sie auf Verbindung erstellen.

  3. Klicken Sie auf Weiter.

  4. Geben Sie im Feld Name peering-cp ein.

  5. Wählen Sie unter Mein VPC-Netzwerk die Option vpc-consumer.

  6. Wählen Sie unter VPC-Netzwerkname die Option vpc-producer.

  7. Klicken Sie auf Erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um ein VPC-Netzwerk-Peering zwischen vpc-consumer und vpc-producer zu erstellen:

gcloud compute networks peerings create peering-cp \
    --network=vpc-consumer \
    --peer-network=vpc-producer \
    --stack-type=IPV4_ONLY
keine übereinstimmende Konfiguration vorhanden ist.

Peering zwischen dem vpc-producer-Netzwerk und dem vpc-consumer-Netzwerk

Console

So erstellen Sie ein VPC-Netzwerk-Peering zwischen vpc-producer und vpc-consumer:

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerk-Peering auf.

    Zum VPC-Netzwerk-Peering

  2. Klicken Sie auf Verbindung erstellen.

  3. Klicken Sie auf Weiter.

  4. Geben Sie im Feld Name peering-pc ein.

  5. Wählen Sie unter Mein VPC-Netzwerk die Option vpc-producer.

  6. Wählen Sie unter VPC-Netzwerkname die Option vpc-consumer.

  7. Klicken Sie auf Erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um ein VPC-Netzwerk-Peering zwischen vpc-producer und vpc-consumer zu erstellen:

gcloud compute networks peerings create peering-pc \
    --network=vpc-producer \
    --peer-network=vpc-consumer \
    --stack-type=IPV4_ONLY

Globale Netzwerk-Firewallrichtlinie zum Aktivieren von IAP erstellen

Wenn Sie IAP aktivieren möchten, erstellen Sie eine globale Netzwerk-Firewallrichtlinie und fügen eine Firewallregel hinzu. IAP ermöglicht den Administratorzugriff auf die VM-Instanzen.

Die Firewallregel hat die folgenden Eigenschaften:

  • Eingehender Traffic aus dem IP-Bereich 35.235.240.0/20. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
  • Eine Verbindung zu allen Ports, die über die IAP-TCP-Weiterleitung zugänglich sein sollen, z. B. Port 22 für SSH.

Console

So gewähren Sie IAP-Zugriff auf alle VM-Instanzen in den Netzwerken vpc-consumer und vpc-producer:

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallrichtlinie erstellen.

  3. Geben Sie im Abschnitt Richtlinie konfigurieren unter Richtlinienname fw-policy-addressgrp ein.

  4. Wählen Sie unter Bereitstellungsbereich Global aus und klicken Sie auf Weiter.

  5. Klicken Sie im Abschnitt Regeln hinzufügen auf Regel hinzufügen, um Regeln für die Richtlinie zu erstellen.

    1. Geben Sie 100 als Priorität ein.
    2. Wählen Sie für Traffic-Richtung die Option Eingehend aus.
    3. Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.
    4. Wählen Sie im Abschnitt Ziel als Zieltyp Alle Instanzen im Netzwerk aus.
    5. Geben Sie im Abschnitt Quelle unter IP-Bereiche 35.235.240.0/20 ein.
    6. Wählen Sie im Bereich Protokolle und Ports Angegebene Protokolle und Ports aus.
    7. Markieren Sie das Kästchen TCP und geben Sie unter TCP 22 ein.
    8. Klicken Sie auf Erstellen.
  6. Klicken Sie auf Weiter.

  7. Wenn Sie ein VPC-Netzwerk mit der Richtlinie verknüpfen möchten, klicken Sie im Bereich Richtlinie mit VPC-Netzwerken verknüpfen auf Verknüpfen.

  8. Markieren Sie die Kästchen vpc-producer und vpc-consumer und klicken Sie dann auf Verknüpfen.

  9. Klicken Sie auf Weiter.

  10. Klicken Sie auf Erstellen.

gcloud

Führen Sie folgenden Befehl aus, um IAP den Zugriff auf die VM-Instanzen im Netzwerk vpc-producer zu ermöglichen:

  1. Führen Sie folgenden Befehl aus, um eine Firewallrichtlinie zu erstellen:

    gcloud compute network-firewall-policies create fw-policy-addressgrp \
        --global
    
  2. Führen Sie folgenden Befehl aus, um eine Firewallregel zu erstellen, die Traffic an alle Ziele zulässt und Logs aktiviert:

    gcloud compute network-firewall-policies rules create 100 \
        --firewall-policy=fw-policy-addressgrp \
        --direction=INGRESS \
        --action=ALLOW \
        --layer4-configs=tcp:22 \
        --src-ip-ranges=35.235.240.0/20 \
        --global-firewall-policy
    
  3. Führen Sie folgenden Befehl aus, um die Firewallrichtlinie mit dem Ersteller-VPC-Netzwerk zu verknüpfen:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy-addressgrp \
        --network=vpc-producer \
        --name=pol-association-vpc-producer \
        --global-firewall-policy
    
  4. Führen Sie folgenden Befehl aus, um die Firewallrichtlinie mit dem Nutzer-VPC-Netzwerk zu verknüpfen:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy-addressgrp \
        --network=vpc-consumer \
        --name=pol-association-vpc-consumer \
        --global-firewall-policy
    

Projektbezogene Adressgruppe erstellen

Erstellen Sie eine projektbezogene Adressgruppe, die die dem subnet-consumer-allowedSubnetz des VPC-Netzwerks vpc-consumer zugewiesene IP-Adresse verwendet.

Weitere Informationen zu projektbezogenen Adressgruppen finden Sie unter Adressgruppen in Firewallrichtlinien verwenden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.

    Zu „Adressgruppen“

  2. Klicken Sie auf Adressengruppe erstellen.

  3. Geben Sie im Feld Name address-group-pc ein.

  4. Wählen Sie unter Umfang die Option Global aus.

  5. Wählen Sie unter Typ die Option IPv4 aus.

  6. Geben Sie im Feld Capacity (Kapazität) den Wert 1000 ein.

  7. Geben Sie im Feld IP-Adressen 192.168.10.0/29 ein.

  8. Klicken Sie auf Erstellen.

gcloud

  1. Wenn Sie das Cloud Shell-Terminal zum ersten Mal verwenden, klicken Sie in der Google Cloud Console auf alt='' Cloud Shell aktivieren.

  2. Führen Sie den folgenden Befehl aus, um eine Adressgruppe zu erstellen:

    gcloud network-security address-groups create address-group-pc \
        --type IPv4 \
        --capacity 1000 \
        --location global
    
  3. Klicken Sie im Dialogfeld Cloud Shell autorisieren auf Autorisieren.

  4. Führen Sie den folgenden Befehl aus, um einer Adressgruppe ein Element hinzuzufügen:

    gcloud network-security address-groups add-items address-group-pc \
        --items 192.168.10.0/29 \
        --location global
    

    Beachten Sie, dass der IP-Bereich 192.168.10.0/29 dem subnet-consumer-allowed-Subnetz des VPC-Netzwerks vpc-consumer zugewiesen ist.

Firewallregel hinzufügen, um Traffic zu einer Adressgruppe zuzulassen

Wenn Sie eingehende Verbindungen von der vm-consumer-allowed-VM zulassen möchten, erstellen Sie eine Firewallregel, die die Adressgruppe auf Projektebene address-group-pc als Quell-IP-Adresse hinzufügt.

Console

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf fw-policy-addressgrp.

  3. Klicken Sie auf Regel erstellen.

  4. Geben Sie 150 als Priorität ein.

  5. Wählen Sie für Traffic-Richtung die Option Eingehend aus.

  6. Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.

  7. Wählen Sie für Logs Ein aus.

  8. Wählen Sie im Abschnitt Ziel als Zieltyp Alle Instanzen im Netzwerk aus.

  9. Wählen Sie im Abschnitt Quelle für Adressgruppe die Option address-group-pc (PROJECT_ID) aus und klicken Sie auf OK.

    Denken Sie daran, dass die IP-Adressgruppe address-group-pc einen IP-Bereich von 192.168.10.0/29 hat, der dem Subnetz subnet-consumer-allowed des VPC-Netzwerks des Nutzers zugewiesen ist.

  10. Klicken Sie auf Erstellen.

gcloud

Führen Sie folgenden Befehl aus, um die Firewallrichtlinie zu aktualisieren:

gcloud compute network-firewall-policies rules create 150 \
    --firewall-policy=fw-policy-addressgrp \
    --direction=INGRESS \
    --action=ALLOW \
    --src-address-groups=projects/PROJECT_ID/locations/global/addressGroups/address-group-pc \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

Verbindung testen

Testen Sie die Verbindung von der vm-consumer-allowed-VM zur vm-producer-VM und von der vm-consumer-blocked-VM zur vm-producer-VM.

Traffic von der vm-consumer-allowed-VM zur vm-producer-VM testen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Kopieren Sie in der Spalte Interne IP-Adresse der vm-producer-VM die interne IP-Adresse der VM.

  3. Klicken Sie in der Spalte Verbinden der vm-consumer-allowed-VM auf SSH.

  4. Klicken Sie im Dialogfeld SSH im Browser auf Autorisieren und warten Sie, bis die Verbindung hergestellt wurde.

  5. Führen Sie folgenden Befehl aus, um die Verbindung zu prüfen:

    curl INTERNAL_IP -m 2
    

    Ersetzen Sie INTERNAL_IP durch die IP-Adresse der vm-producer-VM.

    Die Ausgabe sieht in etwa so aus:

    <!doctype html><html><body><h1>Hello World!</h1></body></html>

  6. Schließen Sie das Dialogfeld SSH-in-browser.

gcloud

  1. Führen Sie den folgenden Befehl aus, um die interne IP-Adresse der vm-producer-VM aufzurufen:

    gcloud compute instances describe vm-producer \
       --zone=us-central1-a \
       --format='get(networkInterfaces[0].networkIP)'
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste. Notieren Sie sich die interne IP-Adresse Ihrer vm-producer-VM.

  2. Führen Sie den folgenden Befehl aus, um über SSH eine Verbindung zur vm-consumer-allowed-VM herzustellen:

    gcloud compute ssh vm-consumer-allowed \
       --zone=us-central1-a \
       --tunnel-through-iap
    
  3. Führen Sie folgenden Befehl aus, um die Verbindung zu prüfen:

    curl INTERNAL_IP -m 2
    

    Ersetzen Sie INTERNAL_IP durch die interne IP-Adresse der vm-producer-VM.

    Die erwartete Antwort lautet:

    <!doctype html><html><body><h1>Hello World!</h1></body></html>

  4. Zum Beenden der SSH-Verbindung geben Sie exit ein.

Traffic von der vm-consumer-blocked-VM zur vm-producer-VM testen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Kopieren Sie in der Spalte Interne IP-Adresse der vm-producer-VM die interne IP-Adresse der VM.

  3. Klicken Sie in der Spalte Verbinden der vm-consumer-blocked-VM auf SSH.

  4. Klicken Sie im Dialogfeld SSH im Browser auf Autorisieren und warten Sie, bis die Verbindung hergestellt wurde.

  5. Führen Sie folgenden Befehl aus, um die Verbindung zu prüfen:

    curl INTERNAL_IP -m 2
    

    Ersetzen Sie INTERNAL_IP durch die IP-Adresse der vm-producer-VM.

    Die Connection timed out-Nachricht wird erwartet, da jede VM eine implizite Firewallregel für eingehenden Traffic erstellt, die jeden Traffic ablehnt. Um Traffic zuzulassen, fügen Sie der Firewallrichtlinie eine Regel für eingehenden Traffic hinzu.

  6. Schließen Sie das Dialogfeld SSH-in-browser.

gcloud

  1. Führen Sie den folgenden Befehl aus, um die interne IP-Adresse der vm-producer-VM aufzurufen:

    gcloud compute instances describe vm-producer \
       --zone=us-central1-a \
       --format='get(networkInterfaces[0].networkIP)'
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste. Notieren Sie sich die interne IP-Adresse Ihrer vm-producer-VM.

  2. Führen Sie den folgenden Befehl aus, um über SSH eine Verbindung zur vm-consumer-blocked-VM herzustellen:

    gcloud compute ssh vm-consumer-blocked \
       --zone=us-central1-a \
       --tunnel-through-iap
    
  3. Führen Sie folgenden Befehl aus, um die Verbindung zu prüfen:

    curl INTERNAL_IP -m 2
    

    Ersetzen Sie INTERNAL_IP durch die interne IP-Adresse der vm-producer-VM.

    Die Connection timed out-Nachricht wird erwartet, da jede VM eine implizite Firewallregel für eingehenden Traffic erstellt, die jeden Traffic ablehnt. Wenn Sie den Traffic zulassen möchten, fügen Sie der Firewallrichtlinie eine Regel für eingehenden Traffic hinzu.

  4. Zum Beenden der SSH-Verbindung geben Sie exit ein.

Logs ansehen

Rufen Sie die Logs auf, um zu prüfen, ob die Firewallregeln der Adressgruppe auf den eingehenden Traffic angewendet wurden. Rufen Sie die Anmeldedaten mit den folgenden Schritten auf:

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf den Namen fw-policy-addressgrp.

  3. Wählen Sie in der Spalte Trefferzahl die Zahl für die Regel aus, die Sie unter Firewallregel hinzufügen, um Traffic zu einer Adressgruppe zuzulassen erstellt haben. Die Seite Log-Explorer wird geöffnet.

  4. Wenn Sie die auf den eingehenden Traffic angewendete Firewallregel aufrufen möchten, maximieren Sie das einzelne Log. Sie können sich die Regeldetails, die Anordnung und die Instanzdetails ansehen.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.

Führen Sie die folgenden Schritte aus, um die in dieser Anleitung erstellten Ressourcen zu löschen:

Adressgruppen löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf fw-policy-addressgrp.

  3. Klicken Sie im Bereich Firewallregeln das Kästchen der Firewallregel 150 an.

  4. Klicken Sie auf Löschen.

  5. Rufen Sie in der Google Cloud Console die Seite Adressgruppen auf.

    Zu „Adressgruppen“

  6. Klicken Sie im Bereich Adressgruppen das Kästchen neben address-group-pc an.

  7. Klicken Sie auf Löschen und dann erneut auf Löschen, um den Löschvorgang zu bestätigen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um die Firewallregel zu löschen, die mit der IP‑Adressgruppe address-group-pc verknüpft ist:

    gcloud compute network-firewall-policies rules delete 150 \
        --firewall-policy fw-policy-addressgrp \
        --global-firewall-policy
    
  2. Führen Sie den folgenden Befehl aus, um ein vorhandenes Element aus einer Adressgruppe zu entfernen:

    gcloud network-security address-groups remove-items address-group-pc \
        --items 192.168.10.0/29 \
        --location global
    
  3. Führen Sie den folgenden Befehl aus, um eine IP-Adressgruppe zu löschen:

    gcloud network-security address-groups delete address-group-pc \
        --location global
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

Firewallrichtlinie löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie im Bereich Netzwerk-Firewallrichtlinien auf den Namen fw-policy-addressgrp.

  3. Klicken Sie auf den Tab Verknüpfungen.

  4. Markieren Sie die Kästchen der vpc-producer-VM und der vpc-consumer-VM und klicken Sie dann auf Verknüpfung entfernen.

  5. Klicken Sie im Dialogfeld Firewallrichtlinien-Verknüpfung entfernen auf Entfernen.

  6. Klicken Sie neben dem Titel fw-policy-addressgrp auf Löschen.

  7. Klicken Sie im Dialogfeld Firewallrichtlinie löschen auf Löschen.

gcloud

  1. Heben Sie die Verknüpfung zwischen der Firewallrichtlinie und dem VPC-Produzentennetzwerk auf.

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-vpc-producer \
      --firewall-policy=fw-policy-addressgrp \
      --global-firewall-policy
    
  2. Entfernen Sie die Verknüpfung zwischen der Firewallrichtlinie und dem VPC-Nutzernetzwerk.

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-vpc-consumer \
      --firewall-policy=fw-policy-addressgrp \
      --global-firewall-policy
    
  3. Löschen Sie die Firewallrichtlinie.

    gcloud compute network-firewall-policies delete fw-policy-addressgrp \
        --global
    

VPC-Netzwerk-Peering löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerk-Peering auf.

    Zum VPC-Netzwerk-Peering

  2. Markieren Sie die Kästchen für peering-cp und peering-pc.

  3. Klicken Sie auf Löschen.

  4. Klicken Sie im Dialogfeld Möchten Sie 2 Peerings löschen? auf Löschen.

gcloud

  1. Führen Sie folgenden Befehl aus, um das Peering zwischen dem Nutzer-VPC und dem Produzenten-VPC zu löschen:

    gcloud compute networks peerings delete peering-cp \
        --network=vpc-consumer
    
  2. Führen Sie den folgenden Befehl aus , um das Peering zwischen Produzenten-VPC und Nutzer-VPC zu löschen:

    gcloud compute networks peerings delete peering-pc \
        --network=vpc-producer
    

Cloud NAT-Gateway und Cloud Router löschen

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Routers.

    Zu "Cloud Router"

  2. Markieren Sie das router-addressgrp-Kästchen.

  3. Klicken Sie auf Löschen.

  4. Klicken Sie im Dialogfeld router-addressgrp löschen auf Löschen.

Wenn Sie einen Cloud Router löschen, wird auch das zugehörige Cloud NAT-Gateway gelöscht.

gcloud

Führen Sie den folgenden Befehl aus, um den Cloud Router router-addressgrp zu löschen:

gcloud compute routers delete router-addressgrp \
    --region=us-central1

Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

Wenn Sie einen Cloud Router löschen, wird auch das zugehörige Cloud NAT-Gateway gelöscht.

VMs löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zur Seite „VM-Instanzen“

  2. Markieren Sie die Kästchen für die VMs vm-consumer-allowed, vm-consumer-blocked und vm-producer.

  3. Klicken Sie auf Löschen.

  4. Klicken Sie im Dialogfeld Möchten Sie 3 Instanzen löschen? auf Löschen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um alle VMs zu löschen:

    gcloud compute instances delete vm-consumer-allowed vm-consumer-blocked vm-producer \
        --zone=us-central1-a
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

Nutzer-VPC-Netzwerk und dessen Subnetze löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie in der Spalte Name auf vpc-consumer.

  3. Klicken Sie auf VPC-Netzwerk löschen.

  4. Klicken Sie im Dialogfeld Netzwerk löschen auf Löschen.

Wenn Sie eine VPC löschen, werden auch deren Subnetze gelöscht.

gcloud

  1. Führen Sie folgenden Befehl aus, um die Subnetze des VPC-Netzwerks vpc-consumer zu löschen:

    gcloud compute networks subnets delete subnet-consumer-allowed subnet-consumer-blocked \
       --region=us-central1
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

  2. Führen Sie folgenden Befehl aus, um das VPC-Netzwerk vpc-consumer zu löschen:

    gcloud compute networks delete vpc-consumer
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

Produzenten-VPC-Netzwerk und dessen Subnetz löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie in der Spalte Name auf vpc-producer.

  3. Klicken Sie auf VPC-Netzwerk löschen.

  4. Klicken Sie im Dialogfeld Netzwerk löschen auf Löschen.

Wenn Sie eine VPC löschen, werden auch deren Subnetze gelöscht.

gcloud

  1. Führen Sie folgenden Befehl aus, um das Subnetz des VPC-Netzwerks vpc-producer zu löschen:

    gcloud compute networks subnets delete subnet-vpc-producer \
       --region=us-central1
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

  2. Führen Sie folgenden Befehl aus, um das VPC-Netzwerk vpc-producer zu löschen:

    gcloud compute networks delete vpc-producer
    

    Wenn Sie dazu aufgefordert werden, drücken Sie zur Bestätigung Y und dann die Eingabetaste.

Nächste Schritte