应用场景


IPv4+IPv6 双栈

IPv4+IPv6双栈即一个网卡同时拥有IPv4和IPv6两个地址,兼顾IPv4和IPv6的优点。使用IPv4+IPv6 双栈,分别实现不同的业务场景。

假定客户环境如下:
  1. IPv4类型网络
    表 1. IPv4类型网络配置信息
    扁平网络 配置信息
    网卡 em1
    VLAN ID 2002
    IP地址段 192.168.2.2~192.168.2.254
    子网掩码 255.255.255.0
    网关 192.168.2.1
    DHCP服务IP 192.168.2.3
    DNS 223.5.5.5
  2. IPv6网络段
    表 2. IPv6网络段配置信息
    扁平网络 配置信息
    IP地址段 234e:0:4568::2~234e:0:4568:0:ffff:ffff:ffff:ffff
    前缀长度 64
    网关 234e:0:4568::1
    DHCP服务IP 234e:0:4568::3
    DNS 240c::6644
IPv4+IPv6双栈使用流程如下:
  1. 搭建IPv4网络环境。
  2. 添加IPv6类型的网络段。
  3. 添加IPv6类型的DNS。
  4. 使用双栈网络创建云主机。
  5. 获取云主机IPv6地址。
  6. 验证网络连通性。
  1. 搭建IPv4网络环境
    根据表 1规划,搭建一套IPv4类型的扁平网络。假定创建后的网络为:L3-扁平网络。此时,该网络为IPv4类型。
    说明: 也可先搭建IPv6类型的扁平网络,再添加IPv4类型的网络段。
  2. 添加IPv6类型的网络段

    为已有IPv4网络,添加IPv6类型的网络段,组成IPv4+IPv6双栈网络。

    扁平网络界面,点击该网络进入详情页,点击网络段,在网络段子页面添加IPv6网络段,可参考以下示例输入相应内容:
    • 网络段方法:支持IP范围和CIDR,本章节以IP范围为例
      说明: IPv6支持IP范围和CIDR方式输入IP地址,支持以下几种输入规范:
      • 冒分十六进制表示法:格式为X:X:X:X:X:X:X:X,其中每个X表示地址中的16b,以十六进制表示,例如:3456:0:3636:0:ffff:ffff:ffff:ffff
      • 0位压缩表示法:若IPv6地址中间包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:3456:0:5858::2
      • CIDR表示法:格式为X:X:X:X:X:X:X:X/N,其中N代表前缀长度。
    • 分配IP模式:选择Stateful-DHCP
      说明: IPv6支持以下几种分配IP方式:
      • Stateful-DHCP(默认):有状态地址DHCP配置,接口地址以及其他参数全部通过DHCP协议配置。IP范围方式仅支持此分配模式。
      • Stateless-DHCP: 无状态地址DHCP配置,接口地址通过路由通告的前缀和接口Mac地址自动推导出来,其他参数通过DHCP协议配置。
      • SLAAC:状态地址自动配置,接口地址通过路由通告的前缀自动推导出来,其他参数也附带在路由通告中。
    • 起始IP:设置起始IP,例如:234e:0:4568::2
    • 结束IP:设置结束IP,例如:234e:0:4568:0:ffff:ffff:ffff:ffff
    • 前缀长度:设置IP前缀长度,范围64~126,例如:64
    • 网关:设置网关,例如:234e:0:4568::1
    • DHCP服务IP:可选项,设置DHCP服务IP,例如:234e:0:4568::3
      说明:
      • 若首次创建三层网络并启用DHCP服务,或对已启用DHCP服务的三层网络添加首个网络段,支持自定义设置DHCP服务IP。
      • 若三层网络已存在DHCP服务IP,添加网络段不允许自定义设置DHCP服务IP。
      • DHCP服务IP可以在添加的IP范围之内或之外,但必须在添加的IP范围所属的CIDR内,且未被占用。
      • 起始IP和结束IP内的IP网络段,不允许包含链路本地地址 (169.254.0.0/16) 的IP地址。
      • 若留空不填,将由系统在添加的IP范围内随机指定。
    图 1所示,此时,该网络变成IPv4+IPv6双栈网络。
    图 1. 添加IPv6网络段


  3. 添加IPv6类型的DNS
    在该网络详情页的DNS子页面,点击添加DNS按钮,可参考以下示例输入相应内容:
    • 网络地址类型:选择IPv6
    • DNS:输入IPv6类型的DNS,例如:240c::6644
    图 2所示:
    图 2. 添加IPv6类型DNS


  4. 使用双栈网络创建云主机
    ZStack Cloud主菜单,点击资源中心 > 云资源池 > 云主机,进入云主机界面,点击创建云主机,在弹出的创建云主机界面,可参考以下示例输入相应内容:
    • 名称:设置云主机名称,例如:VM-双栈
    • 简介:可选项,可留空不填
    • 数量:输入2
    • 计算规格:选择云主机计算规格
    • 镜像:选择云主机镜像
    • 网络:选择IPv4+IPv6类型的三层网络

    点击确定按钮,创建两个双栈云主机(VM-双栈-1和VM-双栈-2)。

  5. 获取云主机IPv6地址
    ZStack Cloud默认为IPv4网络自动获取IP,但IPv6网络需要手动获取IP地址。分别打开两台云主机控制台,执行如下命令获取IP地址:
    -bash-4.2# dhclient -6 eth0  # eth0表示网卡名称
    说明: FE80开头的地址为链路本地地址,并非预期的地址。
    图 3所示:
    图 3. 获取IPv6地址


    本场景获取到的IP地址如下(ifconfig命令查找获取):
    • VM-双栈-1 IPv4地址:192.168.2.248
    • VM-双栈-1 IPv6地址:234e:0:4568::69:9fdc
    • VM-双栈-2 IPv4地址:192.168.2.183
    • VM-双栈-2 IPv6地址:234e:0:4568::23:c59b
  6. 验证网络连通性
    预期结果:
    • 登录VM-双栈-1,分别用IPv4和IPv6地址,能够ping通VM-双栈-2。
    • 登录VM-双栈-2,分别用IPv4和IPv6地址,能够ping通VM-双栈-1。
    验证网络连通性:登录VM-双栈-1,分别用IPv4和IPv6地址,检查是否能够ping通VM-双栈-2,如图 4所示:
    图 4. 验证网络连通性


    同理,登录VM-双栈-2,分别用IPv4和IPv6地址,能够ping通VM-双栈-1。
