mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-29 21:18:02 +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:
parent
6cf6fc9426
commit
5c08e702f2
@ -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
|
||||
The kea-dhcp4 server now supports portions of RFC 3396,
|
||||
allowing it to send and receive DHCP options longer than 255
|
||||
|
@ -1,10 +1,11 @@
|
||||
.. _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.
|
||||
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.
|
||||
|
||||
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
|
||||
the host name formed in the prior steps (1 or 2), the calculated value becomes the
|
||||
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 |
|
||||
| | |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 |
|
||||
| Backend | customers |library implements a collection of commands to manage |
|
||||
| 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 |
|
||||
| | |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
|
||||
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
|
||||
// directly the incoming packet. The expression must not depend on
|
||||
// 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>
|
||||
|
Loading…
x
Reference in New Issue
Block a user