GCP谷歌云IPv6配置完整教程 - 双栈网络启用指南(2026最新)

详细图文教程教你在GCP谷歌云上配置IPv6双栈网络,包括VPC创建、防火墙规则、实例部署全流程。香港区域IPv6延迟仅0.5ms!附真实测试案例和常见问题解答。

GCP谷歌云IPv6配置完整教程 - 双栈网络启用指南(2026最新)
Photo by Hal Gatewood / Unsplash

前言

经过大半天的研究和测试,成功在Google Cloud Platform(GCP)谷歌云上配置了IPv6双栈网络,香港区域的IPv6速度表现非常优秀!本教程将详细介绍如何在GCP上启用IPv6外部地址,包括VPC网络创建、子网配置、防火墙规则设置和双栈实例创建的完整流程。

适用场景

  • 需要为GCP虚拟机添加公网IPv6地址
  • 希望提升国际访问速度(特别是香港、台湾等亚洲区域)
  • 搭建需要IPv6支持的服务(如代理、CDN节点等)
  • 测试IPv6网络环境

重要提示:本教程配置的是外部IPv6地址(Premium Tier),可直接访问互联网。Google Cloud会自动分配/64的IPv6地址段。


完整配置教程:GCP IPv6双栈网络启用步骤

步骤一:创建支持IPv6的自定义VPC网络

在Google Cloud控制台中创建一个支持IPv6双栈的自定义VPC网络是第一步。

操作路径:控制台侧边栏 → VPC网络 → 创建VPC网络

IPv6的自定义VPC网络
IPv6的自定义VPC网络

基础配置参数

网络名称:可自定义,建议使用有意义的名称,比如:v4v6-dual-stack

最大传输单元(MTU):保持默认1460即可(适用于大多数场景)

VPC IPv6设置(重要):

  • 如果只需要外部IPv6(本教程配置的类型),可以跳过ULA内部IPv6范围设置
  • 如果需要内部IPv6,则需勾选"为此VPC网络配置ULA内部IPv6范围"并选择"自动"分配

子网创建模式:先临时选择自动模式,记录下你需要开启IPv6的区域对应的IPv4地址范围,比如:

  • 台湾区域 asia-east110.140.0.0/20
  • 香港区域 asia-east210.170.0.0/20(推荐,速度快)
  • 日本区域 asia-northeast110.146.0.0/20
  • 新加坡区域 asia-southeast110.148.0.0/20
IPv6的自定义VPC网络
IPv6的自定义VPC网络

配置自定义IPv6双栈子网

记录完地址后,将子网创建模式改为【自定义】,然后点击【添加子网】。

子网命名规范:建议使用区域简称,如hk-ipv6tw-ipv6等,方便后续管理。

重要:你想要在哪些区域启用IPv6,就需要为这些区域分别创建双栈子网。

区域选择:选择对应的GCP区域,本示例创建香港子网,选择asia-east2(香港)

IP栈类型:选择IPv4 和 IPv6(双栈)— 这是启用IPv6的关键设置

IPv4范围:填写刚才记录的对应区域IPv4地址,香港为10.170.0.0/20

  • 也可以自定义其他RFC1918私有地址段
  • 注意:确保所有子网的IPv4范围不重复

IPv6访问权限类型:选择外部(External)

  • 外部IPv6:使用全球单播地址(GUA),可访问公网,Google自动分配/64地址段
  • 内部IPv6:使用唯一本地地址(ULA),仅限VPC内部通信

其他设置保持默认即可,配置完成后点击右下角的完成按钮。

多区域子网配置

按照上述方法,为所有需要IPv6的区域分别创建双栈子网。常用的亚洲区域推荐配置:

  • 🇭🇰 香港 asia-east2(延迟低,推荐)
  • 🇹🇼 台湾 asia-east1
  • 🇯🇵 东京 asia-northeast1
  • 🇸🇬 新加坡 asia-southeast1