至此,扁平网络IPv4+IPv6 双栈的使用方法介绍完毕。

负载均衡

场景设定:在扁平网络场景下,假定用户的应用访问量很高,希望采用性能独享型负载均衡服务将流量分发到一组后端服务器上,从而提高业务的服务能力。由于业务需要,流量需按不同权重分发到不同的后端服务器。假定用户已满足以下条件:
  • 用户已部署一套最新的ZStack Cloud私有云环境。
  • 用户已部署扁平网络、管理网络。
  • 用户已创建3台业务云主机。
场景拓扑如图 1所示:
图 1. 扁平网络负载均衡 (性能独享型)


具体实践流程如下:
  1. 添加性能独享型负载均衡镜像。
  2. 创建负载均衡实例规格。
  3. 创建性能独享型负载均衡。
  4. 创建监听器。
  5. 添加后端服务器,并设置后端服务器权重。
  6. 场景验证。
  1. 添加性能独享型负载均衡镜像。

    ZStack Cloud主菜单,点击资源中心 > 网络服务 > 基础网络服务 > 负载均衡 > 镜像,进入镜像界面。点击添加镜像,弹出添加镜像界面。

    可参考以下示例输入相应内容:
    • 名称:设置镜像名称
    • 简介:可选项,备注相关信息
    • CPU架构:设置负载均衡镜像的CPU架构,创建负载均衡实例时将继承镜像的CPU架构
    • 镜像服务器:选择镜像服务器,用于存放镜像
    • 镜像路径:选择添加镜像的方式,支持添加URL路径或本地文件上传两种方式
      • URL:输入镜像的可下载路径
        ZStack Cloud提供专用的性能独享型负载均衡镜像(KVM)供用户使用,可直接从官网获取该镜像的下载地址。
        • 软件名称(VyOS版):ZStack-5.3.0-vRouter-VyOS-1.1.7.qcow2
        • 软件名称(openEuler版):ZStack-5.3.0-vRouter-openEuler-22.03.qcow2
        • 下载地址:点击这里
        说明:
        • ImageStore类型的镜像服务器支持断点续传功能,若由于网络波动等原因造成连接中断,该任务将自动暂停。
        • 用户可点击平台运维 > 消息日志 > 事件中心 > 当前任务 > 添加负载均衡镜像 > 操作,对该任务进行取消、暂停或继续操作。
      • 本地文件:选择当前浏览器可访问的镜像直接上传
        说明:
        • 支持上传到镜像仓库和Ceph镜像服务器。
        • ImageStore类型的镜像服务器支持断点续传功能,若用户刷新浏览器、关闭浏览器或管理节点服务停止,该任务将自动暂停,反之则任务执行失败。
        • 用户可点击平台运维 > 消息日志 > 事件中心 > 当前任务 > 添加负载均衡镜像 > 操作,对该任务进行取消、暂停或继续操作。
    图 2所示:
    图 2. 添加镜像


  2. 创建负载均衡实例规格。

    ZStack Cloud主菜单,点击资源中心 > 网络服务 > 基础网络服务 > 负载均衡 > 规格,进入规格界面。点击创建负载均衡实例规格,弹出创建负载均衡实例规格界面。

    可参考以下示例输入相应内容:
    • 区域:显示当前区域
    • 名称:设置负载均衡实例规格名称
    • 简介:可选项,备注相关信息
    • CPU:设置负载均衡实例CPU核数,本场景设置2核
    • 内存:设置负载均衡实例内存容量,本场景设置8GB
    • 镜像:选择已添加的性能独享型负载均衡镜像
    • 管理网络:选择已部署的管理网络,管理节点通过该网络部署管理负载均衡实例
    图 3所示:
    图 3. 创建负载均衡实例规格


  3. 创建性能独享型负载均衡。

    ZStack Cloud主菜单,点击资源中心 > 网络服务 > 基础网络服务 > 负载均衡,进入负载均衡界面。点击创建负载均衡,弹出创建负载均衡界面。

    可参考以下示例输入相应内容:
    • 名称:设置负载均衡名称
    • 简介:可选项,备注相关信息
    • 负载均衡类型:选择性能独享型
    • 前端网络协议:选择负载均衡前端网络的协议类型,支持IPv4、IPv6、双栈,本场景选择IPv4
    • 前端网络:选择负载均衡的前端网络,本场景选择扁平网络
    • 虚拟IP方法:通过新建虚拟IP或使用已有虚拟IP提供负载均衡服务,本场景选择新建虚拟IP,需设置以下内容:
      • IP范围:可选项,选择虚拟IP所在IP范围。若留空不填,系统将在所选前端网络全网段内自动分配虚拟IP
      • 指定IP:可选项,指定虚拟IP。若留空不填,系统将在所选前端网络指定IP范围内自动分配虚拟IP
    • 后端网络:选择负载均衡的后端网络,本场景后端网络为同一扁平网络
    • 高可用模式:设置负载均衡高可用模式
    • 负载均衡实例名称:设置负载均衡实例名称
    • 负载均衡实例规格:选择已创建的负载均衡实例规格
    图 4所示:
    图 4. 创建性能独享型负载均衡


  4. 创建监听器。

    展开已创建的负载均衡详情页,点击监听器,进入监听器子页面,点击创建监听器,弹出创建监听器界面。

    可参考以下示例输入相应内容:
    • 名称:设置监听器名称
    • 简介:可选项,备注相关信息
    • 协议:选择监听器协议类型,本场景选择TCP
    • 负载均衡端口:可从1-65535端口之间选择一个端口作为负载均衡端口,本场景设置100端口
    • 后端服务器端口:可从1-65535端口之间选择一个端口作为后端服务器端口,本场景设置80端口
    • 负载均衡算法:对网络包设定不同的路由规则,本场景选择加权轮询
    • 会话保持:负载均衡上的一种机制,可识别客户端与后端服务器之间交互关联性,将客户端访问请求定向转发至特定的后端服务器,保证业务会话连续性,本场景关闭
    • 后端服务器组:可选项,选择后端服务器组加载到监听器,本场景选择默认创建的后端服务器组
    • 高级设置:设置监听器高级策略,本场景采用默认策略值
    图 5所示:
    图 5. 创建监听器


  5. 添加后端服务器,并设置后端服务器权重。
    1. 添加后端服务器。

      展开已创建的负载均衡详情页,点击后端服务器组,进入后端服务器组子页面,展开默认创建的后端服务器组详情页,点击添加后端服务器,弹出添加后端服务器界面。

      可参考以下示例输入相应内容:
      • 后端服务器:显示按实例网卡添加后端服务器
      • 网卡:本场景添加3台业务云主机的网卡
      图 6所示:
      图 6. 添加后端服务器


    2. 设置后端服务器权重。

      添加后端服务器界面,依次对3台业务云主机设置权重值。权重值越高,该业务云主机被轮询的次数(概率)越高。

      图 7所示:
      图 7. 设置后端服务器权重


  6. 场景验证。

    在本场景下,对负载均衡虚拟IP(192.168.0.249)100端口执行循环curl命令:for i in {1..20}; do curl 192.168.0.249:100; done

    预期结果:
    • VM-1(权重值为80):被轮询的次数(概率)相对较高。
    • VM-2(权重值为40):被轮询的次数(概率)相对居中。
    • VM-3(权重值为20):被轮询的次数(概率)相对较低。
    实际结果:
    • VM-1:被轮询11次。
    • VM-2:被轮询6次。
    • VM-3:被轮询3次。
    图 8所示:
    图 8. 场景验证


