2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-29 13:07:50 +00:00

[4259] Updated admin guide and spec files

Revamped discussion of FQDN name generation and use of the
    replace-client-name parameter in the v4 and v6 guides.
This commit is contained in:
Thomas Markwalder 2016-04-04 07:24:16 -04:00
parent b3f483e537
commit fe77538dc4
5 changed files with 107 additions and 58 deletions

View File

@ -1777,7 +1777,7 @@ It is merely echoed by the server
</section> </section>
<section id="dhcp4-ddns-config"> <section id="dhcp4-ddns-config">
<title>Configuring DHCPv4 for DDNS</title> <title>DDNS for DHCPv4</title>
<para> <para>
As mentioned earlier, kea-dhcp4 can be configured to generate requests to the As mentioned earlier, kea-dhcp4 can be configured to generate requests to the
DHCP-DDNS server (referred to here as "D2" ) to update DNS entries. These requests are known as DHCP-DDNS server (referred to here as "D2" ) to update DNS entries. These requests are known as
@ -1852,7 +1852,7 @@ It is merely echoed by the server
<command>"override-client-update": false</command> <command>"override-client-update": false</command>
</simpara></listitem> </simpara></listitem>
<listitem><simpara> <listitem><simpara>
<command>"replace-client-name": false</command> <command>"replace-client-name": "never"</command>
</simpara></listitem> </simpara></listitem>
<listitem><simpara> <listitem><simpara>
<command>"generated-prefix": "myhost"</command> <command>"generated-prefix": "myhost"</command>
@ -2078,38 +2078,62 @@ It is merely echoed by the server
supply a portion or all of that name based upon what it receives from supply a portion or all of that name based upon what it receives from
the client in the DHCP REQUEST.</para> the client in the DHCP REQUEST.</para>
<para> <para>
The rules for determining the FQDN option are as follows: The basic rules for constructing the FQDN that will be used for DNS
entries are:
<orderedlist> <orderedlist>
<listitem><para> <listitem><para>
If configured to do, so ignore the DHCPREQUEST contents and generate a If the DHCPREQUEST contains the client FQDN option, the candidate name
FQDN using a configurable prefix and suffix. is taken from there, otherwise it is taken from the Host Name option.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
If the DHCPREQUEST contains the client FQDN option, the candidate If the candidate name is a partial (i.e. unqualified) name then add a
name is taken from there, otherwise it is taken from the Host Name option. configurable suffix to the name and use the result as the FQDN.
The candidate name may then be modified:
<orderedlist>
<listitem><para>
If the candidate name is a fully qualified domain name, use it.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
If the candidate name is a partial (i.e. unqualified) name then If the candidate name provided is empty, generate a FQDN using a
add a configurable suffix to the name and use the result as the FQDN.
</para></listitem>
<listitem><para>
If the candidate name is a empty, generate a FQDN using a
configurable prefix and suffix. configurable prefix and suffix.
</para></listitem> </para></listitem>
</orderedlist> <listitem><para>
If the client provided neither option, then no DNS action will be taken.
</para></listitem> </para></listitem>
</orderedlist> </orderedlist>
To instruct kea-dhcp4 to always generate the FQDN for a client, set the These rules can amended by setting the
parameter <command>replace-client-name</command> to true as follows: <command>replace-client-name</command> parameter which provides the
following modes of behavior:
<itemizedlist>
<listitem><para>
<command>never</command> - Use the name the client sent. If the client
sent no name, do not generate one. This is the default mode.
</para></listitem>
<listitem><para>
<command>always</command> - Replace the name the client sent. If the
client sent no name, generate one for them.
</para></listitem>
<listitem><para>
<command>when_present</command> - Replace the name the client sent.
If the client sent no name, do not generate one.
</para></listitem>
<listitem><para>
<command>when_not_present</command> - Use the name the client sent.
If the client sent no name, generate one for them.
</para></listitem>
</itemizedlist>
<note>
Note that formerly, this parameter was a boolean and permitted only values
of <command>true</command> and <command>false</command>. Boolean values
will still be accepted but may eventually be deprecated. A value of
<command>true</command> equates to <command>when_present</command>,
<command>false</command> equates to <command>never</command>.
</note>
For example, To instruct kea-dhcp4 to always generate the FQDN for a
client, set the parameter <command>replace-client-name</command> to
<command>always</command> as follows:
</para> </para>
<screen> <screen>
"Dhcp4": { "Dhcp4": {
"dhcp-ddns": { "dhcp-ddns": {
<userinput>"replace-client-name": true</userinput>, <userinput>"replace-client-name": "always"</userinput>,
... ...
}, },
... ...

View File

@ -1744,7 +1744,7 @@ should include options from the isc option space:
</section> </section>
<section id="dhcp6-ddns-config"> <section id="dhcp6-ddns-config">
<title>Configuring DHCPv6 for DDNS</title> <title>DDNS for DHCPv6</title>
<para> <para>
As mentioned earlier, kea-dhcp6 can be configured to generate requests to As mentioned earlier, kea-dhcp6 can be configured to generate requests to
the DHCP-DDNS server (referred to here as "D2") to update the DHCP-DDNS server (referred to here as "D2") to update
@ -1820,7 +1820,7 @@ should include options from the isc option space:
<command>"override-client-update": false</command> <command>"override-client-update": false</command>
</simpara></listitem> </simpara></listitem>
<listitem><simpara> <listitem><simpara>
<command>"replace-client-name": false</command> <command>"replace-client-name": "never"</command>
</simpara></listitem> </simpara></listitem>
<listitem><simpara> <listitem><simpara>
<command>"generated-prefix": "myhost"</command> <command>"generated-prefix": "myhost"</command>
@ -2041,42 +2041,67 @@ should include options from the isc option space:
<section id="dhcpv6-fqdn-name-generation"> <section id="dhcpv6-fqdn-name-generation">
<title>kea-dhcp6 name generation for DDNS update requests</title> <title>kea-dhcp6 name generation for DDNS update requests</title>
<para>Each NameChangeRequest must of course include the fully qualified domain <para>Each NameChangeRequest must of course include the fully qualified
name whose DNS entries are to be affected. kea-dhcp6 can be configured to domain name whose DNS entries are to be affected. kea-dhcp6 can be
supply a portion or all of that name based upon what it receives from configured to supply a portion or all of that name based upon what it
the client in the DHCP REQUEST.</para> receives from the client in the DHCP REQUEST.</para>
<para>
<para>The rules for determining the FQDN option are as follows: The basic rules for constructing the FQDN that will be used for DNS
entries are:
<orderedlist> <orderedlist>
<listitem><para> <listitem><para>
If configured to do so ignore the REQUEST contents and generate a If the DHCPREQUEST contains the client FQDN option, the candidate name
FQDN using a configurable prefix and suffix. is taken from there.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
Otherwise, using the domain name value from the client FQDN option as If the candidate name is a partial (i.e. unqualified) name then add a
the candidate name: configurable suffix to the name and use the result as the FQDN.
<orderedlist>
<listitem><para>
If the candidate name is a fully qualified domain name then use it.
</para></listitem> </para></listitem>
<listitem><para> <listitem><para>
If the candidate name is a partial (i.e. unqualified) name then If the candidate name provided is empty, generate a FQDN using a
add a configurable suffix to the name and use the result as the FQDN.
</para></listitem>
<listitem><para>
If the candidate name is a empty then generate a FQDN using a
configurable prefix and suffix. configurable prefix and suffix.
</para></listitem> </para></listitem>
</orderedlist> <listitem><para>
If the client provided neither option, then no DNS action will be taken.
</para></listitem> </para></listitem>
</orderedlist> </orderedlist>
To instruct kea-dhcp6 to always generate a FQDN, set the parameter These rules can amended by setting the
"replace-client-name" to true: <command>replace-client-name</command> parameter which provides the
following modes of behavior:
<itemizedlist>
<listitem><para>
<command>never</command> - Use the name the client sent. If the client
sent no name, do not generate one. This is the default mode.
</para></listitem>
<listitem><para>
<command>always</command> - Replace the name the client sent. If the
client sent no name, generate one for them.
</para></listitem>
<listitem><para>
<command>when_present</command> - Replace the name the client sent.
If the client sent no name, do not generate one.
</para></listitem>
<listitem><para>
<command>when_not_present</command> - Use the name the client sent.
Supply the name if the client did not.
</para></listitem>
</itemizedlist>
<note>
Note that formerly, this parameter was a boolean and permitted only values
of <command>true</command> and <command>false</command>. Boolean values
will still be accepted but may eventually be deprecated. A value of
<command>true</command> equates to <command>when_present</command>,
<command>false</command> equates to <command>never</command>.
</note>
For example, To instruct kea-dhcp6 to always generate the FQDN for a
client, set the parameter <command>replace-client-name</command> to
<command>always</command> as follows:
</para> </para>
<screen> <screen>
"Dhcp6": { "Dhcp6": {
"dhcp-ddns": { "dhcp-ddns": {
<userinput>"replace-client-name": true</userinput>, <userinput>"replace-client-name": "always"</userinput>,
... ...
}, },
... ...

View File

@ -607,9 +607,9 @@
}, },
{ {
"item_name": "replace-client-name", "item_name": "replace-client-name",
"item_type": "boolean", "item_type": "string",
"item_optional": true, "item_optional": true,
"item_default": false, "item_default": "never",
"item_description": "Should server replace the domain-name supplied by the client" "item_description": "Should server replace the domain-name supplied by the client"
}, },
{ {

View File

@ -711,9 +711,9 @@
}, },
{ {
"item_name": "replace-client-name", "item_name": "replace-client-name",
"item_type": "boolean", "item_type": "string",
"item_optional": true, "item_optional": true,
"item_default": false, "item_default": "never",
"item_description": "Should server replace the domain-name supplied by the client" "item_description": "Should server replace the domain-name supplied by the client"
}, },
{ {

View File

@ -1,4 +1,4 @@
# Copyright (C) 2012-2015 Internet Systems Consortium, Inc. ("ISC") # Copyright (C) 2012-2016 Internet Systems Consortium, Inc. ("ISC")
# #
# This Source Code Form is subject to the terms of the Mozilla Public # This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this # License, v. 2.0. If a copy of the MPL was not distributed with this