
Embora a documentação do GCP afirme que os endereços IPv6 são suportados ao criar regras de firewall (https://cloud.google.com/vpc/docs/firewalls) Não consigo fazer isso acontecer. Deste documento:
- As regras de firewall suportam conexões IPv4. As conexões IPv6 também são suportadas em redes VPC com IPv6 ativado. Ao especificar uma origem para uma regra de entrada ou um destino para uma regra de saída por endereço, você pode especificar endereços ou blocos IPv4 ou IPv6 na notação CIDR.
- Cada regra de firewall pode conter intervalos IPv4 ou IPv6, mas não ambos.
Porém, quando tento criar uma regra de firewall com um endereço IPv6, recebo um erro e não me permite salvá-la, conforme mostrado na imagem abaixo.
O exemplo acima mostra dois exemplos que tentei, mas tentei com endereços únicos, com e sem blocos CIDR e assim por diante. E todos eles são recusados. Confirmei que a sub-rede VPC está com IPv6 ativado.
Estou esquecendo de algo?
Responder1
A GUI também não funciona para mim, mas consegui criar as regras de firewall com êxito com um comando gcloud equivalente.
Para testar, criei uma nova VPC, uma nova sub-rede e uma nova regra de firewall:
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)$