From: Thomas Markwalder Date: Mon, 4 Apr 2016 11:24:16 +0000 (-0400) Subject: [4259] Updated admin guide and spec files X-Git-Tag: trac4106_update_base~48^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fe77538dc446fd37a87d6a915a20b17f75f7cc4f;p=thirdparty%2Fkea.git [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. --- diff --git a/doc/guide/dhcp4-srv.xml b/doc/guide/dhcp4-srv.xml index f44d98ddee..efcb8ef3c0 100644 --- a/doc/guide/dhcp4-srv.xml +++ b/doc/guide/dhcp4-srv.xml @@ -129,7 +129,7 @@ strings path/kea-dhcp4 | sed -n 's/;;;; //p' If the file already exists and contains the PID of a live process, the server will issue a DHCP4_ALREADY_RUNNING log message and exit. It is possible, though unlikely, that the file is a remnant of a system crash - and the process to which the PID belongs is unrelated to Kea. In such a + and the process to which the PID belongs is unrelated to Kea. In such a case it would be necessary to manually delete the PID file. @@ -1777,7 +1777,7 @@ It is merely echoed by the server
- Configuring DHCPv4 for DDNS + DDNS for DHCPv4 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 @@ -1852,7 +1852,7 @@ It is merely echoed by the server "override-client-update": false - "replace-client-name": false + "replace-client-name": "never" "generated-prefix": "myhost" @@ -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 the client in the DHCP REQUEST. - 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: - If configured to do, so ignore the DHCPREQUEST contents and generate a - FQDN using a configurable prefix and suffix. + If the DHCPREQUEST contains the client FQDN option, the candidate name + is taken from there, otherwise it is taken from the Host Name option. - If the DHCPREQUEST contains the client FQDN option, the candidate - name is taken from there, otherwise it is taken from the Host Name option. - The candidate name may then be modified: - - - If the candidate name is a fully qualified domain name, use it. + If the candidate name is a partial (i.e. unqualified) name then add a + configurable suffix to the name and use the result as the FQDN. - If the candidate name is a partial (i.e. unqualified) name then - add a configurable suffix to the name and use the result as the FQDN. + If the candidate name provided is empty, generate a FQDN using a + configurable prefix and suffix. - If the candidate name is a empty, generate a FQDN using a - configurable prefix and suffix. + If the client provided neither option, then no DNS action will be taken. + These rules can amended by setting the + replace-client-name parameter which provides the + following modes of behavior: + + + never - Use the name the client sent. If the client + sent no name, do not generate one. This is the default mode. - - To instruct kea-dhcp4 to always generate the FQDN for a client, set the - parameter replace-client-name to true as follows: + + always - Replace the name the client sent. If the + client sent no name, generate one for them. + + + when_present - Replace the name the client sent. + If the client sent no name, do not generate one. + + + when_not_present - Use the name the client sent. + If the client sent no name, generate one for them. + + + + Note that formerly, this parameter was a boolean and permitted only values + of true and false. Boolean values + will still be accepted but may eventually be deprecated. A value of + true equates to when_present, + false equates to never. + + + For example, To instruct kea-dhcp4 to always generate the FQDN for a + client, set the parameter replace-client-name to + always as follows: "Dhcp4": { "dhcp-ddns": { - "replace-client-name": true, + "replace-client-name": "always", ... }, ... diff --git a/doc/guide/dhcp6-srv.xml b/doc/guide/dhcp6-srv.xml index 5486d36882..8d83cef601 100644 --- a/doc/guide/dhcp6-srv.xml +++ b/doc/guide/dhcp6-srv.xml @@ -1744,7 +1744,7 @@ should include options from the isc option space:
- Configuring DHCPv6 for DDNS + DDNS for DHCPv6 As mentioned earlier, kea-dhcp6 can be configured to generate requests to the DHCP-DDNS server (referred to here as "D2") to update @@ -1820,7 +1820,7 @@ should include options from the isc option space: "override-client-update": false - "replace-client-name": false + "replace-client-name": "never" "generated-prefix": "myhost" @@ -2041,42 +2041,67 @@ should include options from the isc option space:
kea-dhcp6 name generation for DDNS update requests - Each NameChangeRequest must of course include the fully qualified domain - name whose DNS entries are to be affected. kea-dhcp6 can be configured to - supply a portion or all of that name based upon what it receives from - the client in the DHCP REQUEST. - - The rules for determining the FQDN option are as follows: + Each NameChangeRequest must of course include the fully qualified + domain name whose DNS entries are to be affected. kea-dhcp6 can be + configured to supply a portion or all of that name based upon what it + receives from the client in the DHCP REQUEST. + + The basic rules for constructing the FQDN that will be used for DNS + entries are: - If configured to do so ignore the REQUEST contents and generate a - FQDN using a configurable prefix and suffix. + If the DHCPREQUEST contains the client FQDN option, the candidate name + is taken from there. - Otherwise, using the domain name value from the client FQDN option as - the candidate name: - - - If the candidate name is a fully qualified domain name then use it. + If the candidate name is a partial (i.e. unqualified) name then add a + configurable suffix to the name and use the result as the FQDN. - If the candidate name is a partial (i.e. unqualified) name then - add a configurable suffix to the name and use the result as the FQDN. + If the candidate name provided is empty, generate a FQDN using a + configurable prefix and suffix. - If the candidate name is a empty then generate a FQDN using a - configurable prefix and suffix. + If the client provided neither option, then no DNS action will be taken. + These rules can amended by setting the + replace-client-name parameter which provides the + following modes of behavior: + + + never - Use the name the client sent. If the client + sent no name, do not generate one. This is the default mode. - - To instruct kea-dhcp6 to always generate a FQDN, set the parameter - "replace-client-name" to true: + + always - Replace the name the client sent. If the + client sent no name, generate one for them. + + + when_present - Replace the name the client sent. + If the client sent no name, do not generate one. + + + when_not_present - Use the name the client sent. + Supply the name if the client did not. + + + + Note that formerly, this parameter was a boolean and permitted only values + of true and false. Boolean values + will still be accepted but may eventually be deprecated. A value of + true equates to when_present, + false equates to never. + + + For example, To instruct kea-dhcp6 to always generate the FQDN for a + client, set the parameter replace-client-name to + always as follows: "Dhcp6": { "dhcp-ddns": { - "replace-client-name": true, + "replace-client-name": "always", ... }, ... diff --git a/src/bin/dhcp4/dhcp4.spec b/src/bin/dhcp4/dhcp4.spec index b5c9b2aca9..8e24e6992e 100644 --- a/src/bin/dhcp4/dhcp4.spec +++ b/src/bin/dhcp4/dhcp4.spec @@ -607,9 +607,9 @@ }, { "item_name": "replace-client-name", - "item_type": "boolean", + "item_type": "string", "item_optional": true, - "item_default": false, + "item_default": "never", "item_description": "Should server replace the domain-name supplied by the client" }, { diff --git a/src/bin/dhcp6/dhcp6.spec b/src/bin/dhcp6/dhcp6.spec index 14e4026593..3571b8e2ac 100644 --- a/src/bin/dhcp6/dhcp6.spec +++ b/src/bin/dhcp6/dhcp6.spec @@ -711,9 +711,9 @@ }, { "item_name": "replace-client-name", - "item_type": "boolean", + "item_type": "string", "item_optional": true, - "item_default": false, + "item_default": "never", "item_description": "Should server replace the domain-name supplied by the client" }, { diff --git a/src/bin/dhcp6/dhcp6_messages.mes b/src/bin/dhcp6/dhcp6_messages.mes index 4d9f2b019c..f3540ed440 100644 --- a/src/bin/dhcp6/dhcp6_messages.mes +++ b/src/bin/dhcp6/dhcp6_messages.mes @@ -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 # License, v. 2.0. If a copy of the MPL was not distributed with this