跳转到: 导航, 搜索

已废弃:BexarIpv6supportReadme

(重定向自 BexarIpv6supportReadme)
#!wiki caution
'''This page is outdated'''

The content of this page has not been updated for a very long time. Sections of this page are incorrect when referring to the current release.

OpenStack Compute (Nova) IPv4/IPv6 双栈支持

  • 日期:2010年12月24日 (更新:2010年1月14日)
  • 作者:NTT 信息共享平台实验室

发布说明

在 IPv4/IPv6 双栈模式下,实例可以使用 IPv4 和 IPv6 地址进行通信。在 IPv4/IPv6 双栈模式下,实例可以通过无状态地址自动配置机制 [RFC 4862/2462] 获取其 IPv6 全局单播地址。IPv4/IPv6 双栈模式与 VlanManager 和 FlatDHCPManager 配合使用。在 VlanManager 中,每个项目使用不同的 64 位全局路由前缀。在 FlatDHCPManager 中,所有实例使用一个 64 位全局路由前缀。

1. 前置条件

  • 我们仅测试了以下配置。
    • 主机操作系统:Ubuntu 10.04
  • 虚拟机镜像要求
    • 每个虚拟机都需要 IPv6 无状态地址自动配置能力。
  • 额外的 Python 模块要求
    • 所有执行 nova 服务的节点都需要 python-netaddr。
   $ sudo apt-get install -y python-netaddr
  • 额外的软件要求
    • 网络节点需要 radvd
   $ sudo apt-get install -y radvd
  • 在网络节点上,您需要输入以下命令
   $ sudo bash -c "echo 1 > /proc/sys/net/ipv6/conf/all/forwarding"
   $ sudo bash -c "echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra"


2. Nova 服务的设置

如果您想使用 IPv6 功能,请将 use_ipv6 标志设置为 True。如果不想使用,请将此标志设置为 false。(请参阅 NovaAdminManual 了解如何配置您的服务。)

  --use_ipv6
    Enable IPv6 dual stack support. 
    Default: False


3. API 变更

在此版本中,一些 API 参数和响应被修改以采用 IPv6 功能。

  • DescribeInstancesV6
Almost same API as original descibeInstances. You can see IPv6 address of an instance by using this API.
We add dnsNameV6 element for result xml.
  • AuthorizeSecurityGroupIngress
You can specify both IPv4 and IPv6 value for cidrIp input parameter.
  • RevokeSecurityGroupIngress
You can specify both IPv4 and IPv6 value for cidrIp input parameter.
  • DescribeSecurityGroups
You can see both IPv4 and IPv6 value in cidrIp element.

4. 支持库

我们扩展了 boto 库以支持 OpenStack ipv6。您可以使用 contrib 目录中的 boto_v6 库使用 DescribeInstancesV6 和 dnsNameV6。

5. nova-manage 命令规范

新的参数 fixed_range_v6 已添加到命令 'nova-manage network create'。


 nova-manage network create fixed_range num_networks network_size 
                               [vlan_start] [vpn_start] [fixed_range_v6]


您可以使用 fixed_range_v6 设置 ipv6 全局路由前缀(默认:fd00::/48)。当您使用 FlatDHCPManager 时,该命令使用 fixed_range_v6 的原始值。当您使用 VlanManager 时,该命令通过递增子网 ID 创建子网前缀。Guest VM 使用此前缀生成其 ipv6 全局单播地址。

VlanManager 的用法示例

  nova-manage network create 10.0.1.0/24 3 32 100 1000 fd00:1::/48


FlatDHCPManager 的用法示例

  nova/bin/nova-manage network create 10.0.2.0/24 3 32 0 0 fd00:1::/48

请注意,[vlan_start] [vpn_start] 不被 FlatDHCPManager 使用

6. 支持的 NWManager

  • FlatDHCPManager
  • VlanManager

7. 当前限制

  • 不支持使用 IPv6 地址的浮动 IP 功能。
  • 未与 OpenStack API 一起测试。
  • 当前不支持 FlatManager。
  • 不使用 EUI-64 地址进行无状态地址的 VM 镜像
autoconfiguration will not work correctly in current IPv6
support. Because current IPv6 support supposes that VM instances
generate and configure their IPv6 address based on EUI-64
specification (namely, their MAC address).

8. IPv6 支持实现架构概要

  • 在当前的 IPv6 支持实现中,IPv6 地址分配是
done by stateless address autoconfiguration [RFC 4862/2462]. For this
purpose, nova-network configures radvd for each VLAN. 

9. 贡献者

  • Nachi Ueno
  • Hisaharu Ishii
  • Koji Iida
  • Daigoro Yokozeki
  • Hiroshi Sakai