~andreserl/maas/lp1665143

« back to all changes in this revision

Viewing changes to docs/ipv6.rst

Merged specify_scripts_commissioning into test_api.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
.. -*- mode: rst -*-
2
 
 
3
 
.. _ipv6:
4
 
 
5
 
Managing IPv6 Networks
6
 
======================
7
 
 
8
 
.. note::
9
 
 
10
 
  This feature is available in MAAS versions 1.7 and above, starting with
11
 
  lp:maas revision 2992.  If you're writing a client application that makes use
12
 
  of this feature, you can query the region-server API for the
13
 
  ``ipv6-deployment-ubuntu`` :ref:`capability<cap-ipv6-deployment-ubuntu>`.
14
 
 
15
 
MAAS has limited IPv6 support for networking nodes.  It works much like IPv4
16
 
support, but with a number of limitations:
17
 
 
18
 
* Nodes still boot, register, and install using the IPv4 network.
19
 
* IPv6 addresses are only configured when using the default Ubuntu installer.
20
 
* Most BMCs can only be controlled (e.g. to power nodes on/off) using IPv4.
21
 
* MAAS still uses IPv4 for its internal operation, installing nodes, etc.
22
 
* For now, MAAS only supports IPv6 on networks where it also manages IPv4 DHCP.
23
 
* A network interface on a node can only be on one IPv6 subnet.
24
 
* A network interface on a cluster controller can manage only one IPv6 subnet.
25
 
 
26
 
The web user interface and REST API can be accessed in the same way on both
27
 
IPv4 and IPv6.  To use an IPv6 address as the hostname in a URL, in your
28
 
browser or elsewhere, surround it with square brackets.  For example, on the
29
 
local machine (``::1``, the IPv6 equivalent of ``localhost``) you might
30
 
request::
31
 
 
32
 
    http://[::1]/MAAS/
33
 
 
34
 
If your MAAS server has a DNS hostname that resolves to both IPv4 and IPv6
35
 
addresses, your browser may already be accessing the UI through IPv6 without
36
 
you noticing.
37
 
 
38
 
 
39
 
Enabling IPv6
40
 
-------------
41
 
 
42
 
You enable IPv6 networking in the same way that you enable IPv4 networking:
43
 
configure a separate cluster interface for your IPv6 subnet, in addition to the
44
 
one you need for your IPv4 subnet.  The IPv6 cluster interface must define a
45
 
static address range.  Provided that you already have a functioning IPv6
46
 
network, that's all there is to it.  The following sections will go into more
47
 
detail about what is supported, what is needed, and what to do if you don't yet
48
 
have a functioning IPv6 network.
49
 
 
50
 
An IPv6 cluster interface can use the same network interface on the cluster
51
 
controller as an existing IPv4 network interface.  It just defines a different
52
 
subnet, with IPv6 addressing.  A node that's connected to the IPv4 subnet will
53
 
also be connected to the IPv6 subnet on the same network segment.
54
 
 
55
 
 
56
 
Configuring your IPv6 subnet
57
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
58
 
 
59
 
When you configure your IPv6 cluster interface, be sure to define a static IP
60
 
address range.  Deployed nodes on the subnet will get static addresses in this
61
 
range.
62
 
 
63
 
IPv6 networks are normally 64 bits wide, so you can be generous with the
64
 
ranges' sizes.  It also means that you can leave the netmask field blank.
65
 
 
66
 
(There are no broadcast addresses in IPv6, so leave the broadcast address field
67
 
blank as well.)
68
 
 
69
 
You may want MAAS to manage DHCP and DNS, but it's not required.  In fact nodes
70
 
do not need a DHCP server at all for IPv6; MAAS configures static IPv6
71
 
addresses on the node's network interfaces while deploying it.  A DHCPv6 server
72
 
can provide addresses for containers or virtual machines running on the nodes,
73
 
as well as devices on the network that are not managed by MAAS, but it is not
74
 
needed for the nodes themselves.  MAAS will not be aware of any addresses
75
 
issued by DHCP, and does not guarantee that they will stay unchanged.
76
 
 
77
 
 
78
 
.. _ipv6-routing:
79
 
 
80
 
Routing
81
 
^^^^^^^
82
 
 
83
 
In IPv6, clients do not discover routes through DHCP.  Routers make themselves
84
 
known on their networks by sending out *route advertisements*.  These *RAs*
85
 
contain other configuration as well: whether clients should statelessly
86
 
configure their own unique IP addresses based on their MAC addresses; whether
87
 
they should request stateless configuration from a DHCP server; and finally,
88
 
whether they should request a stateful IP address from a DHCP server.  Since a
89
 
network interface can have any number of IPv6 addresses even on a single
90
 
subnet, several of these address assignment mechanisms can be combined.
91
 
 
92
 
However, when MAAS configures IPv6 networking on a node, it does not rely on
93
 
RAs.  it statically configures your nodes' default IPv6 route to use the router
94
 
that is configured on the cluster interface, so that the nodes will know their
95
 
default gateway.  They do not need DHCP and will not autoconfigure global
96
 
addresses.
97
 
 
98
 
However, if you are planning to operate DHCPv6 clients as well, e.g. on
99
 
machines not managed by MAAS or on virtual machines hosted by MAAS nodes, you
100
 
may still want to have RAs configured to make those clients obtain
101
 
configuration over DHCP.
102
 
 
103
 
If you need RAs but your gateway does not send them, install and configure
104
 
``radvd`` somewhere on the network to advertise its route.
105
 
 
106
 
 
107
 
Other installers and operating systems
108
 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109
 
 
110
 
Static IPv6 addresses are currently only configured on Ubuntu, when installed
111
 
using the "fast" installer.  Other operating systems, or Ubuntu with the
112
 
classic Debian installer, will not have their IPv6 addresses configured.
113
 
The same applies when a user manually installs an operating system on a node,
114
 
or overwrites its networking configuration: the node will no longer have its
115
 
static IPv6 address configured, even if MAAS has allocated it to the node.
116
 
 
117
 
However, as long as the address remains allocated to the node, you may still
118
 
configure its operating system to use that address.  The node can then use that
119
 
address as if it had been configured by MAAS.
120
 
 
121
 
 
122
 
Disabling IPv4
123
 
--------------
124
 
 
125
 
For advanced users, there is an experimental capability to deploy nodes with
126
 
pure IPv6, with IPv4 networking disabled.  To enable this on a node, check the
127
 
"Disable IPv4 when deployed" box on the node's Edit page.  The process of
128
 
managing and deploying the node will still largely work through IPv4, but once
129
 
deployed, the node will have IPv6 networking only.
130
 
 
131
 
In practice nodes may not be functional without IPv4 networking.  A few things
132
 
are known to be needed in any case:
133
 
 
134
 
 
135
 
Configuring the MAAS URL
136
 
^^^^^^^^^^^^^^^^^^^^^^^^
137
 
 
138
 
The *maas-cluster-controller* package has a configuration item for the URL
139
 
where nodes and cluster controllers can reach the MAAS region API.
140
 
 
141
 
By default, this URL is set based on the region controller's IPv4 address.  To
142
 
make it work for nodes that won't have IP4, you must set the MAAS URL to use
143
 
a hostname instead of an IP address.  The hostname must resolve to both IPv4
144
 
and IPv6 addresses, and both on the cluster controller and on the nodes.
145
 
 
146
 
To change this setting, run::
147
 
 
148
 
    dpkg-reconfigure maas-cluster-controller
149
 
 
150
 
It will prompt you for the URL, with its current setting as the initial value.