source: server/other/unbound.xml

trunk
Last change on this file was cf1e858, checked in by Douglas R. Reno <renodr@…>, 2 weeks ago

Unbound: Add dependency on protobuf-c

  • Property mode set to 100644
File size: 11.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
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 unbound-download-http "https://nlnetlabs.nl/downloads/unbound/unbound-&unbound-version;.tar.gz">
8 <!ENTITY unbound-download-ftp " ">
9 <!ENTITY unbound-md5sum "00bf61460c87c2542bcb68d52a2e5195">
10 <!ENTITY unbound-size "6.1 MB">
11 <!ENTITY unbound-buildsize "145 MB (with docs; add 13 MB for tests)">
12 <!ENTITY unbound-time "0.3 SBU (Using parallelism=4; with docs; add 0.4 SBU for tests)">
13]>
14
15<sect1 id="unbound" xreflabel="Unbound-&unbound-version;">
16 <?dbhtml filename="unbound.html"?>
17
18
19 <title>Unbound-&unbound-version;</title>
20
21 <indexterm zone="unbound">
22 <primary sortas="a-Unbound">Unbound</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Unbound</title>
27
28 <para>
29 <application>Unbound</application> is a validating, recursive, and caching
30 DNS resolver. It is designed as a set of modular components that
31 incorporate modern features, such as enhanced security (DNSSEC)
32 validation, Internet Protocol Version 6 (IPv6), and a client resolver
33 library API as an integral part of the architecture.
34 </para>
35
36 &lfs121_checked;
37
38 <bridgehead renderas="sect3">Package Information</bridgehead>
39 <itemizedlist spacing="compact">
40 <listitem>
41 <para>
42 Download (HTTP): <ulink url="&unbound-download-http;"/>
43 </para>
44 </listitem>
45 <listitem>
46 <para>
47 Download (FTP): <ulink url="&unbound-download-ftp;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download MD5 sum: &unbound-md5sum;
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download size: &unbound-size;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Estimated disk space required: &unbound-buildsize;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated build time: &unbound-time;
68 </para>
69 </listitem>
70 </itemizedlist>
71
72 <bridgehead renderas="sect3">Unbound Dependencies</bridgehead>
73<!--
74 <bridgehead renderas="sect4">Required</bridgehead>
75 <para role="required">
76 <xref linkend="openssl"/>
77 broken?
78 or <xref linkend="nss"/>
79 </para>
80-->
81
82 <bridgehead renderas="sect4">Optional</bridgehead>
83 <para role="optional">
84 <xref linkend="libevent"/>,
85 <xref linkend="nettle"/>,
86 <xref linkend="protobuf-c"/> (for dnstap),
87 <xref linkend="python2"/>,
88 <xref linkend="sphinx"/> (for Python bindings documentation),
89 <xref linkend="swig"/> (for Python bindings),
90 <xref linkend="doxygen"/> (for html documentation), and
91 <ulink url="https://dnstap.info/">dnstap</ulink>
92 </para>
93
94 </sect2>
95
96 <sect2 role="installation">
97 <title>Installation of Unbound</title>
98
99 <para>
100 There should be a dedicated user and group to take control of the
101 <command>unbound</command> daemon after it is started. Issue the following
102 commands as the <systemitem class="username">root</systemitem> user:
103 </para>
104
105<screen role="root"><userinput>groupadd -g 88 unbound &amp;&amp;
106useradd -c "Unbound DNS Resolver" -d /var/lib/unbound -u 88 \
107 -g unbound -s /bin/false unbound</userinput></screen>
108
109 <para>
110 Install <application>Unbound</application> by running the following
111 commands:
112 </para>
113
114<screen><userinput>./configure --prefix=/usr \
115 --sysconfdir=/etc \
116 --disable-static \
117 --with-pidfile=/run/unbound.pid &amp;&amp;
118make</userinput></screen>
119
120 <para>
121 If you have <xref linkend="doxygen"/> package installed and want to build
122 html documentation, run the following command:
123 </para>
124
125<screen remap="doc"><userinput>make doc</userinput></screen>
126
127 <para>
128 To test the results, issue <command>make check</command>.
129 </para>
130
131 <para>
132 Now, as the <systemitem class="username">root</systemitem> user:
133 </para>
134
135<screen role="root"><userinput>make install &amp;&amp;
136mv -v /usr/sbin/unbound-host /usr/bin/</userinput></screen>
137
138 <para>
139 If you built the documentation, install it by running the following
140 commands as the <systemitem class="username">root</systemitem> user:
141 </para>
142
143<screen role="root"
144 remap="doc"><userinput>install -v -m755 -d /usr/share/doc/unbound-&unbound-version; &amp;&amp;
145install -v -m644 doc/html/* /usr/share/doc/unbound-&unbound-version;</userinput></screen>
146
147 </sect2>
148
149 <sect2 role="commands">
150 <title>Command Explanations</title>
151
152 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
153 href="../../xincludes/static-libraries.xml"/>
154
155 <para>
156 <option>--with-libevent</option>: This option enables libevent support
157 allowing use of large outgoing port ranges.
158 </para>
159
160 <para>
161 <option>--with-pyunbound</option>: This option enables building of the Python
162 bindings.
163 </para>
164
165 </sect2>
166
167 <sect2 role="configuration">
168 <title>Configuring Unbound</title>
169
170 <sect3 id="unbound-config">
171 <title>Config Files</title>
172
173 <para>
174 <filename>/etc/unbound/unbound.conf</filename>
175 </para>
176
177 <indexterm zone="unbound unbound-config">
178 <primary sortas="e-etc-unbound-unbound.conf">/etc/unbound/unbound.conf</primary>
179 </indexterm>
180
181 </sect3>
182
183 <sect3>
184 <title>Configuration Information</title>
185
186 <para>
187 In the default configuration, <command>unbound</command> will bind to
188 localhost (127.0.0.1 IP address) and allow recursive queries only from
189 localhost clients. If you want to use <command>unbound</command> for
190 local DNS resolution, run the following command as the
191 <systemitem class="username">root</systemitem> user:
192 </para>
193
194<screen role="root"><userinput>echo "nameserver 127.0.0.1" > /etc/resolv.conf</userinput></screen>
195
196 <para>
197 For advanced configuration see
198 <filename>/etc/unbound/unbound.conf</filename> file and the
199 documentation.
200 </para>
201
202 <para revision="sysv">
203 When <application>Unbound</application> is installed, some package
204 builds fail if the file <filename>/etc/unbound/root.key</filename> is
205 not found. This file is created by running the boot script (install
206 instructions below). Alternatively, it can be created by running the
207 following command as the <systemitem class="username">root</systemitem>
208 user:
209 </para>
210
211 <para revision="systemd">
212 When <application>Unbound</application> is installed, some package
213 builds fail if the file <filename>/etc/unbound/root.key</filename> is
214 not found. Create this file by running the following command as the
215 <systemitem class="username">root</systemitem> user:
216 </para>
217
218<screen role="nodump"><userinput>unbound-anchor</userinput></screen>
219
220 </sect3>
221
222 <sect3 id="unbound-init">
223 <title><phrase revision="sysv">Boot Script</phrase>
224 <phrase revision="systemd">Systemd Unit</phrase></title>
225
226 <para>
227 If you want the <application>Unbound</application> server to
228 start automatically when the system is booted, install the
229 <phrase revision="sysv"><filename>/etc/rc.d/init.d/unbound</filename>
230 init script</phrase>
231 <phrase revision="systemd"><filename>unbound.service</filename>
232 unit</phrase> included
233 in the <xref linkend="bootscripts" revision="sysv"/>
234 <xref linkend="systemd-units" revision="systemd"/> package:
235 </para>
236
237 <indexterm zone="unbound unbound-init">
238 <primary sortas="f-unbound">unbound</primary>
239 </indexterm>
240
241<screen role="root"><userinput>make install-unbound</userinput></screen>
242
243 </sect3>
244
245 </sect2>
246
247 <sect2 role="content">
248 <title>Contents</title>
249
250 <segmentedlist>
251 <segtitle>Installed Programs</segtitle>
252 <segtitle>Installed Library</segtitle>
253 <segtitle>Installed Directories</segtitle>
254
255 <seglistitem>
256 <seg>
257 unbound, unbound-anchor, unbound-checkconf, unbound-control,
258 unbound-control-setup, and unbound-host
259 </seg>
260 <seg>
261 libunbound.so and (optional)
262 /usr/lib/python&python2-majorver;/site-packages/_unbound.so
263 </seg>
264 <seg>
265 /etc/unbound and /usr/share/doc/unbound-&unbound-version; (optional)
266 </seg>
267 </seglistitem>
268 </segmentedlist>
269
270 <variablelist>
271 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
272 <?dbfo list-presentation="list"?>
273 <?dbhtml list-presentation="table"?>
274
275 <varlistentry id="unbound-prog">
276 <term><command>unbound</command></term>
277 <listitem>
278 <para>
279 is a DNS resolver daemon
280 </para>
281 <indexterm zone="unbound unbound-prog">
282 <primary sortas="b-unbound">unbound</primary>
283 </indexterm>
284 </listitem>
285 </varlistentry>
286
287 <varlistentry id="unbound-anchor">
288 <term><command>unbound-anchor</command></term>
289 <listitem>
290 <para>
291 performs setup or update of the root trust anchor for DNSSEC
292 validation
293 </para>
294 <indexterm zone="unbound unbound-anchor">
295 <primary sortas="b-unbound-anchor">unbound-anchor</primary>
296 </indexterm>
297 </listitem>
298 </varlistentry>
299
300 <varlistentry id="unbound-checkconf">
301 <term><command>unbound-checkconf</command></term>
302 <listitem>
303 <para>
304 checks the <command>unbound</command> configuration file for syntax
305 and other errors
306 </para>
307 <indexterm zone="unbound unbound-checkconf">
308 <primary sortas="b-unbound-checkconf">unbound-checkconf</primary>
309 </indexterm>
310 </listitem>
311 </varlistentry>
312
313 <varlistentry id="unbound-control">
314 <term><command>unbound-control</command></term>
315 <listitem>
316 <para>
317 performs remote administration on the <command>unbound</command> DNS
318 resolver
319 </para>
320 <indexterm zone="unbound unbound-control">
321 <primary sortas="b-unbound-control">unbound-control</primary>
322 </indexterm>
323 </listitem>
324 </varlistentry>
325
326 <varlistentry id="unbound-control-setup">
327 <term><command>unbound-control-setup</command></term>
328 <listitem>
329 <para>
330 generates a self-signed certificate and private keys for the server
331 and client
332 </para>
333 <indexterm zone="unbound unbound-control-setup">
334 <primary sortas="b-unbound-control-setup">unbound-control-setup</primary>
335 </indexterm>
336 </listitem>
337 </varlistentry>
338
339 <varlistentry id="unbound-host">
340 <term><command>unbound-host</command></term>
341 <listitem>
342 <para>
343 is a DNS lookup utility similar to <command>host</command> from
344 <xref linkend="bind-utils"/>
345 </para>
346 <indexterm zone="unbound unbound-host">
347 <primary sortas="b-unbound-host">unbound-host</primary>
348 </indexterm>
349 </listitem>
350 </varlistentry>
351
352 <varlistentry id="libunbound">
353 <term><filename class="libraryfile">libunbound.so</filename></term>
354 <listitem>
355 <para>
356 provides the <application>Unbound</application> API functions to
357 programs
358 </para>
359 <indexterm zone="unbound libunbound">
360 <primary sortas="c-libunbound">libunbound.so</primary>
361 </indexterm>
362 </listitem>
363 </varlistentry>
364
365 </variablelist>
366
367 </sect2>
368
369</sect1>
Note: See TracBrowser for help on using the repository browser.