IPv6的自定义VPC网络
IPv6的自定义VPC网络

完成VPC网络创建

防火墙规则:稍后单独配置(下一步详细说明)

动态路由模式:选择单区域(Regional)— 适用于单区域部署,节省成本

点击页面底部的创建按钮,完成支持IPv6的VPC网络创建。

✅ 至此,你已经创建了一个支持IPv6双栈的自定义VPC网络!


步骤二:配置IPv6防火墙规则(重要)

Google Cloud默认会阻止所有IPv6入站流量,因此必须手动创建防火墙规则允许IPv6访问。

操作路径:VPC网络 → 选择刚创建的v4v6网络 → 防火墙标签页 → 添加防火墙规则

2.1 创建IPv4入站规则

规则名称v4-ingress-allow-all(或简写v4-in

日志记录:停用(可选,启用会产生额外费用)

网络:选择刚创建的v4v6 VPC网络

优先级1000(默认值)

流量方向入站(Ingress)

匹配时执行的操作允许(Allow)

目标网络中的所有实例

来源过滤条件IPv4 范围

来源IPv4范围0.0.0.0/0(允许所有IPv4地址访问)

协议和端口全部允许(或根据实际需求指定特定端口,如TCP:22,80,443)

image
IPv6的自定义VPC网络
安全提示:本教程为了简化配置使用了"全部允许",这样包括SSH(22)、HTTP(80)、HTTPS(443)等所有端口都是开放的。生产环境建议只开放必要的端口,例如仅允许 TCP:22,80,443 以提高安全性。

点击创建保存规则。

2.2 创建IPv4出站规则

重复上述步骤,创建IPv4出站规则,参数与入站规则相同,仅需将流量方向改为出站(Egress)。

规则名称v4-egress-allow-all(或简写v4-out

2.3 创建IPv6入站规则(关键)

IPv6防火墙配置与IPv4类似,但需要注意IPv6地址格式。

规则名称v6-ingress-allow-all(或简写v6-in

其他参数与IPv4规则相同,仅需修改:

来源过滤条件:改为IPv6 范围

来源IPv6范围::/0(注意是两个英文冒号+斜杠+0,代表所有IPv6地址)

image
IPv6的自定义VPC网络

2.4 创建IPv6出站规则

最后创建IPv6出站规则:

规则名称v6-egress-allow-all(或简写v6-out

流量方向出站(Egress)

目标IPv6范围::/0

防火墙规则配置完成

完成后,你应该有4条防火墙规则(IPv4入站/出站 + IPv6入站/出站):

image
防火墙规则(IPv4入站/出站 + IPv6入站/出站)

✅ 防火墙配置完成!现在可以创建支持IPv6的双栈虚拟机实例了。


步骤三:创建GCP IPv6双栈虚拟机实例

创建支持IPv6的GCP虚拟机实例与普通实例基本相同,关键是配置网络接口使用我们刚创建的双栈VPC网络。

操作路径:Compute Engine → VM实例 → 创建实例

配置网络接口

在创建实例页面的底部,展开高级选项网络网络接口

重要:默认的网络接口只支持IPv4,需要删除并重新配置:

image
创建GCP IPv6双栈虚拟机实例

点击删除移除默认网络接口,然后点击添加网络接口创建新的双栈接口。

双栈网络接口配置

网络:选择之前创建的v4v6双栈VPC网络

子网:系统会自动列出该网络下的子网,选择你想部署实例的区域对应的子网(如香港选择hk-ipv6子网)

IP栈类型:选择IPv4 和 IPv6(双栈)这是获得IPv6地址的关键!

主要内部IPv4地址:临时(自动分配)或预留静态地址

外部IPv4地址:根据需求选择(可选择"无"以节省成本,仅使用IPv6)

外部IPv6地址:自动分配(/96地址段)

配置完成后点击完成按钮。

image
创建GCP IPv6双栈虚拟机实例

完成实例创建

其他配置(机器类型、操作系统、磁盘等)按照常规方式选择,完成后点击创建按钮。

等待几分钟后,实例创建完成。在虚拟机实例列表中,可以看到该实例同时拥有:

  • ✅ 内部IPv4地址
  • ✅ 外部IPv4地址(如果配置了)
  • 外部IPv6地址(/96地址段)

步骤四:验证IPv6连接

4.1 SSH登录并检查IPv6配置

通过SSH登录到虚拟机后,使用以下命令检查IPv6配置:

# 查看网络接口和IPv6地址
ip -6 addr show

# 测试IPv6网络连接
ping6 google.com
ping6 2001:4860:4860::8888  # Google DNS IPv6

# 使用curl测试IPv6(强制使用IPv6)
curl -6 ip.sb
curl -6 ifconfig.co

4.2 在线IPv6连通性测试

可以使用以下在线工具测试IPv6全球连通性:

4.3 DD系统后IPv6配置

重要提示:如果你使用DD脚本重装系统,部分系统可能无法自动获取IPv6地址。

如果DD后没有IPv6,可以尝试:

# 查看网卡名称
ip a
# 手动获取IPv6地址(将ens4替换为你的网卡名)
dhclient -6 ens4
# 或者重启网络服务
systemctl restart networking
# 验证IPv6地址
ip -6 addr show

如何判断IPv6是否配置成功?

运行 ip a 后,查看你的主网卡(通常是ens4),如果看到类似这样的输出:

inet6 2600:1900:xxxx:xxxx::/128 scope global dynamic

说明IPv6已经成功配置!其中:

  • 2600:1900:... 开头的是GCP分配的外部IPv6地址
  • scope global 表示这是全球可路由的地址
  • fe80::... 开头的是本地链路地址,这是正常的

测试IPv6连接

# 测试IPv6网络
ping6 google.com
curl -6 ip.sb

如果能正常返回结果,说明IPv6完全可用!

实际测试案例(香港区域):

king@hk:~$ ping6 google.com
PING google.com (2404:6800:4005:81a::200e) 56 data bytes
64 bytes from hkg12s26-in-x0e.1e100.net: icmp_seq=1 ttl=122 time=0.713 ms
64 bytes from hkg12s26-in-x0e.1e100.net: icmp_seq=2 ttl=122 time=0.673 ms

从测试结果可以看到:

  • ✅ 成功解析并连接到Google的IPv6服务器
  • ✅ 延迟仅0.5-0.7ms,香港区域IPv6性能非常优秀
  • ✅ 连接到香港本地节点(hkg12s26),路由优化良好

常见问题解答(FAQ)

Q1: GCP IPv6地址是免费的吗?

A: 是的,GCP的IPv6地址是免费的,不收取额外费用。但需要注意,IPv6流量会按照正常的网络流量计费。

Q2: 所有GCP区域都支持IPv6吗?

A: 是的,所有GCP区域都支持IPv6配置,但建议优先选择亚洲区域(香港、台湾、日本、新加坡)以获得更好的延迟表现。

Q3: 可以只使用IPv6,不使用IPv4吗?

A: 理论上可以,但不推荐。建议保持双栈配置,确保最大兼容性。如果要节省成本,可以不分配外部IPv4地址。

Q4: IPv6防火墙必须配置吗?

A: 是的!GCP默认阻止所有IPv6入站流量,必须手动创建防火墙规则才能通过IPv6访问实例。

Q5: 已有实例如何添加IPv6?

A: 参考下面的UPDATE部分,可以为现有实例添加IPv6支持,无需重新创建。

Q6: GCP的IPv6地址是静态的还是动态的?

A: GCP的IPv6地址通过DHCPv6动态分配(标记为dynamic),但有以下特点:

  • 实例运行期间保持不变:重启、关停再启动,IPv6地址都不会改变
  • 类似静态行为:虽然标记为dynamic,但实际表现类似静态IP
  • 变更情况:只有删除实例或更换VPC网络时,IPv6地址才会改变
  • 无需预留:不像静态IPv4需要单独预留,IPv6是自动分配且稳定的

所以在实际使用中,可以把它当作准静态IP使用,适合长期部署的服务。

Q7: 如何获取真正的静态IPv6地址?

A: GCP目前的IPv6实现机制如下:

  • 没有传统意义的"静态IPv6预留"功能:不像IPv4可以单独预留静态外部IP
  • 自动分配但持久:IPv6地址由VPC子网自动分配,实例存在期间保持不变
  • 实际效果等同静态:只要不删除实例或更换网络,IPv6地址就永远不会变
  • 成本优势:这种方式完全免费,不像IPv4静态地址需要额外付费

最佳实践

  • 创建实例后记录IPv6地址,用于DNS配置或服务绑定
  • 避免频繁删除重建实例,这会导致IPv6地址改变
  • 如需迁移,建议采用"添加新实例 → 配置 → 切换流量 → 删除旧实例"的方式

总结:GCP IPv6配置要点

创建自定义VPC网络:选择自定义模式,配置双栈子网
配置双栈子网:IP栈类型选择"IPv4和IPv6",IPv6访问权限选择"外部"
设置防火墙规则:必须配置IPv6入站/出站规则,否则无法访问
创建双栈实例:网络接口选择双栈VPC,IP栈类型选择双栈
验证连接:使用ping6和curl测试IPv6连通性

通过本教程,你已经成功在GCP上配置了IPv6双栈网络!香港等亚洲区域的IPv6性能表现优秀,特别适合需要国际访问的应用场景。


补充:为现有GCP实例添加IPv6支持

如果你已经有正在运行的IPv4实例,不想重新创建,可以通过以下方法为现有实例添加IPv6支持。

为已有实例启用IPv6的步骤:

  1. 关停实例:在Compute Engine控制台,选择要添加IPv6的实例,点击右侧的三个点菜单(⋮),选择"关停"(注意:必须完全关停实例才能修改网络配置,不是暂停)
  2. 修改实例配置:实例状态变为"已停止"后,点击实例名称进入详情页,然后点击顶部的"修改"按钮
  3. 更换网络接口
    • 滚动到"网络接口"部分
    • 点击现有网络接口的"删除"按钮
    • 点击"添加网络接口",选择之前创建的双栈VPC网络和子网
    • 注意:首次可能只能选择"仅IPv4",这是正常的
  4. 第一次保存:选择"仅IPv4",点击"完成",然后点击页面底部的"保存"
  5. 第二次修改:保存后等待几秒,再次点击"编辑",这时进入网络接口设置,IP栈类型就可以选择"IPv4和IPv6(双栈)"了
  6. 保存并启动:选择双栈后保存,然后启动实例
  7. 获取IPv6地址
    • 某些系统(特别是DD后的系统)可能无法自动获取IPv6
    • 需要手动触发DHCPv6或重启多次
    • 使用ip a命令查看网卡名称(通常是ens4、eth0等)
  8. 手动获取IPv6:如果启动后没有IPv6地址,运行以下命令:
# 手动获取IPv6地址(替换ens4为你的网卡名)
sudo dhclient -6 ens4
​
# 或者重启网络服务
sudo systemctl restart networking
​
# 验证IPv6地址
ip -6 addr show
curl -6 ip.sb

提示:部分系统需要多次重启才能正常获取IPv6地址,这是正常现象,耐心等待即可。


有关现在谷歌云的免费试用计划可以看看这篇

2026云服务免费层对比:AWS/Azure/GCP/DigitalOcean/Oracle
实测对比 AWS、Oracle、GCP、Azure 与 DigitalOcean 的免费试用与永久免费方案,包含注册流程、真实扣费案例与避坑技巧

相关推荐阅读


如果本教程对你有帮助,欢迎分享给更多需要的朋友!有任何问题欢迎在评论区讨论交流。