2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-08-31 05:55:28 +00:00

[5705] Changes after review

- doc updated
 - mostly comments
This commit is contained in:
Tomek Mrugalski
2018-08-14 12:55:53 +02:00
committed by Thomas Markwalder
parent 183010b15a
commit ef40a21097
3 changed files with 131 additions and 34 deletions

View File

@@ -3541,7 +3541,7 @@ It is merely echoed by the server
to skip reservation checks when dealing with existing leases. Therefore,
system administrators are encouraged to use out-of-pool reservations if
possible.</para>
<para>Beginning, with Kea 1.5.0, there is now support for global
<para>Beginning with Kea 1.5.0, there is now support for global
host reservations. These are reservations that are specified at the
global level within the configuration and that do not belong to any
specific subnet. Kea will still match inbound client packets to a
@@ -3553,7 +3553,8 @@ It is merely echoed by the server
</para>
<note>You can reserve any ip-address in a global reservation. Just keep
in mind that Kea will not do any sanity checking on the address and for
Kea 1.5.0, support for this should be considered experimental.
Kea 1.5.0, support for global reservation mechanism should be
considered experimental.
</note>
</section>
@@ -3632,6 +3633,15 @@ It is merely echoed by the server
out-of-pool reservations. If the reserved address does not belong to a
pool, there is no way that other clients could get this address.
</para>
<note>
<para>The conflict resolution mechanism does not work for global
reservations. As of Kea 1.5.0, it is generally recommended to not use
global reservations for addresses. If you want to use it anyway,
you have to manually ensure that the reserved addressed are non
in the dynamic pools.</para>
</note>
</section>
<section xml:id="reservation4-hostname">
@@ -3901,7 +3911,7 @@ It is merely echoed by the server
<listitem><simpara> <command>all</command> - enables both in-pool
and out-of-pool host reservation types. This is the default value. This
setting is the safest and the most flexible. As all checks are conducted,
it is also the slowest.
it is also the slowest. This does not check against global reservations.
</simpara></listitem>
<listitem><simpara> <command>out-of-pool</command> - allows only out of
@@ -3981,7 +3991,7 @@ It is merely echoed by the server
]
}
</screen>
For more details regarding global erservations, see <xref linkend="global-reservations4"/>.
</para>
@@ -4029,7 +4039,84 @@ If not specified, the default value is:
src/lib/dhcpsrv/cfg_host_operations.cc -->
</para>
</section>
</section>
<section id="global-reservations4">
<title>Global reservations in DHCPv4</title>
<para>In some deployments, such as mobile, clients can roam within the
network and there is a desire to specify certain parameters regardless of
the client's current location. To facilitate such a need, a global
reservation mechanism has been implemented. The idea behind it is that
regular host reservations are tied to specific subnets, by using specific
subnet-id. Kea 1.5.0 introduced a new capability to specify global
reservation that can be used in every subnet that has global reservations
enabled.</para>
<para>This feature can be used to assign certain parameters, such as
hostname or some dedicated, host specific options. It can also be used to
assign addresses. However, global reservations that assign addresses bypass
the whole topology determination provided by DHCP logic implemented in
Kea. It is very easy to misuse this feature and get configuration that is
inconsistent. To give specific example, imagine a case of global reservation
for address 192.0.2.100 and two subnets 192.0.2.0/24 and 192.0.5.0/24. If
global reservations are used in both subnets and a device matching global
host reservations visits part of the network that is serviced by
192.0.5.0/24, it will get an IP address 192.0.2.100, a subnet 192.0.5.0 and
a default router 192.0.5.1. Obviously such a configuration is unusable, as
the client won't be able to reach its default gateway.</para>
<para>
To use global host reservations a configuration similar to the following
can be used:
<screen>
"Dhcp4:" {
// This specify global reservations. They will apply to all subnets that
// have global reservations enabled.
<userinput>
"reservations": [
{
"hw-address": "aa:bb:cc:dd:ee:ff",
"hostname": "hw-host-dynamic"
},
{
"hw-address": "01:02:03:04:05:06",
"hostname": "hw-host-fixed",
// Use of IP address is global reservation is risky. If used outside of
// matching subnet, such as 192.0.1.0/24, it will result in a broken
// configuration being handled to the client.
"ip-address": "192.0.1.77"
},
{
"duid": "01:02:03:04:05",
"hostname": "duid-host"
},
{
"circuit-id": "'charter950'",
"hostname": "circuit-id-host"
},
{
"client-id": "01:11:22:33:44:55:66",
"hostname": "client-id-host"
}
]</userinput>,
"valid-lifetime": 600,
"subnet4": [ {
"subnet": "10.0.0.0/24",
<userinput>"reservation-mode": "global",</userinput>
"pools": [ { "pool": "10.0.0.10-10.0.0.100" } ]
} ]
}
</screen>
</para>
<para>When using database backends, the global host reservations are
distinguished from regular reservations by using subnet-id value of
zero.</para>
</section> <!-- end of global reservations -->
</section>
<!-- end of host reservations section -->