source: networking/connect/kea.xml@ fbdc09b

12.0 12.1 kea ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since fbdc09b was fbdc09b, checked in by Thomas Trepl <thomas@…>, 13 months ago

Add a note for strange looking braces in the config file

  • Property mode set to 100644
File size: 12.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY kea-download-http "https://downloads.isc.org/isc/kea/&kea-dhcp-version;/kea-&kea-dhcp-version;.tar.gz">
8 <!ENTITY kea-download-ftp "ftp://ftp.isc.org/isc/kea/&kea-dhcp-version;/kea-&kea-dhcp-version;.tar.gz">
9 <!ENTITY kea-md5sum "a0dae4b38288cb8c6fca4ff71b9c9c73">
10 <!ENTITY kea-size "9.8 MB">
11 <!ENTITY kea-buildsize "1.9 GB">
12 <!ENTITY kea-time "5 SBU"> <!-- CHECK -->
13]>
14
15<sect1 id="kea" xreflabel="KEA-&kea-dhcp-version;">
16 <?dbhtml filename="kea.html"?>
17
18
19 <title>Kea &kea-dhcp-version;</title>
20
21 <indexterm zone="kea">
22 <primary sortas="a-KEA">Kea</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to ISC Kea</title>
27
28 <para>
29 The <application>ISC Kea</application> package contains the
30 server programs for DHCP. It is the successor of the
31 <xref linkend="dhcp"/> server which is end-of-life since December 2022.
32 </para>
33
34 &lfs113_checked;
35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&kea-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&kea-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &kea-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &kea-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &kea-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &kea-time;
66 </para>
67 </listitem>
68 </itemizedlist>
69
70 <bridgehead renderas="sect3">Kea Dependencies</bridgehead>
71
72 <bridgehead renderas="sect4">Required</bridgehead>
73 <para role="required">
74 <xref linkend="log4cplus"/>
75 </para>
76
77 <para condition="html" role="usernotes">User Notes:
78 <ulink url="&blfs-wiki;/kea"/>
79 </para>
80 </sect2>
81
82 <sect2 role="kernel" id="kea-dhcp-kernel">
83 <title>Kernel Configuration</title>
84
85 <para>
86 You must have Packet Socket support. IPv6 support is optional.
87 </para>
88
89<screen><literal>[*] Networking support ---&gt; [CONFIG_NET]
90 Networking options ---&gt;
91 &lt;*&gt; Packet socket [CONFIG_PACKET]
92 &lt;*&gt; The IPv6 Protocol ---&gt; [CONFIG_IPV6]</literal></screen>
93 <indexterm zone="kea kea-dhcp-kernel">
94 <primary sortas="k-KEA">Kea</primary>
95 </indexterm>
96
97 </sect2>
98
99 <sect2 role="installation">
100 <title>Installation of ISC Kea DHCP</title>
101
102 <para>
103 Install <application>ISC Kea DHCP</application> by running
104 the following commands:
105 </para>
106
107<screen><userinput>./configure --prefix=/usr \
108 --sysconfdir=/etc \
109 --docdir=/usr/share/doc/kea-&kea-dhcp-version; \
110 --localstatedir=/var \
111 --enable-shell \
112 --with-openssl &amp;&amp;
113make</userinput></screen>
114
115 <para>
116 To test the results, issue: <command>make check</command>.
117 </para>
118
119 <para>
120 To install the <application>ISC Kea DHCP</application> suite,
121 issue the following commands as the
122 <systemitem class="username">root</systemitem> user:
123 </para>
124
125<screen role="root"><userinput>make -j1 install</userinput></screen>
126
127 </sect2>
128
129 <sect2 role="commands">
130 <title>Command Explanations</title>
131
132 <para>
133 <parameter>make -j1 install</parameter>: ISC doesn not recomment any form of
134 parallel or job server options when doing the install.
135 </para>
136
137 </sect2>
138
139 <sect2 role="configuration">
140 <title>Configuring ISC Kea DHCP</title>
141
142 <para>Consult the
143 <ulink url="https://kea.readthedocs.io/en/kea-2.2.0/">Kea Administrator Reference Manual</ulink>
144 for detailled information about the configuration of Kea.</para>
145
146 <para>The support of IPv4, IPv6 and DDNS has been splitted into
147 separate servers which runs independently from each other. Each
148 of them has its own configuration file. Additional configuration
149 files come from the keactrl agent which is uses to control the
150 servers in an easy way.</para>
151
152 <sect3 id="kea-dhcp-config">
153 <title>Config Files</title>
154
155 <para>
156 <filename>/etc/kea/keactrl.conf</filename>,
157 <filename>/etc/kea/kea-ctrl-agent.conf</filename>,
158 <filename>/etc/kea/kea-dhcp4.conf</filename>,
159 <filename>/etc/kea/kea-dhcp6.conf</filename> and
160 <filename>/etc/kea/kea-dhcp-ddns.conf</filename>
161 </para>
162
163 <indexterm zone="kea keactrl-config">
164 <primary sortas="e-etc-kea-keactrl.conf">/etc/kea/keactrl.conf</primary>
165 </indexterm>
166<!--
167 <indexterm zone="kea kea-ctrl-agent-config">
168 <primary sortas="e-etc-kea-kea-ctrl-agent.conf">/etc/kea/kea-ctrl-agent.conf</primary>
169 </indexterm>
170-->
171 <indexterm zone="kea kea-dhcp4-config">
172 <primary sortas="e-etc-kea-dhcp4.conf">/etc/kea/kea-dhcp4.conf</primary>
173 </indexterm>
174<!--
175 <indexterm zone="kea kea-dhcp6-config">
176 <primary sortas="e-etc-kea-dhcp6.conf">/etc/kea/kea-dhcp6.conf</primary>
177 </indexterm>
178
179 <indexterm zone="kea kea-dhcp-ddns-config">
180 <primary sortas="e-etc-kea-dhcp-ddns.conf">/etc/kea/kea-dhcp-ddns.conf</primary>
181 </indexterm>
182-->
183 </sect3>
184
185 <sect3 id="keactrl-config">
186 <title>Kea Control Configuration</title>
187
188 <para><command>keactrl</command> is used to control the
189 independend servers (IPv4, IPv6, DDNS). Its configuration file
190 <filename>/etc/kea/keactrl.conf</filename> is installed by
191 default and includes many path settings which are defined
192 due to the <command>configure</command> at build time. It also
193 includes settings to specify which of the servers should be
194 started.</para>
195
196 <itemizedlist>
197 <listitem>
198 <para>IPv4 DHCP server</para>
199 <para>This daemon handles requests for IPv4 addresses.
200 Set <literal>dhcp4=yes</literal> to start it, set
201 <literal>dhcp4=no</literal> in case DHCP service for IPv4
202 is not wanted.</para>
203 </listitem>
204 <listitem>
205 <para>IPv6 DHCP server</para>
206 <para>This daemon handles requests for IPv6 addresses.
207 Set <literal>dhcp6=yes</literal> to start it, set
208 <literal>dhcp6=no</literal> in case DHCP service for IPv6
209 is not wanted.</para>
210 </listitem>
211 <listitem>
212 <para>Dynamic DNS</para>
213 <para>This daemon is used to update a DNS server dynamically
214 when Kea assignes an IP address to a device.
215 Set <literal>dhcp_ddns=yes</literal> to enable it, set
216 <literal>dhcp_ddns=no</literal> in case dynamic DNS updates
217 are not wanted.</para>
218 </listitem>
219 <listitem>
220 <para>Control Agent</para>
221 <para>The Control Agent is a daemon which allows the
222 (re)configuration of the Kea DHCP service via REST API.
223 Set <literal>ctrl_agent=yes</literal> to start the
224 control agent (service providing a REST API), set
225 <literal>ctrl_agent=no</literal> in case the control agent
226 is not wanted.</para>
227 </listitem>
228 </itemizedlist>
229
230 <para>The Netconf service is not installed because required
231 dependencies are not covered by the current BLFS book.</para>
232
233 <para>With the following command, Kea will be configured to
234 start the dhcp service for IPv4 and the
235 dynamic DNS update, while the control agent and
236 the dhcp service for IPv6 remains down. Tweak the command to
237 match your needs on started services and execute as the
238 <systemitem class="username">root</systemitem> user:</para>
239
240<screen><userinput role="root">sed -e "s/^dhcp4=.*/dhcp4=yes/" \
241 -e "s/^dhcp6=.*/dhcp6=no/" \
242 -e "s/^dhcp_ddns=.*/dhcp_ddns=yes/" \
243 -e "s/^ctrl_agent=.*/ctrl_agent=no/" \
244 -i /etc/kea/keactrl.conf
245</userinput></screen>
246
247 </sect3>
248
249 <sect3 id="kea-dhcp4-config">
250 <title>IPv4 Server Configuration</title>
251
252 <para>
253 A sample configuration file is created in <filename>/etc/kea/kea-dhcpd4.conf</filename>.
254 Adjust the file to suit your needs or overwrite it by using
255 the following sample as the <systemitem class="username">root</systemitem>
256 user:
257 </para>
258
259<screen role="nodump" ><userinput>cat &gt; /etc/kea/kea-dhcpd4.conf &lt;&lt; "EOF"
260<literal>// Begin /etc/kea/kea-dhcpd4.conf
261{
262"Dhcp4": {
263 "interfaces-config": {
264 "interfaces": [ "eth0" ]
265 },
266 "control-socket": {
267 "socket-type": "unix",
268 "socket-name": "/run/kea/kea4-ctrl-socket"
269 },
270 "lease-database": {
271 "type": "memfile",
272 "lfc-interval": 3600
273 },
274 "renew-timer": 900,
275 "rebind-timer": 1800,
276 "valid-lifetime": 3600,
277 "option-data": [
278 {
279 "name": "domain-name-servers",
280 "data": "192.168.2.1, 192.168.2.2"
281 },
282 {
283 "name": "domain-search",
284 "data": "mydomain.example.org, example.org"
285 }
286 ],
287 "subnet4": [
288 {
289 "subnet": "192.168.2.0/24",
290 "pools": [
291 {
292 "pool": "192.168.2.16 - 192.168.2.64"
293 }
294 ],
295 "option-data": [
296 {
297 "name: "routers",
298 "value": "192.168.2.254"
299 }
300 ],
301 "reservations": [
302 {
303 "hw-address": "00:11:22:33:44:55",
304 "ip-address": "192.168.2.65",
305 "hostname": "host-2-65"
306 },
307 {
308 "hw-address": "00:00:00:00:00:01",
309 "ip-address": "192.168.2.253",
310 "hostname": "special-host",
311 "option-data": [
312 {
313 "name": "domain-name-servers",
314 "data": "192.168.1.1"
315 }
316 ]
317 }
318 ]
319 }
320 ]
321}
322}
323// End /etc/kea/kea-dhcpd4.conf</literal>
324EOF</userinput></screen>
325
326 <note>
327 <para>The double braces at the end of the config is not a typo.</para>
328 </note>
329
330 <para>The configuration for IPv6 is similar to the configuration
331 of IPv4. The configuration file is <filename>/etc/kea/kea-dhcpd6.conf</filename>.</para>
332
333 <para>
334 If you want to start the DHCP Server at boot, install the
335 <phrase revision="sysv"><filename>/etc/rc.d/init.d/kea-dhcpd</filename>
336 init script</phrase>
337 <phrase revision="systemd"><filename>kea-dhcpd.service</filename>
338 unit</phrase> included in the
339 <xref linkend="bootscripts" revision="sysv"/>
340 <xref linkend="systemd-units" revision="systemd"/>
341 package:
342 </para>
343
344<screen role="root"><userinput>make install-kea-dhcpd</userinput></screen>
345
346 </sect3>
347
348 </sect2>
349
350 <sect2 role="content">
351 <title>Contents</title>
352
353 <segmentedlist>
354 <segtitle>Installed Programs</segtitle>
355 <segtitle>Installed Libraries</segtitle>
356 <segtitle>Installed Directories</segtitle>
357
358 <seglistitem>
359 <seg>
360 keactrl, kea-admin, kea-ctrl-agent, kea-dhcp4, kea-dhcp6,
361 kea-dhcp-ddns, kea-lfc, kea-shell
362 </seg>
363 <seg>
364 libkea-*
365 </seg>
366 <seg>
367 /etc/kea,
368 /usr/include/kea,
369 /var/lib/kea
370 </seg>
371 </seglistitem>
372 </segmentedlist>
373
374 <variablelist>
375 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
376 <?dbfo list-presentation="list"?>
377 <?dbhtml list-presentation="table"?>
378
379 <varlistentry id="keactrl">
380 <term><command>keactrl</command></term>
381 <listitem>
382 <para>
383 Tool to control the server processes
384 </para>
385 <indexterm zone="kea keactrl">
386 <primary sortas="b-keactrl">keactrl</primary>
387 </indexterm>
388 </listitem>
389 </varlistentry>
390
391 <!-- ... -->
392
393 </variablelist>
394
395 </sect2>
396
397</sect1>
Note: See TracBrowser for help on using the repository browser.