</section>
<section id="reservation4-hostname">
- <title>Reserving a hostname</title>
+ <title>Reserving a Hostname</title>
- <para>When the reservation for the client includes the <command>hostname
- </command>, the server will assign this hostname to the client and send
- it back in the Client FQDN or Hostname option, depending on which of them
- the client has sent to the server. The reserved hostname always takes
+ <para>When the reservation for a client includes the <command>hostname
+ </command>, the server will return this hostname to the client in
+ the Client FQDN or Hostname option. The server responds with the Client
+ FQDN option only if the client has included Client FQDN option in its
+ message to the server. The server will respond with the Hostname option
+ if the client has included Hostname option in its message to the server,
+ or when the client has requested Hostname option using Parameter Request
+ List option. The server will return Hostname option even if it is not
+ configured to perform DNS updates. The reserved hostname always takes
precedence over the hostname supplied by the client or the autogenerated
(from the IPv4 address) hostname.</para>
them can be omitted.</para>
</section>
+ <section id="reservation4-client-classes">
+ <title>Reserving Client Classes in DHCPv4</title>
+ <para>The <xref linkend="classification-using-expressions"/> explains how
+ to configure the server to assign classes to a client based on the content
+ of the options that this client sends to the server. Host reservations
+ mechanisms also allow for statically assigning classes to the clients.
+ The definitions of these classes must exist in the Kea
+ configuration. The following configuration snippet shows how to specify
+ that the client belongs to classes <command>reserved-class1</command>
+ and <command>reserved-class2</command>. Those classes are associated with
+ specific options being sent to the clients which belong to them.
+ </para>
+
+<screen>
+{
+ "client-classes": [
+ {
+ "name": "reserved-class1",
+ "option-data": [
+ {
+ "name": "routers",
+ "data": "10.0.0.200"
+ }
+ ]
+ },
+ {
+ "name": "reserved-class2",
+ "option-data": [
+ {
+ "name": "domain-name-servers",
+ "data": "10.0.0.201"
+ }
+ ]
+ }
+ ],
+ "subnet4": [ {
+ "subnet": "10.0.0.0/24",
+ "pools": [ { "pool": "10.0.0.10-10.0.0.100" } ],
+ "reservations": [
+ {
+ "hw-address": "aa:bb:cc:dd:ee:ff",
+ <userinput>
+ "client-classes": [ "reserved-class1", "reserved-class2" ]
+ </userinput>
+ }
+ ]
+ } ]
+}
+
+</screen>
+
+ <para>Static class assignments, as shown above, can be used in conjuction
+ with classification using expressions.</para>
+ </section>
+
<section id="reservations4-mysql-pgsql">
- <title>Storing host reservations in MySQL or PostgreSQL</title>
+ <title>Storing Host Reservations in MySQL or PostgreSQL</title>
<para>
- It is possible to store host reservations in MySQL or PostgreSQL. See <xref
- linkend="hosts4-storage" /> for information on how to configure Kea to use
+ It is possible to store host reservations in MySQL or PostgreSQL database. See
+ <xref linkend="hosts-storage4"/> for information on how to configure Kea to use
reservations stored in MySQL or PostgreSQL. Kea does not provide any dedicated
tools for managing reservations in a database. See Kea wiki <ulink
url="http://kea.isc.org/wiki/HostReservationsHowTo" /> for detailed