2
0
mirror of https://gitlab.isc.org/isc-projects/kea synced 2025-09-02 06:55:16 +00:00

[2657] More editing of the DHCP sections of the BIND 10 Guide

This commit is contained in:
Stephen Morris
2013-02-05 12:24:42 +00:00
parent 521189be3a
commit 3c200a3dec

View File

@@ -3609,7 +3609,6 @@ Dhcp4/subnet4 [] list (default)
network configurations. If you want to avoid this, please use the "min-max" notation. network configurations. If you want to avoid this, please use the "min-max" notation.
</para> </para>
</section> </section>
</section>
<section id="dhcp4-std-options"> <section id="dhcp4-std-options">
<title>Standard DHCPv4 options</title> <title>Standard DHCPv4 options</title>
@@ -3652,7 +3651,7 @@ Dhcp4/subnet4 [] list (default)
</para> </para>
<para> <para>
Options can also be configured as hex values. If csv-format is Options can also be configured as hexadecimal values. If csv-format is
set to false, option data must be specified as a hex string. The set to false, option data must be specified as a hex string. The
following commands configure the domain-name-servers option for all following commands configure the domain-name-servers option for all
subnets with the following addresses: 192.0.3.1 and 192.0.3.2. subnets with the following addresses: 192.0.3.1 and 192.0.3.2.
@@ -3898,13 +3897,15 @@ Dhcp4/subnet4 [] list (default)
<section id="dhcp4-vendor-opts"> <section id="dhcp4-vendor-opts">
<title>DHCPv4 vendor specific options</title> <title>DHCPv4 vendor specific options</title>
<para>Currently there are three option spaces defined: dhcp4 (to <para>
be used in DHCPv4 daemon), dhcp6, and vendor-opts-space. The last-mentioned Currently there are three option spaces defined: dhcp4 (to
is empty by default but options can be defined in it: those options be used in DHCPv4 daemon) and dhcp6 (for the DHCPv6 daemon); there
are called vendor-specific information options. The following examples is also vendor-opts-space, which is empty by default, but options
show how to define an option "foo" with code 1 that consists of IPv4 address, can be defined in it. Those options are called vendor-specific
unsigned 16 bit integer and a string. The "foo" option is conveyed in a information options. The following examples show how to define
vendor specific information option. an option "foo" with code 1 that consists of an IPv4 address, an
unsigned 16 bit integer and a string. The "foo" option is conveyed
in a vendor specific information option.
</para> </para>
<para> <para>
The first step is to define the format of the option: The first step is to define the format of the option:
@@ -3931,6 +3932,7 @@ Dhcp4/subnet4 [] list (default)
&gt; <userinput>config set Dhcp4/option-data[0]/data "192.0.2.3, 123, Hello World"</userinput> &gt; <userinput>config set Dhcp4/option-data[0]/data "192.0.2.3, 123, Hello World"</userinput>
&gt; <userinput>config commit</userinput></screen> &gt; <userinput>config commit</userinput></screen>
We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo". We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo".
This is required else the option will not be included in messages sent to the client.
<screen> <screen>
&gt; <userinput>config add Dhcp4/option-data</userinput> &gt; <userinput>config add Dhcp4/option-data</userinput>
&gt; <userinput>config set Dhcp4/option-data[1]/name "vendor-encapsulated-options"</userinput> &gt; <userinput>config set Dhcp4/option-data[1]/name "vendor-encapsulated-options"</userinput>
@@ -3954,6 +3956,7 @@ Dhcp4/subnet4 [] list (default)
</section> </section>
<section id="dhcp4-option-spaces"> <section id="dhcp4-option-spaces">
<title>Nested DHCPv4 options (custom option spaces)</title> <title>Nested DHCPv4 options (custom option spaces)</title>
<para>It is sometimes useful to define completely new option <para>It is sometimes useful to define completely new option
spaces. This is useful if the user wants his new option to spaces. This is useful if the user wants his new option to
@@ -4039,7 +4042,7 @@ Dhcp4/subnet4 [] list (default)
client. client.
</para> </para>
</section> </section>
</section>
<section id="dhcp4-serverid"> <section id="dhcp4-serverid">
<title>Server Identifier in DHCPv4</title> <title>Server Identifier in DHCPv4</title>
<para> <para>
@@ -4136,7 +4139,9 @@ Dhcp4/renew-timer 1000 integer (default)
<simpara>Address rebinding (REBIND) and duplication report (DECLINE) <simpara>Address rebinding (REBIND) and duplication report (DECLINE)
are not supported yet.</simpara> are not supported yet.</simpara>
</listitem> </listitem>
<listitem>
<simpara>DNS Update is not yet supported.</simpara>
</listitem>
</itemizedlist> </itemizedlist>
</section> </section>
@@ -4170,17 +4175,7 @@ Dhcp4/renew-timer 1000 integer (default)
&gt; <userinput>config commit</userinput> &gt; <userinput>config commit</userinput>
</screen> </screen>
</para> </para>
<para>
To change one of the parameters, simply follow
the usual <command>bindctl</command> procedure. For example, to make the
leases longer, change their valid-lifetime parameter:
<screen>
&gt; <userinput>config set Dhcp6/valid-lifetime 7200</userinput>
&gt; <userinput>config commit</userinput></screen>
Please note that most Dhcp6 parameters are of global scope
and apply to all defined subnets, unless they are overridden on a
per-subnet basis.
</para>
<para> <para>
During start-up the server will detect available network interfaces During start-up the server will detect available network interfaces
@@ -4499,8 +4494,8 @@ Dhcp6/subnet6/ list
<tr><td>sip-server-addr</td><td>22</td><td>ipv6-address</td><td>true</td></tr> <tr><td>sip-server-addr</td><td>22</td><td>ipv6-address</td><td>true</td></tr>
<tr><td>dns-servers</td><td>23</td><td>ipv6-address</td><td>true</td></tr> <tr><td>dns-servers</td><td>23</td><td>ipv6-address</td><td>true</td></tr>
<tr><td>domain-search</td><td>24</td><td>fqdn</td><td>true</td></tr> <tr><td>domain-search</td><td>24</td><td>fqdn</td><td>true</td></tr>
<tr><td>ia-pd</td><td>25</td><td>record</td><td>false</td></tr> <!-- <tr><td>ia-pd</td><td>25</td><td>record</td><td>false</td></tr> -->
<tr><td>iaprefix</td><td>26</td><td>record</td><td>false</td></tr> <!-- <tr><td>iaprefix</td><td>26</td><td>record</td><td>false</td></tr> -->
<tr><td>nis-servers</td><td>27</td><td>ipv6-address</td><td>true</td></tr> <tr><td>nis-servers</td><td>27</td><td>ipv6-address</td><td>true</td></tr>
<tr><td>nisp-servers</td><td>28</td><td>ipv6-address</td><td>true</td></tr> <tr><td>nisp-servers</td><td>28</td><td>ipv6-address</td><td>true</td></tr>
<tr><td>nis-domain-name</td><td>29</td><td>fqdn</td><td>true</td></tr> <tr><td>nis-domain-name</td><td>29</td><td>fqdn</td><td>true</td></tr>
@@ -4579,7 +4574,12 @@ Dhcp6/subnet6/ list
&gt; <userinput>config set Dhcp6/option-def[0]/record-types "ipv6-address, uint16, string"</userinput> &gt; <userinput>config set Dhcp6/option-def[0]/record-types "ipv6-address, uint16, string"</userinput>
&gt; <userinput>config set Dhcp6/option-def[0]/encapsulate ""</userinput> &gt; <userinput>config set Dhcp6/option-def[0]/encapsulate ""</userinput>
</screen> </screen>
Its values can be later defined as follows: The "type" is set to "record" to indicate that the option contains
multiple values of different types. These types are given as a comma-separated
list in the "record-types" field and should be those listed in <xref linkend="dhcp-types"/>.
</para>
<para>
The values of the option are set as follows:
<screen> <screen>
&gt; <userinput>config add Dhcp6/option-data</userinput> &gt; <userinput>config add Dhcp6/option-data</userinput>
&gt; <userinput>config set Dhcp6/option-data[0]/name "bar"</userinput> &gt; <userinput>config set Dhcp6/option-data[0]/name "bar"</userinput>
@@ -4589,19 +4589,24 @@ Dhcp6/subnet6/ list
&gt; <userinput>config set Dhcp6/option-data[0]/data "2001:db8:1::10, 123, Hello World"</userinput> &gt; <userinput>config set Dhcp6/option-data[0]/data "2001:db8:1::10, 123, Hello World"</userinput>
&gt; <userinput>config commit</userinput></screen> &gt; <userinput>config commit</userinput></screen>
</para> </para>
"csv-format" is set "true" to indicate that the "data" field comprises a command-separated
list of values. The values in the "data" must correspond to the types set in
the "record-types" field of the option definition.
</section> </section>
<section id="dhcp6-vendor-opts"> <section id="dhcp6-vendor-opts">
<title>DHCPv6 vendor specific options</title> <title>DHCPv6 vendor specific options</title>
<para>Currently there are three option spaces defined: dhcp4 (to <para>
be used in DHCPv4 daemon) and dhcp6; there is also vendor-opts-space, Currently there are three option spaces defined: dhcp4 (to be used
which is empty by default, but options can be defined in it. Those options in DHCPv4 daemon) and dhcp6 (for the DHCPv6 daemon); there is also
are called vendor-specific information options. The following examples vendor-opts-space, which is empty by default, but options can be
show how to define an option "foo" with code 1 that consists of IPv6 address, defined in it. Those options are called vendor-specific information
unsigned 16 bit integer and a string. The "foo" option is conveyed in a options. The following examples show how to define an option "foo"
vendor specific information option. This option comprises a single with code 1 that consists of an IPv6 address, an unsigned 16 bit integer
uint32 value that is set to "12345". The sub-option "foo" follows and a string. The "foo" option is conveyed in a vendor specific
the data field holding this value. information option. This option comprises a single uint32 value
that is set to "12345". The sub-option "foo" follows the data
field holding this value.
<screen> <screen>
&gt; <userinput>config add Dhcp6/option-def</userinput> &gt; <userinput>config add Dhcp6/option-def</userinput>
&gt; <userinput>config set Dhcp6/option-def[0]/name "foo"</userinput> &gt; <userinput>config set Dhcp6/option-def[0]/name "foo"</userinput>
@@ -4641,10 +4646,12 @@ Dhcp6/subnet6/ list
convey sub-options that use separate numbering scheme, for convey sub-options that use separate numbering scheme, for
example sub-options with codes 1 and 2. Those option codes example sub-options with codes 1 and 2. Those option codes
conflict with standard DHCPv6 options, so a separate option conflict with standard DHCPv6 options, so a separate option
space must be defined. Let's assume that we want to have a space must be defined.
DHCPv6 option with code 102 that conveys two sub-options with </para>
codes 1 and 2. This could be achieved with the following examples. <para>
First we need to define those new sub-options: Assume that we want to have a DHCPv6 option called "container"
with code 102 that conveys two sub-options with codes 1 and 2.
First we need to define the new sub-options:
<screen> <screen>
&gt; <userinput>config add Dhcp6/option-def</userinput> &gt; <userinput>config add Dhcp6/option-def</userinput>
&gt; <userinput>config set Dhcp6/option-def[0]/name "subopt1"</userinput> &gt; <userinput>config set Dhcp6/option-def[0]/name "subopt1"</userinput>
@@ -4666,6 +4673,10 @@ Dhcp6/subnet6/ list
&gt; <userinput>config set Dhcp6/option-def[1]/encapsulate ""</userinput> &gt; <userinput>config set Dhcp6/option-def[1]/encapsulate ""</userinput>
&gt; <userinput>config commit</userinput> &gt; <userinput>config commit</userinput>
</screen> </screen>
Note that we have defined the options to belong to a new option space
(in this case, "isc").
</para>
<para>
The next step is to define a regular DHCPv6 option and specify that it The next step is to define a regular DHCPv6 option and specify that it
should include options from isc option space: should include options from isc option space:
<screen> <screen>
@@ -4679,8 +4690,11 @@ should include options from isc option space:
&gt; <userinput>config set Dhcp6/option-def[2]/encapsulate "isc"</userinput> &gt; <userinput>config set Dhcp6/option-def[2]/encapsulate "isc"</userinput>
&gt; <userinput>config commit</userinput> &gt; <userinput>config commit</userinput>
</screen> </screen>
The name of the option space in which the sub-options are defined
Finally, we should specify values for those new options: is set in the "encapsulates" field.
</para>
<para>
Finally, we can set values for the new options:
<screen> <screen>
&gt; <userinput>config add Dhcp6/option-data</userinput> &gt; <userinput>config add Dhcp6/option-data</userinput>
&gt; <userinput>config set Dhcp6/option-data[0]/name "subopt1"</userinput> &gt; <userinput>config set Dhcp6/option-data[0]/name "subopt1"</userinput>
@@ -4714,9 +4728,9 @@ Finally, we should specify values for those new options:
<section id="dhcp6-config-subnets"> <section id="dhcp6-config-subnets">
<title>Subnet Selection</title> <title>Subnet Selection</title>
<para> <para>
The DHCPv6 server may receive requests from local (connected to the same The DHCPv6 server may receive requests from local (connected
subnet as the server) and remote (connecting via relays) to the same subnet as the server) and remote (connecting via
clients. relays) clients.
<note> <note>
<para> <para>
Currently relayed DHCPv6 traffic is not supported. The server will Currently relayed DHCPv6 traffic is not supported. The server will
@@ -4754,7 +4768,7 @@ Finally, we should specify values for those new options:
<para>The DHCPv6 protocol uses a "server identifier" (also known <para>The DHCPv6 protocol uses a "server identifier" (also known
as a DUID) for clients to be able to discriminate between several as a DUID) for clients to be able to discriminate between several
servers present on the same link. There are several types of servers present on the same link. There are several types of
DUIDs defined, but RFC 3315 instructs servers to use DUID-LLT if DUIDs defined, but <ulink url="http://tools.ietf.org/html/rfc3315">RFC 3315</ulink> instructs servers to use DUID-LLT if
possible. This format consists of a link-layer (MAC) address and a possible. This format consists of a link-layer (MAC) address and a
timestamp. When started for the first time, the DHCPv6 server will timestamp. When started for the first time, the DHCPv6 server will
automatically generate such a DUID and store the chosen value to automatically generate such a DUID and store the chosen value to
@@ -4777,7 +4791,7 @@ Finally, we should specify values for those new options:
</section> </section>
<section id="dhcp6-std"> <section id="dhcp6-std">
<title>Supported DHCPv6 Standards</title> <title>Supported Standards</title>
<para>The following standards and draft standards are currently <para>The following standards and draft standards are currently
supported:</para> supported:</para>
<itemizedlist> <itemizedlist>