mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
192 lines
8.8 KiB
XML
192 lines
8.8 KiB
XML
<?xml version='1.0' encoding='utf-8' ?>
|
|
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
|
<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent">
|
|
%BOOK_ENTITIES;
|
|
]>
|
|
|
|
<!-- Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
<section id="ipv6-support">
|
|
<title>IPv6 Support in &PRODUCT;</title>
|
|
<para>&PRODUCT;supports Internet Protocol version 6 (IPv6), the recent version of the Internet
|
|
Protocol (IP) that defines routing the network traffic. IPv6 uses a 128-bit address that
|
|
exponentially expands the current address space that is available to the users. IPv6 addresses
|
|
consist of eight groups of four hexadecimal digits separated by colons, for example,
|
|
5001:0dt8:83a3:1012:1000:8s2e:0870:7454. &PRODUCT; supports IPv6 for public IPs in shared
|
|
networks. With IPv6 support, VMs in shared networks can obtain both IPv4 and IPv6 addresses from
|
|
the DHCP server. You can deploy VMs either in a IPv6 or IPv4 network, or in a dual network
|
|
environment. If IPv6 network is used, the VM generates a link-local IPv6 address by itself, and
|
|
receives a stateful IPv6 address from the DHCPv6 server.</para>
|
|
<para>IPv6 is supported only on KVM and XenServer hypervisors. The IPv6 support is only an
|
|
experimental feature.</para>
|
|
<para>Here's the sequence of events when IPv6 is used: </para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>The administrator creates an IPv6 shared network in an advanced zone.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The user deploys a VM in an IPv6 shared network.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The user VM generates an IPv6 link local address by itself, and gets an IPv6 global or
|
|
site local address through DHCPv6.</para>
|
|
<para>For information on API changes, see <xref linkend="changed-apicommands-4.1"/>.</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
<section id="guidelines-ipv6">
|
|
<title>Prerequisites and Guidelines</title>
|
|
<para>Consider the following:</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>CIDR size must be 64 for IPv6 networks.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The DHCP client of the guest VMs should support generating DUID based on Link-layer
|
|
Address (DUID- LL). DUID-LL derives from the MAC address of guest VMs, and therefore the
|
|
user VM can be identified by using DUID. See <ulink
|
|
url="http://tools.ietf.org/html/rfc3315">Dynamic Host Configuration Protocol for IPv6
|
|
</ulink>for more information.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The gateway of the guest network generates Router Advisement and Response messages to
|
|
Router Solicitation. The M (Managed Address Configuration) flag of Router Advisement
|
|
should enable stateful IP address configuration. Set the M flag to where the end nodes
|
|
receive their IPv6 addresses from the DHCPv6 server as opposed to the router or
|
|
switch.</para>
|
|
<note>
|
|
<para>The M flag is the 1-bit Managed Address Configuration flag for Router Advisement.
|
|
When set, Dynamic Host Configuration Protocol (DHCPv6) is available for address
|
|
configuration in addition to any IPs set by using stateless address
|
|
auto-configuration.</para>
|
|
</note>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Use the System VM template exclusively designed to support IPv6. Download the System
|
|
VM template from <ulink url="http://cloudstack.apt-get.eu/systemvm/"
|
|
>http://cloudstack.apt-get.eu/systemvm/</ulink>.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>The concept of Default Network applies to IPv6 networks. However, unlike IPv4
|
|
&PRODUCT; does not control the routing information of IPv6 in shared network; the choice
|
|
of Default Network will not affect the routing in the user VM.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>In a multiple shared network, the default route is set by the rack router, rather than
|
|
the DHCP server, which is out of &PRODUCT; control. Therefore, in order for the user VM to
|
|
get only the default route from the default NIC, modify the configuration of the user VM,
|
|
and set non-default NIC's <code>accept_ra</code> to 0 explicitly. The
|
|
<code>accept_ra</code> parameter accepts Router Advertisements and auto-configure
|
|
<code>/proc/sys/net/ipv6/conf/interface</code> with received data.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|
|
<section id="limitsipv6">
|
|
<title>Limitations of IPv6 in &PRODUCT; </title>
|
|
<para>The following are not yet supported:</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Security groups</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Userdata and metadata</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Passwords</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
<section id="network-conf-dhcpv6">
|
|
<title>Guest VM Configuration for DHCPv6</title>
|
|
<para>For the guest VMs to get IPv6 address, run dhclient command manually on each of the VMs.
|
|
Use DUID-LL to set up dhclient. </para>
|
|
<note><para>The IPv6 address is lost when a VM is stopped and started. Therefore, use the same procedure
|
|
to get an IPv6 address when a VM is stopped and started.</para></note>
|
|
<orderedlist>
|
|
<listitem>
|
|
<para>Set up dhclient by using DUID-LL.</para>
|
|
<para>Perform the following for DHCP Client 4.2 and above:</para>
|
|
<orderedlist numeration="loweralpha">
|
|
<listitem>
|
|
<para>Run the following command on the selected VM to get the dhcpv6 offer from
|
|
VR:</para>
|
|
<programlisting>dhclient -6 -D LL <dev></programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>Perform the following for DHCP Client 4.1:</para>
|
|
<orderedlist numeration="loweralpha">
|
|
<listitem>
|
|
<para>Open the following to the dhclient configuration file:</para>
|
|
<programlisting>vi /etc/dhcp/dhclient.conf</programlisting>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Add the following to the dhclient configuration file:</para>
|
|
<programlisting>send dhcp6.client-id = concat(00:03:00, hardware);</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Get IPv6 address from DHCP server as part of the system or network restart.</para>
|
|
<para>Based on the operating systems, perform the following:</para>
|
|
<para>On CentOS 6.2:</para>
|
|
<orderedlist numeration="loweralpha">
|
|
<listitem>
|
|
<para>Open the Ethernet interface configuration file:</para>
|
|
<programlisting>vi /etc/sysconfig/network-scripts/ifcfg-eth0</programlisting>
|
|
<para>The <code>ifcfg-eth0</code> file controls the first NIC in a system.</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Make the necessary configuration changes, as given below:</para>
|
|
<programlisting>DEVICE=eth0
|
|
HWADDR=06:A0:F0:00:00:38
|
|
NM_CONTROLLED=no
|
|
ONBOOT=yes
|
|
BOOTPROTO=dhcp6
|
|
TYPE=Ethernet
|
|
USERCTL=no
|
|
PEERDNS=yes
|
|
IPV6INIT=yes
|
|
DHCPV6C=yes</programlisting>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Open the following:</para>
|
|
<programlisting>vi /etc/sysconfig/network</programlisting>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Make the necessary configuration changes, as given below:</para>
|
|
<programlisting>NETWORKING=yes
|
|
HOSTNAME=centos62mgmt.lab.vmops.com
|
|
NETWORKING_IPV6=yes
|
|
IPV6_AUTOCONF=no</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>On Ubuntu 12.10</para>
|
|
<orderedlist numeration="loweralpha">
|
|
<listitem>
|
|
<para>Open the following:</para>
|
|
<programlisting>etc/network/interfaces:</programlisting>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Make the necessary configuration changes, as given below:</para>
|
|
<programlisting>iface eth0 inet6 dhcp
|
|
autoconf 0
|
|
accept_ra 1</programlisting>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
</orderedlist>
|
|
</section>
|
|
</section>
|