至此,扁平网络下的性能独享型负载均衡场景实践介绍完毕。


PVLAN网络隔离

根据IEEE 802.1Q协议规定,设备最大可使用VLAN资源为4094个。对于核心层设备来说,如果为每位用户分配一个VLAN,4094个VLAN远远不够,而且在一般的交换设备中,通常是采用一个VLAN对应一个VLAN接口的方式来实现VLAN之间的互通,这将耗费大量的IP地址、增加部署成本与日常维护管理。ZStack Cloud支持在创建L2VlanNetwork类型的二层网络时一键开启PVLAN功能,开启后可在云平台中实现PVLAN的隔离VLAN(Isolated VLAN)功能。

本场景中的信息基于以下软件和硬件要求:
  • 用户已部署最新的ZStack Cloud环境。
  • 如需跨云平台或跨交换机实现隔离VLAN效果,需提前部署支持PVLAN功能的物理交换机。

场景设定:用户拥有一套ZStack Cloud环境,要求使用业务网通信的各业务云主机之间相互隔离。

PVLAN网络隔离场景拓扑图如图 1所示:
图 1. PVLAN网络隔离


假设用户环境配置如下:
表 1. 业务网络配置信息
业务网 配置信息
网卡 zsn0
VLAN ID 3002
IP范围 30.0.0.100-30.0.0.254
子网掩码 255.255.255.0
网关 30.0.0.1
PVLAN (Isolated) 已开启
具体实践流程如下:
  1. 搭建业务网
    1. 创建1个开启PVLAN的L2VlanNetwork类型二层网络
    2. 基于此二层网络创建1个扁平网络作为业务网
    3. 基于业务网创建3台业务云主机
  2. 验证网络联通性
    1. 验证业务网下同物理机上的业务云主机之间的网络联通性
    2. 验证业务网下跨物理机上的业务云主机之间的网络联通性
  1. 搭建业务网
    1. 创建1个开启PVLAN的L2VlanNetwork类型二层网络
      ZStack Cloud主菜单,点击资源中心 > 网络资源 > 二层网络,进入二层网络界面。点击创建二层网络,弹出创建二层网络界面,可参考以下示例输入相应内容:
      • 区域:显示当前区域
      • 名称:自定义二层网络名称,例如L2-业务网
      • 简介:备注相关信息
      • 类型:选择二层网络类型,本场景选择L2VlanNetwork
      • 集群:选择集群,本场景选择Cluster-1
      • 网络加速模式:支持通过不同技术提高二层网络性能,本场景选择标准
      • VLAN ID:设置VLAN ID,例如3002
      • 网卡名称:选择或输入对应网卡,例如zsn0
      • PVLAN (Isolated):本场景打开开关,开启隔离VLAN功能
      图 2所示:
      图 2. 创建二层网络


    2. 基于此二层网络创建1个扁平网络作为业务网
      ZStack Cloud主菜单,点击资源中心 > 网络资源 > 扁平网络,进入扁平网络界面。点击创建扁平网络,弹出创建扁平网络界面,可参考以下示例输入相应内容:
      • 名称:自定义扁平网络的名称,例如L3-扁平业务网
      • 简介:备注相关信息
      • 二层网络:本场景选择已创建的L2-业务网
      • IP地址管理:打开开关,为三层网络添加网络段、设置IP分配策略、设置DHCP服务
        • 网络地址类型:选择IPv4
        • 网络段方式:选择IP范围
        • 起始IP:输入扁平网络的起始IP地址,例如30.0.0.100
        • 结束IP:输入扁平网络的结束IP地址,例如30.0.0.254
        • 子网掩码:设置网络段的子网掩码,例如255.255.255.0
        • 网关:输入网关的IP地址,例如30.0.0.1
      • DHCP服务:本场景选择开启DHCP服务
        • IP分配策略:本场景选择随机分配
        • DHCP服务IP:按需设置DHCP服务所占用的IP地址。本场景留空不填,由系统在添加的IP范围内随机指定
      • DNS:按需设置DNS地址。本场景留空不填
      图 3所示:
      图 3. 创建扁平网络


    3. 基于业务网创建3台业务云主机

      ZStack Cloud主菜单,点击资源中心 > 云资源池 > 云主机,进入云主机界面。点击创建云主机,使用已创建的L3-扁平业务网创建3台业务云主机,分别命名为业务VM-1、业务VM-2、业务VM-3。创建云主机时,使业务VM-1和业务VM-2分布在Host-1上,使业务VM-3分布在Host-2上。

      图 4所示:
      图 4. 业务云主机


  2. 验证网络联通性
    1. 验证业务网下同物理机上的业务云主机之间的网络联通性

      预期结果:业务VM-1无法ping通业务VM-2。

      实际结果如图 5所示:
      图 5. 业务VM-1 Ping业务VM-2


    2. 验证业务网下跨物理机上的业务云主机之间的网络联通性

      预期结果:业务VM-1无法ping通业务VM-3。

      实际结果如图 6所示:
      图 6. 业务VM-1 Ping业务VM-3


