Score:4

GCP, basic IPv6 set up for Linux VM Instance

ธง cn

I'm trying to set up a simple VM in Google Cloud Platform that can ping ipv6.google.com successfully. I'm using these GCP docs regarding IPv6 support, including :

[NOTE: Edited/updated to provide full commands used]

Here's my simple and repeatable proof of concept:

  1. Within a project, create a VPC network
$ gcloud config set project my-test-project

$ gcloud compute networks create targetnet \
   --subnet-mode=custom --mtu=1460 --bgp-routing-mode=regional
  1. Create subnet with IPv6 support
$ 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
  1. Create an instance with IPv6 support
$ 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 
  1. Add a firewall rule to give SSH access to the instance
$ gcloud compute firewall-rules create target-ssh-home \
   --network targetnet --allow tcp:22 --source-ranges <my IPv4 addr>
  1. SSH to the instance, look at the network addresses & route:
$ 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
  1. Attempt to ping an external IPv6 resource:
$ 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

The docs indicate the firewall defaults should allow outgoing ICMP. Still, I've also tried adding firewall rules to allow ICMP (and every) service in various forms to see if that helped. This did not change the result. Also, I confirmed that GCP added a default IPv6 route for the network. (::/0).

According to the documentation, the GCP is to provide a /64 and the NIC should be assigned the first address from that range. I don't see that here. Is there something I need to do on the host to get that? Or is there something I've missed that is needed in GCP?

John Hanley avatar
cn flag
ตรวจสอบว่า VPC ของคุณมีเส้นทางเริ่มต้นของ IPv6 คุณช่วย ping **fe80::4001:aff:fe04:201** ได้ไหม ถ้าไม่ใช่ปัญหาอยู่ใน OS (กฎไฟร์วอลล์ OS เป็นต้น)
sirkus7 avatar
cn flag
ขอบคุณ @JohnHanley ไม่ ฉันไม่สามารถ ping การกระโดดครั้งถัดไปได้ ดังที่ฉันได้กล่าวไปแล้ว ฉันใช้อิมเมจเริ่มต้นของ Debian 10 ฉันยังไม่ได้เพิ่มกฎไฟร์วอลล์ และ ip6tables ไม่แสดงการปิดกั้นที่ฉันเห็น คุณรู้หรือไม่ว่าฉันควรมองหาสิ่งใดในระบบปฏิบัติการ
sirkus7 avatar
cn flag
ในกรณีที่ฉันพลาดบางสิ่งในคำอธิบายของฉัน ฉันอัปเดตโพสต์เพื่อรวมคำสั่งที่ฉันใช้สร้างแบบทดสอบ หวังว่านั่นอาจช่วยให้ใครบางคนระบุขั้นตอนที่ฉันพลาดไป
John Hanley avatar
cn flag
ลองสร้าง VM ใหม่ด้วยระบบปฏิบัติการอื่น หากคุณไม่สามารถ ping ในฮอปถัดไปได้ แสดงว่าคุณอาจมีปัญหาเกี่ยวกับระดับระบบปฏิบัติการ
Ray Foss avatar
cn flag
ฉันยังมีประสบการณ์ที่คล้ายกันใน ISP หลายแห่ง ssh over IPV6 ใช้งานได้หลังจากเปิดไฟร์วอลล์ แต่ดูเหมือนว่า ICMP จะถูกบล็อกอย่างถาวร เหตุใด ens4 ของคุณจึงมีคำนำหน้าเป็น 128 ในเมื่อซับเน็ต GCP คือ 96 และ VMs คือ 64 ฉันเพียงแค่ใช้เกตเวย์ทั้งหมดและใช้ลูปแบ็คสำหรับ IPv6 ในโหมดภายนอก เพื่อให้ SSH ชัดเจนผ่าน IPv6 ใช้งานได้
Score:3
ธง cn

ขณะนี้ยังไม่รองรับการเชื่อมต่อกับ Google API และบริการจาก VPC ผ่านที่อยู่ IPv6 ภายนอก ความพยายามในการ ping âipv6.google.comâ จาก Cloud VM ผ่าน IPv6 มักจะนำไปสู่การตอบสนอง ICMP ที่ไม่สามารถเข้าถึงได้
ฉันได้จำลองการตั้งค่าของคุณตามขั้นตอนที่คุณกล่าวถึง และได้รับข้อความเดียวกันว่า “ปลายทางไม่สามารถเข้าถึงได้: ไม่มีข้อผิดพลาดเส้นทาง” ขณะพยายาม ping ipv6.google.com แต่ฉันสามารถ ping ไซต์ IPv6 อื่นๆ เช่น â wikipedia.orgâค่อนข้างประสบความสำเร็จ

ป้อนคำอธิบายรูปภาพที่นี่

นอกจากนี้ หากต้องการใช้ VM กับเครือข่าย IPv6 ได้ดีที่สุด คุณสามารถเลือกรวม GCP เข้าด้วยกัน Load Balancing พร้อมรองรับ IPv6.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา