Commit 879d7085 authored by Francis Dupont's avatar Francis Dupont
Browse files

[4273] Added dhcp4o6-port and DHCPv4-over-DHCPv6 sections to dhcp4 and dhcp6 guides

parent 85d79e09
......@@ -154,6 +154,7 @@ strings <userinput>path</userinput>/kea-dhcp4 | sed -n 's/;;;; //p'
"valid-lifetime": 4000,
"renew-timer": 1000,
"rebind-timer": 2000,
"dhcp4o6-port": 6767,
# Next we setup the interfaces to be used by the server.
"interfaces-config": {
......@@ -227,7 +228,10 @@ define T1 and T2 timers that govern when the client will begin the renewal and
rebind procedures. Note that <command>renew-timer</command> and
<command>rebind-timer</command> are optional. If they are not specified the
client will select values for T1 and T2 timers according to the
<ulink url="http://tools.ietf.org/html/rfc2131">RFC 2131</ulink>.</para>
<ulink url="http://tools.ietf.org/html/rfc2131">RFC 2131</ulink>.
<command>dhcp4o6-port</command> is used by the DHCPv4-over-DHCPv6 support
(more in <xref linkend="dhcp4-dhcp4o6-config"/>).
</para>
<para>The <command>interfaces-config</command> map specifies the server
configuration concerning the network interfaces, on which the server should
......@@ -2238,7 +2242,7 @@ It is merely echoed by the server
which updated
<ulink url="http://tools.ietf.org/html/rfc2131">RFC 2131</ulink>.
That update now states that the server must
send client-id if the client sent it. That is the default behaviour
send client-id if the client sent it. That is the default behavior
that Kea offers. However, in some cases older devices that do
not support
<ulink url="http://tools.ietf.org/html/rfc6842">RFC 6842</ulink>.
......@@ -2419,7 +2423,103 @@ It is merely echoed by the server
</section>
</section> <!-- end of configuring kea-dhcp4 server section with many subsections -->
" <section id="dhcp4-dhcp4o6-config">
<title>DHCPv4-over-DHCPv6 DHCPv4 side</title>
<para>
The support of DHCPv4-over-DHCPv6 transport
<ulink url="http://tools.ietf.org/html/rfc7341">RFC 7341</ulink>
is implemented using cooperating DHCPv4 and DHCPv6 servers.
This section is about the configuration of the DHCPv4 side
(the DHCPv6 side is described in <xref linkend="dhcp6-dhcp4o6-config"/>).
</para>
<note>
DHCPv4-over-DHCPv6 support is experimental and the details of
the inter-process communication can change: DHCPv4 and DHCPv6
should run the same version of Kea.
</note>
<para>
The <command>dhcp4o6-port</command> global parameter specifies
the first of the two consecutive ports of the UDP sockets used
for the communication between the DHCPv6 and DHCPv4 servers
(DHCPv4-QUERY requests from the DHCPv6 side are received on the
first socket, DHCPv4-RESPONSE replies are sent back on the
second socket to the DHCPv6 side which forwards them to
clients).
</para>
<para>
The subnet selection uses 3 specific configuration entries,
the presence of any of these enables the subnet for
DHCPv4-over-DHCPv6. These entries are:
<itemizedlist>
<listitem>
<simpara><command>4o6-interface</command>: Takes an interface name
which is matched against the incoming interface name.
</simpara>
</listitem>
<listitem>
<simpara><command>4o6-subnet</command>: Takes a prefix (i.e, an
IPv6 address followed by a slash and a prefix length).
</simpara>
</listitem>
<listitem>
<simpara><command>4o6-interface-id</command>: Takes a relay interface
ID option value.
</simpara>
</listitem>
</itemizedlist>
</para>
<para>
The following configuration was used during some tests:
<screen>
{
# DHCPv4 conf
"Dhcp4":
{
"interfaces-config": {
"interfaces": [ "eno33554984" ]
},
"lease-database": {
"type": "memfile",
"name": "leases4"
},
"valid-lifetime": 4000,
"subnet4": [
{ "subnet": "10.10.10.0/24",
"4o6-interface": "eno33554984",
"4o6-subnet": "2001:db8:1:1::/64",
"pools": [ { "pool": "10.10.10.100 - 10.10.10.199" } ] }
],
"dhcp4o6-port": 6767
},
"Logging":
{
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/tmp/kea-dhcp4.log"
}
],
"severity": "DEBUG",
"debuglevel": 0
}
]
}
}
</screen>
</para>
</section>
</section> <!-- end of configuring kea-dhcp4 server section -->
<!-- Host reservation is a large topic. There will be many subsections,
so it should be a section on its own. -->
......@@ -3141,10 +3241,11 @@ It is merely echoed by the server
<entry>pkt4-nak-sent</entry>
<entry>integer</entry>
<entry>
Number of DHCPNAK packets sent. This statistic is expected to
grow when the server choses to not honor the address requested by a
client. In general, the sum of pkt4-ack-sent and pkt4-nak-sent
should be close to pkt4-request-received.
Number of DHCPNAK packets sent. This statistic is expected
to grow when the server chooses to not honor the address
requested by a client. In general, the sum of
pkt4-ack-sent and pkt4-nak-sent should be close to
pkt4-request-received.
</entry>
</row>
......
......@@ -154,6 +154,7 @@ strings <userinput>path</userinput>/kea-dhcp6 | sed -n 's/;;;; //p'
"rebind-timer": 2000,
"preferred-lifetime": 3000,
"valid-lifetime": 4000,
"dhcp4o6-port": 6767,
# Next we setup the interfaces to be used by the server.
"interfaces-config": {
......@@ -227,7 +228,10 @@ around them.) The address will become deprecated in 3000 seconds (clients are
allowed to keep old connections, but can't use this address for creating new
connections). <command>renew-timer</command> and <command>
rebind-timer</command> are values that define T1 and T2 timers that govern when
the client will begin the renewal and rebind procedures.</para>
the client will begin the renewal and rebind procedures.
<command>dhcp4o6-port</command> is used by the DHCPv4-over-DHCPv6 support
(more in <xref linkend="dhcp6-dhcp4o6-config"/>).
</para>
<para>The <command>interfaces-config</command> map specifies the server
configuration concerning the network interfaces, on which the server should
......@@ -290,7 +294,7 @@ syntax would be used:
}
]
</screen>
Note that indentation is optional and is used for aesthetic purposes only.
Note that indentation is optional and is used for esthetic purposes only.
In some cases in may be preferable to use more compact notation.
</para>
......@@ -2181,6 +2185,96 @@ should include options from the isc option space:
</para>
</section>
<section id="dhcp6-dhcp4o6-config">
<title>DHCPv4-over-DHCPv6 DHCPv6 side</title>
<para>
The support of DHCPv4-over-DHCPv6 transport
<ulink url="http://tools.ietf.org/html/rfc7341">RFC 7341</ulink>
is implemented using cooperating DHCPv4 and DHCPv6 servers.
This section is about the configuration of the DHCPv6 side
(the DHCPv4 side is described in <xref linkend="dhcp4-dhcp4o6-config"/>).
</para>
<note>
DHCPv4-over-DHCPv6 support is experimental and the details of
the inter-process communication can change: DHCPv4 and DHCPv6
should run the same version of Kea.
</note>
<para>
There is only one specific parameter for the DHCPv6 side:
<command>dhcp4o6-port</command> which specifies the first of the
two consecutive ports of the UDP sockets used for the communication
between the DHCPv6 and DHCPv4 servers (received DHCPv4-QUERY requests
are forwarded to the DHCPv4 side on the first socket, DHCPv4-RESPONSE
replies on the second socket are forwarded to clients).
</para>
<para>
Two other configuration entries are in general required: unicast traffic
support (see <xref linkend="dhcp6-unicast"/>) and DHCP 4o6 server
address option (name "dhcp4o6-server-addr", code 88).
</para>
<para>
The following configuration was used during some tests:
<screen>
{
# DHCPv6 conf
"Dhcp6":
{
"interfaces-config": {
"interfaces": [ "eno33554984/2001:db8:1:1::1" ]
},
"lease-database": {
"type": "memfile",
"name": "leases6"
},
"preferred-lifetime": 3000,
"valid-lifetime": 4000,
"renew-timer": 1000,
"rebind-timer": 2000,
"subnet6": [
{ "subnet": "2001:db8:1:1::/64",
"interface": "eno33554984",
"pools": [ { "pool": "2001:db8:1:1::1:0/112" } ] }
],
"dhcp4o6-port": 6767,
"option-data": [
{ "name": "dhcp4o6-server-addr",
"code": 88,
"space": "dhcp6",
"csv-format": true,
"data": "2001:db8:1:1::1" }
]
},
"Logging":
{
"loggers": [
{
"name": "kea-dhcp6",
"output_options": [
{
"output": "/tmp/kea-dhcp6.log"
}
],
"severity": "DEBUG",
"debuglevel": 0
}
]
}
}
</screen>
</para>
<note>
Relayed DHCPv4-QUERY DHCPv6 messages are not yet supported.
</note>
</section>
</section>
<!-- Host reservation is a large topic. There will be many subsections,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment