已废弃: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