第 15 章 带有 IPv6 的租户网络
本章介绍了如何在一个租户网络中实现 IPv6 子网的信息。除了租户网络,director 7.3 还可以为 overcloud 节点配置原生 IPv6 的部署。
Red Hat OpenStack Platform 6 增加了在租户网络中使用 IPv6 的功能。IPv6 子网可以在存在的租户网络中创建,并支持以下地址分配模式:SLAAC(Stateless Address Autoconfiguration)、Stateful DHCPv6 和 Stateless DHCPv6。本章介绍了 IPv6 子网创建选项,并提供了一个创建示例。
15.1. IPv6 子网选项 复制链接链接已复制到粘贴板!
IPv6 子网使用 neutron subnet-create 命令创建。另外,您还可以指定地址模式和 RA(Router Advertisement)模式。下面介绍了这些选项的组合:
RA 模式 | 地址模式 | 结果 |
---|---|---|
ipv6_ra_mode=not set |
ipv6-address-mode=slaac |
这个实例使用 SLAAC 从外部路由(没有被 OpenStack Networking 管理的路由)接收 IPv6 地址。 |
ipv6_ra_mode=not set |
ipv6-address-mode=dhcpv6-stateful |
这个实例使用 DHCPv6 stateful 从 OpenStack Networking(dnsmasq)接收 IPv6 地址和可选的信息。 |
ipv6_ra_mode=not set |
ipv6-address-mode=dhcpv6-stateless |
这个实例使用 SLAAC 从外部路由接收一个 IPv6 地址,并使用 DHCPv6 stateless 从 OpenStack Networking(dnsmasq)接收可选的信息。 |
ipv6_ra_mode=slaac |
ipv6-address-mode=not-set |
实例使用 SLAAC 从 OpenStack Networking(radvd)接收一个 IPv6 地址。 |
ipv6_ra_mode=dhcpv6-stateful |
ipv6-address-mode=not-set |
这个实例使用 DHCPv6 stateful 从外部 DHCPv6 服务器接收一个 IPv6 地址和可选的信息。 |
ipv6_ra_mode=dhcpv6-stateless |
ipv6-address-mode=not-set |
这个实例使用 SLAAC 从 OpenStack Networking(radvd)接收一个 IPv6 地址,并使用 DHCPv6 stateless 从外部 DHCPv6 服务器接收可选的信息。 |
ipv6_ra_mode=slaac |
ipv6-address-mode=slaac |
实例通过 SLAAC 从 OpenStack Networking(radvd)接收一个 IPv6 地址。 |
ipv6_ra_mode=dhcpv6-stateful |
ipv6-address-mode=dhcpv6-stateful |
实例通过 DHCPv6 stateful 从 OpenStack Networking(dnsmasq)接收一个 IPv6 地址,使用 DHCPv6 stateful 从 OpenStack Networking(dnsmasq)获得其它可选信息。 |
ipv6_ra_mode=dhcpv6-stateless |
ipv6-address-mode=dhcpv6-stateless |
实例通过 DHCPv6 stateful 从 OpenStack Networking(radvd)接收一个 IPv6 地址,使用 DHCPv6 stateless 从 OpenStack Networking(dnsmasq)获得其它可选信息。 |
15.1.1. 使用 Stateful DHCPv6 创建一个 IPv6 子网 复制链接链接已复制到粘贴板!
这个过程使用以上介绍的设置在一个租户网络中创建一个 IPv6 子网。它的初始步骤是收集所需的租户和网络信息,然后使用这些信息来生成一个子网创建命令。
OpenStack Networking 只支持对 SLAAC 的 EUI-64 IPv6 地址分配。因为主机将可以基于基本的 64 位再加上 MAC 地址来自分配地址,所以这将可以简化 IPv6 网络。使用不同的网络掩码和 SLAAC 的 address_assign_type 创建子网将会失败。
1. 获得需要创建 IPv6 子网的项目的租户 id。(这个值在不同 OpenStack 环境中是不同的,因此您的值可能会和这里使用的值不同)。在这个例子中,QA 的租户将会接收一个 IPv6 子网。
2. 获得 OpenStack Networking(neutron)中的所有网络的列表,并记录下包括 IPv6 子网的网络名称。在这个例子中,使用 database-servers。
3. 使用从以上步骤中获得的 QA tenant-id(25837c567ed5458fbb441d39862e1399
)生成网络命令。另外,还需要包括 IPv6 子网的目标网络名称。在这个例子中,使用 database-servers 网络:
4. 查看网络列表来验证这个配置。请注意,database-servers 项中的内容反映了新创建的 IPv6 子网:
作为这个配置的结果,QA 租户创建的实例在加入到 database-servers 子网中时可以接收一个 DHCP IPv6 地址: