
Obwohl in der GCP-Dokumentation angegeben wird, dass IPv6-Adressen bei der Erstellung von Firewall-Regeln unterstützt werden (https://cloud.google.com/vpc/docs/firewalls) Ich scheine es nicht hinzubekommen. Aus diesem Dokument:
- Firewallregeln unterstützen IPv4-Verbindungen. IPv6-Verbindungen werden auch in VPC-Netzwerken unterstützt, in denen IPv6 aktiviert ist. Wenn Sie eine Quelle für eine Eingangsregel oder ein Ziel für eine Ausgangsregel nach Adresse angeben, können Sie IPv4- oder IPv6-Adressen oder -Blöcke in CIDR-Notation angeben.
- Jede Firewall-Regel kann entweder IPv4- oder IPv6-Bereiche enthalten, jedoch nicht beide.
Wenn ich jedoch versuche, eine Firewall-Regel mit einer IPv6-Adresse zu erstellen, erhalte ich eine Fehlermeldung und kann sie nicht speichern, wie im Screenshot unten gezeigt.
Das obige Beispiel zeigt zwei Beispiele, die ich ausprobiert habe, aber ich habe es mit einzelnen Adressen, mit und ohne CIDR-Blöcke usw. versucht. Und sie wurden alle abgelehnt. Ich habe bestätigt, dass im VPC-Subnetz IPv6 aktiviert ist.
Übersehe ich etwas?
Antwort1
Die GUI funktioniert bei mir auch nicht, aber ich konnte die Firewall-Regeln mit einem entsprechenden gcloud-Befehl erfolgreich erstellen.
Zum Testen habe ich ein neues VPC, ein neues Subnetz und eine neue Firewall-Regel erstellt:
error@cloudshell:~ (strange-passage-193919)$ gcloud compute networks create ipv6test --project=strange-passage-193919 --subnet-mode=custom --mtu=1460 --bgp-routing-mode=regional
Created [https://www.googleapis.com/compute/v1/projects/strange-passage-193919/global/networks/ipv6test].
NAME SUBNET_MODE BGP_ROUTING_MODE IPV4_RANGE GATEWAY_IPV4
ipv6test CUSTOM REGIONAL
Instances on this network will not be reachable until firewall rules
are created. As an example, you can allow all internal traffic between
instances as well as SSH, RDP, and ICMP by running:
$ gcloud compute firewall-rules create <FIREWALL_NAME> --network ipv6test --allow tcp,udp,icmp --source-ranges <IP_RANGE>
$ gcloud compute firewall-rules create <FIREWALL_NAME> --network ipv6test --allow tcp:22,tcp:3389,icmp
error@cloudshell:~ (strange-passage-193919)$ gcloud compute networks subnets create ipv6test --project=strange-passage-193919 --range=10.16.0.0/20 --network=ipv6test --region=us-west2
Created [https://www.googleapis.com/compute/v1/projects/strange-passage-193919/regions/us-west2/subnetworks/ipv6test].
NAME REGION NETWORK RANGE STACK_TYPE IPV6_ACCESS_TYPE IPV6_CIDR_RANGE EXTERNAL_IPV6_CIDR_RANGE
ipv6test us-west2 ipv6test 10.16.0.0/20 IPV4_ONLY
error@cloudshell:~ (strange-passage-193919)$ gcloud compute networks subnets update ipv6test --project=strange-passage-193919 --stack-type=IPV4_IPV6 --ipv6-access-type=EXTERNAL --region=us-west2
Updated [https://www.googleapis.com/compute/v1/projects/strange-passage-193919/regions/us-west2/subnetworks/ipv6test].
error@cloudshell:~ (strange-passage-193919)$ gcloud compute --project=strange-passage-193919 firewall-rules create ruletest --direction=INGRESS --priority=1000 --network=ipv6test --action=ALLOW --rules=tcp:22 --source-ranges=2001:db8::/32
Creating firewall...⠹Created [https://www.googleapis.com/compute/v1/projects/strange-passage-193919/global/firewalls/ruletest].
Creating firewall...done.
NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED
ruletest ipv6test INGRESS 1000 tcp:22 False
error@cloudshell:~ (strange-passage-193919)$