Я пытаюсь настроить простую виртуальную машину в Google Cloud Platform, которая может проверять связь ipv6.google.com успешно. Я использую эти документы GCP относительно поддержки IPv6, в том числе:
[ПРИМЕЧАНИЕ: отредактировано / обновлено для предоставления полных используемых команд]
Вот мое простое и повторяемое доказательство концепции:
$ gcloud config set project my-test-project
$ gcloud compute networks create targetnet \
--subnet-mode=custom --mtu=1460 --bgp-routing-mode=regional
$ gcloud compute networks subnets create targetnet-1 \
--network=targetnet --range=10.9.9.0/24 \
--stack-type=IPV4_IPV6 --ipv6-access-type=EXTERNAL \
--region=us-west2
$ gcloud compute instances create test-1 \
--stack-type=IPV4_IPV6 --ipv6-network-tier=PREMIUM \
--subnet=targetnet-1 --zone=us-west2-a \
--image-family=debian-10 --image-project=debian-cloud \
--machine-type=e2-micro
$ gcloud compute firewall-rules create target-ssh-home \
--network targetnet --allow tcp:22 --source-ranges <my IPv4 addr>
$ ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 state UP qlen 1000
inet6 2600:1900:xxxx:xxxx:0:1::/128 scope global
valid_lft forever preferred_lft forever
inet6 fe80::4001:aff:fe04:2d2/64 scope link
valid_lft forever preferred_lft forever
$ ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2600:1900:xxxx:xxxx:0:1:: dev ens4 proto kernel metric 256 pref medium
fe80::/64 dev ens4 proto kernel metric 256 pref medium
default via fe80::4001:aff:fe04:201 dev ens4 proto ra metric 1024 expires 85sec pref medium
$ ping6 ipv6.google.com
PING ipv6.google.com(lax31s01-in-x0e.1e100.net (2607:f8b0:4007:80e::200e)) 56 data bytes
From fe80::4001:ff:fe00:0%ens4 (fe80::4001:ff:fe00:0%ens4): icmp_seq=1 Destination unreachable: No route
В документации указано, что по умолчанию брандмауэр разрешает исходящий ICMP. Тем не менее, я также попытался добавить правила брандмауэра, чтобы разрешить ICMP (и все) службы в различных формах, чтобы посмотреть, помогло ли это. Это не повлияло на результат. Кроме того, я подтвердил, что GCP добавила маршрут IPv6 по умолчанию для сети. (:: / 0).
Согласно документации, GCP должен предоставить / 64, а сетевой карте должен быть назначен первый адрес из этого диапазона. Я не вижу здесь этого.Что мне нужно сделать на хосте, чтобы это получить? Или я пропустил что-то необходимое в GCP?
Подключение к Google API и службам из VPC через внешние адреса IPv6 в настоящее время не поддерживается. Попытки выполнить эхо-запрос ipv6.google.com из Cloud VM через IPv6 часто приводят к недоступному получателю ответа ICMP.
Я воспроизвел вашу настройку с помощью упомянутых вами шагов, и я также получал ту же ошибку «Пункт назначения недоступен: нет маршрута» при попытке выполнить пи нг ipv6.google.com, однако мне удалось довольно успешно проверить связь с другими сайтами IPv6, такими как wikipedia.org.
Кроме того, для наилучшего использования виртуальных машин с сетью IPv6 вы можете предпочесть включение балансировки нагрузки GCP с поддержкой IPv6 .