至此,扁平网络下的PVLAN网络隔离实践已介绍完毕。

历史文档

学习路径

ZStack Cloud 产品学习路径

版本号:

5.3.0
4.8.10
常见问题
常见问题

ZStack Cloud 产品学习路径

快速梳理文档,点击相应文本链接,快速跳转到相应文档的页面,学习 ZStack Cloud 产品。

我知道了

升级提醒

若您选择升级至4.0.0及之后版本,请注意以下功能调整:

1. 云路由器全面升级为VPC路由器,云路由网络全面升级为VPC网络,不再单独设云路由器页面。升级全程无感知,相关业务不受任何影响。

2. 企业管理账号体系取代用户组与用户,不再单独设用户/用户组页面,不可再使用用户/用户组账号登录云平台。升级前,请先将“用户组与用户”纳管的账号数据妥善迁移至“企业管理”纳管,再执行升级操作。注意:对于admin创建并具备admin权限的用户账号同步取消,如有需要,可使用企业管理账号体系中的平台管理员实现相同功能。

3. 调整AD/LDAP与账户的对接管理方式,统一由企业管理纳管,不再单独设AD/LDAP页面。升级前,请先将“账户”对接纳管的AD/LDAP账号数据妥善迁移至“企业管理”纳管,再执行升级操作。

