mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 13:37:55 +00:00
[#2354] Added built-in class "SKIP_DDNS"
Added ChangeLog entry doc/sphinx/arm/hooks-ddns-tuning.rst doc/sphinx/arm/hooks.rst Updated ARM src/lib/dhcpsrv/client_class_def.cc Added built-in class "SKIP_DDNS"
This commit is contained in:
@@ -1,3 +1,9 @@
|
|||||||
|
2019. [func] tmark
|
||||||
|
Added new built-in class "SKIP_DDNS" which may be used in
|
||||||
|
conjunction with the ddns-tuning hook library to to skip
|
||||||
|
performing DDNS updates for a given client.
|
||||||
|
(Gitlab #2354)
|
||||||
|
|
||||||
2018. [func] razvan
|
2018. [func] razvan
|
||||||
The kea-dhcp4 server now supports portions of RFC 3396,
|
The kea-dhcp4 server now supports portions of RFC 3396,
|
||||||
allowing it to send and receive DHCP options longer than 255
|
allowing it to send and receive DHCP options longer than 255
|
||||||
|
@@ -1,10 +1,11 @@
|
|||||||
.. _hooks-ddns-tuning:
|
.. _hooks-ddns-tuning:
|
||||||
|
|
||||||
``ddns_tuning``: Tuning DNS updates
|
``ddns_tuning``: Tuning DDNS updates
|
||||||
===================================
|
====================================
|
||||||
|
|
||||||
This hook library adds support for fine tuning various DNS update aspects.
|
This hook library adds support for fine tuning various DNS update aspects.
|
||||||
Currently it supports procedural host name generation. The DDNS Tuning hook
|
Currently it supports procedural host name generation and the ability to
|
||||||
|
skip performing DDNS updates for select clients. The DDNS Tuning hook
|
||||||
is a premium feature.
|
is a premium feature.
|
||||||
|
|
||||||
The library, which was added in Kea 2.1.5, can be loaded by the ``kea-dhcp4``
|
The library, which was added in Kea 2.1.5, can be loaded by the ``kea-dhcp4``
|
||||||
@@ -148,3 +149,40 @@ response to a client query (e.g. SOLICIT, REQUEST, RENEW, REBIND) is as follows:
|
|||||||
6. If the value calculated by the hook is not an empty string and is different than
|
6. If the value calculated by the hook is not an empty string and is different than
|
||||||
the host name formed in the prior steps (1 or 2), the calculated value becomes the
|
the host name formed in the prior steps (1 or 2), the calculated value becomes the
|
||||||
final host name.
|
final host name.
|
||||||
|
|
||||||
|
Skipping DDNS Updates
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The ddns-tuning library also provides the ability to skip DDNS updates on a per
|
||||||
|
client basis. The library recognizes a special client class, "SKIP_DDNS". When a
|
||||||
|
client is matched to this class, kea servers (kea-dhcp4 and kea-dhcp6) will not
|
||||||
|
send DDNS update requests (NCRs) to kea-dhcp-ddns. A common use-case would be
|
||||||
|
to skip DDNS updates for fixed-address host reservations. This is done easily by
|
||||||
|
simply assiging the class to the host reservation as shown below:
|
||||||
|
|
||||||
|
.. code-block:: javascript
|
||||||
|
|
||||||
|
{
|
||||||
|
"reservations": [
|
||||||
|
{
|
||||||
|
"hw-address": "01:02:03:04:05:06",
|
||||||
|
"ip-address": "192.0.2.1",
|
||||||
|
"client-classes": [ "SKIP_DDNS", "foo", "bar" ]
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
|
||||||
|
The ddns-tuning library will spot the presence of the "SKIP_DDNS" class in the
|
||||||
|
client's class list each time the client requests, renews, or releases its lease,
|
||||||
|
and instruct kea-dhcp4 to bypass sending DDNS updates. A similar work flow is
|
||||||
|
supported for kea-dhcp6:
|
||||||
|
|
||||||
|
.. code-block:: javascript
|
||||||
|
|
||||||
|
{
|
||||||
|
"reservations": [
|
||||||
|
{
|
||||||
|
"duid": "01:02:03:04:05:06",
|
||||||
|
"ip-address": "2001:db8::1",
|
||||||
|
"client-classes": [ "SKIP_DDNS", "foo", "bar" ]
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
@@ -427,6 +427,12 @@ loaded by the correct process per the table below.
|
|||||||
| Backend | |a repository for the Kea configuration information. Kea |
|
| Backend | |a repository for the Kea configuration information. Kea |
|
||||||
| | |servers use this library to fetch their configurations. |
|
| | |servers use this library to fetch their configurations. |
|
||||||
+-----------------+---------------+------------------------------------------------------------+
|
+-----------------+---------------+------------------------------------------------------------+
|
||||||
|
| PostgreSQL | Kea open |This hook library is an implementation of the Kea |
|
||||||
|
| Configuration | source |Configuration Backend for PostgreSQL. It uses a PostgreSQL |
|
||||||
|
| Backend | |database as a repository for the Kea configuration |
|
||||||
|
| | |information. Kea servers use this library to fetch their |
|
||||||
|
| | |configurations. |
|
||||||
|
+-----------------+---------------+------------------------------------------------------------+
|
||||||
| Configuration | ISC support |This hook |
|
| Configuration | ISC support |This hook |
|
||||||
| Backend | customers |library implements a collection of commands to manage |
|
| Backend | customers |library implements a collection of commands to manage |
|
||||||
| Commands | |Kea configuration information in a |
|
| Commands | |Kea configuration information in a |
|
||||||
@@ -454,6 +460,10 @@ loaded by the correct process per the table below.
|
|||||||
| | customers |(kea-ctrl-agent) for Role Based Access Control filtering |
|
| | customers |(kea-ctrl-agent) for Role Based Access Control filtering |
|
||||||
| | |of commands. |
|
| | |of commands. |
|
||||||
+-----------------+---------------+------------------------------------------------------------+
|
+-----------------+---------------+------------------------------------------------------------+
|
||||||
|
| DDNS-Tuning | ISC support |This hook library adds support for fine tuning various DDNS |
|
||||||
|
| | customers |update aspects such as generating hostnames via expressions |
|
||||||
|
| | |and skipping DDNS updates for select cients. |
|
||||||
|
+-----------------+---------------+------------------------------------------------------------+
|
||||||
|
|
||||||
ISC hopes to see more hook libraries become available as time
|
ISC hopes to see more hook libraries become available as time
|
||||||
progresses, developed both internally and externally. Since this list
|
progresses, developed both internally and externally. Since this list
|
||||||
|
@@ -478,7 +478,8 @@ builtinNames = {
|
|||||||
// In fact DROP is set from an expression as callouts can drop
|
// In fact DROP is set from an expression as callouts can drop
|
||||||
// directly the incoming packet. The expression must not depend on
|
// directly the incoming packet. The expression must not depend on
|
||||||
// KNOWN/UNKNOWN which are set far after the drop point.
|
// KNOWN/UNKNOWN which are set far after the drop point.
|
||||||
"ALL", "KNOWN", "UNKNOWN", "BOOTP"
|
// SKIP_DDNS is used by ddns-tuning hook library.
|
||||||
|
"ALL", "KNOWN", "UNKNOWN", "BOOTP", "SKIP_DDNS"
|
||||||
};
|
};
|
||||||
|
|
||||||
std::list<std::string>
|
std::list<std::string>
|
||||||
|
Reference in New Issue
Block a user