如对上述升级提醒有任何疑问或需要升级帮助,请联系ZStack官方技术支持

下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

登录观看培训视频
仅对注册用户开放,请 登录 观看培训视频

业务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

其他(漏洞提交、投诉举报等)

400-962-2212 转 3
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

ZStack学院:

training@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

其他(漏洞提交、投诉举报等)

400-962-2212 转 3
立即咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

其他(漏洞提交、投诉举报等)

400-962-2212 转 3
培训认证合作伙伴申请
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司名称不应该少于4个字符
职位名称不应该少于2个字符

同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
ZStack&工信人才联合证书申请
已获得ZStack原厂证书
未获得ZStack原厂证书
请填写您的基本信息
姓名应该不少于2个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
邮箱格式错误
城市名称不应该少于2个字符
公司/学校名称不应该少于4个字符
证书类型
ZCCT
ZCCE
ZCCA
ZCPC-ISP
申请ZStack&工信人才联合证书须支付工本费,是否可以接受
同意 不同意

我已阅读并同意云轴科技 《法律声明》《隐私政策》用户管理规则及公约

业务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

信息提交成功。

我们将安排工作人员尽快与您取得联系,请保持电话畅通。

感谢您使用 ZStack 产品和服务。

预约沟通

联系我们

业务咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2
其他业务(漏洞提交、投诉举报等)
400-962-2212 转 3

联系我们

回到顶部

产品试用申请
请选择您要试用的产品
ZStack Cloud 企业版
ZStack Cloud 混合云版
ZStack Cloud 基础版
ZStack Cloud 标准版
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。