xref: /freebsd/contrib/unbound/doc/unbound-host.rst (revision b2efd602aea8b3cbc3fb215b9611946d04fceb10)
1*b2efd602SCy Schubert..
2*b2efd602SCy Schubert    WHEN EDITING MAKE SURE EACH SENTENCE STARTS ON A NEW LINE
3*b2efd602SCy Schubert
4*b2efd602SCy Schubert..
5*b2efd602SCy Schubert    IT HELPS RENDERERS TO DO THE RIGHT THING WRT SPACE
6*b2efd602SCy Schubert
7*b2efd602SCy Schubert..
8*b2efd602SCy Schubert    IT HELPS PEOPLE DIFFING THE CHANGES
9*b2efd602SCy Schubert
10*b2efd602SCy Schubert..
11*b2efd602SCy Schubert    WHEN EDITING MAKE SURE EACH SENTENCE STARTS ON A NEW LINE
12*b2efd602SCy Schubert
13*b2efd602SCy Schubert..
14*b2efd602SCy Schubert    IT HELPS RENDERERS TO DO THE RIGHT THING WRT SPACE
15*b2efd602SCy Schubert
16*b2efd602SCy Schubert..
17*b2efd602SCy Schubert    IT HELPS PEOPLE DIFFING THE CHANGES
18*b2efd602SCy Schubert
19*b2efd602SCy Schubert..
20*b2efd602SCy Schubert    WHEN EDITING MAKE SURE EACH SENTENCE STARTS ON A NEW LINE
21*b2efd602SCy Schubert
22*b2efd602SCy Schubert..
23*b2efd602SCy Schubert    IT HELPS RENDERERS TO DO THE RIGHT THING WRT SPACE
24*b2efd602SCy Schubert
25*b2efd602SCy Schubert..
26*b2efd602SCy Schubert    IT HELPS PEOPLE DIFFING THE CHANGES
27*b2efd602SCy Schubert
28*b2efd602SCy Schubert..
29*b2efd602SCy Schubert    WHEN EDITING MAKE SURE EACH SENTENCE STARTS ON A NEW LINE
30*b2efd602SCy Schubert
31*b2efd602SCy Schubert..
32*b2efd602SCy Schubert    IT HELPS RENDERERS TO DO THE RIGHT THING WRT SPACE
33*b2efd602SCy Schubert
34*b2efd602SCy Schubert..
35*b2efd602SCy Schubert    IT HELPS PEOPLE DIFFING THE CHANGES
36*b2efd602SCy Schubert
37*b2efd602SCy Schubert.. program:: unbound-host
38*b2efd602SCy Schubert
39*b2efd602SCy Schubertunbound-host(1)
40*b2efd602SCy Schubert===============
41*b2efd602SCy Schubert
42*b2efd602SCy SchubertSynopsis
43*b2efd602SCy Schubert--------
44*b2efd602SCy Schubert
45*b2efd602SCy Schubert**unbound-host** [``-C configfile``] [``-vdhr46D``] [``-c class``]
46*b2efd602SCy Schubert[``-t type``] [``-y key``] [``-f keyfile``] [``-F namedkeyfile``] hostname
47*b2efd602SCy Schubert
48*b2efd602SCy SchubertDescription
49*b2efd602SCy Schubert-----------
50*b2efd602SCy Schubert
51*b2efd602SCy Schubert``unbound-host`` uses the Unbound validating resolver to query for the hostname
52*b2efd602SCy Schubertand display results.
53*b2efd602SCy SchubertWith the :option:`-v` option it displays validation status: secure, insecure,
54*b2efd602SCy Schubertbogus (security failure).
55*b2efd602SCy Schubert
56*b2efd602SCy SchubertBy default it reads no configuration file whatsoever.
57*b2efd602SCy SchubertIt attempts to reach the internet root servers.
58*b2efd602SCy SchubertWith :option:`-C` an unbound config file and with :option:`-r` ``resolv.conf``
59*b2efd602SCy Schubertcan be read.
60*b2efd602SCy Schubert
61*b2efd602SCy SchubertThe available options are:
62*b2efd602SCy Schubert
63*b2efd602SCy Schubert.. option:: hostname
64*b2efd602SCy Schubert
65*b2efd602SCy Schubert       This name is resolved (looked up in the DNS).
66*b2efd602SCy Schubert       If a IPv4 or IPv6 address is given, a reverse lookup is performed.
67*b2efd602SCy Schubert
68*b2efd602SCy Schubert.. option:: -h
69*b2efd602SCy Schubert
70*b2efd602SCy Schubert       Show the version and commandline option help.
71*b2efd602SCy Schubert
72*b2efd602SCy Schubert.. option:: -v
73*b2efd602SCy Schubert
74*b2efd602SCy Schubert       Enable verbose output and it shows validation results, on every line.
75*b2efd602SCy Schubert       Secure means that the NXDOMAIN (no such domain name), nodata (no such
76*b2efd602SCy Schubert       data) or positive data response validated correctly with one of the
77*b2efd602SCy Schubert       keys.
78*b2efd602SCy Schubert       Insecure means that that domain name has no security set up for it.
79*b2efd602SCy Schubert       Bogus (security failure) means that the response failed one or more
80*b2efd602SCy Schubert       checks, it is likely wrong, outdated, tampered with, or broken.
81*b2efd602SCy Schubert
82*b2efd602SCy Schubert.. option:: -d
83*b2efd602SCy Schubert
84*b2efd602SCy Schubert       Enable debug output to stderr.
85*b2efd602SCy Schubert       One :option:`-d` shows what the resolver and validator are doing and may
86*b2efd602SCy Schubert       tell you what is going on.
87*b2efd602SCy Schubert       More times, :option:`-d` :option:`-d`, gives a lot of output, with every
88*b2efd602SCy Schubert       packet sent and received.
89*b2efd602SCy Schubert
90*b2efd602SCy Schubert.. option:: -c <class>
91*b2efd602SCy Schubert
92*b2efd602SCy Schubert       Specify the class to lookup for, the default is IN the internet
93*b2efd602SCy Schubert       class.
94*b2efd602SCy Schubert
95*b2efd602SCy Schubert.. option:: -t <type>
96*b2efd602SCy Schubert
97*b2efd602SCy Schubert       Specify the type of data to lookup.
98*b2efd602SCy Schubert       The default looks for IPv4, IPv6 and mail handler data, or domain name
99*b2efd602SCy Schubert       pointers for reverse queries.
100*b2efd602SCy Schubert
101*b2efd602SCy Schubert.. option:: -y <key>
102*b2efd602SCy Schubert
103*b2efd602SCy Schubert       Specify a public key to use as trust anchor.
104*b2efd602SCy Schubert       This is the base for a chain of trust that is built up from the trust
105*b2efd602SCy Schubert       anchor to the response, in order to validate the response message.
106*b2efd602SCy Schubert       Can be given as a DS or DNSKEY record.
107*b2efd602SCy Schubert       For example:
108*b2efd602SCy Schubert
109*b2efd602SCy Schubert       .. code-block:: text
110*b2efd602SCy Schubert
111*b2efd602SCy Schubert            -y "example.com DS 31560 5 1 1CFED84787E6E19CCF9372C1187325972FE546CD"
112*b2efd602SCy Schubert
113*b2efd602SCy Schubert.. option:: -D
114*b2efd602SCy Schubert
115*b2efd602SCy Schubert       Enables DNSSEC validation.
116*b2efd602SCy Schubert       Reads the root anchor from the default configured root anchor at the
117*b2efd602SCy Schubert       default location, :file:`@UNBOUND_ROOTKEY_FILE@`.
118*b2efd602SCy Schubert
119*b2efd602SCy Schubert.. option:: -f <keyfile>
120*b2efd602SCy Schubert
121*b2efd602SCy Schubert       Reads keys from a file.
122*b2efd602SCy Schubert       Every line has a DS or DNSKEY record, in the format as for :option:`-y`.
123*b2efd602SCy Schubert       The zone file format, the same as ``dig`` and ``drill`` produce.
124*b2efd602SCy Schubert
125*b2efd602SCy Schubert.. option:: -F <namedkeyfile>
126*b2efd602SCy Schubert
127*b2efd602SCy Schubert       Reads keys from a BIND-style :file:`named.conf` file.
128*b2efd602SCy Schubert       Only the ``trusted-key {};`` entries are read.
129*b2efd602SCy Schubert
130*b2efd602SCy Schubert.. option:: -C <configfile>
131*b2efd602SCy Schubert
132*b2efd602SCy Schubert       Uses the specified unbound.conf to prime :doc:`libunbound(3)</manpages/libunbound>`.
133*b2efd602SCy Schubert       Pass it as first argument if you want to override some options from the
134*b2efd602SCy Schubert       config file with further arguments on the commandline.
135*b2efd602SCy Schubert
136*b2efd602SCy Schubert.. option:: -r
137*b2efd602SCy Schubert
138*b2efd602SCy Schubert       Read :file:`/etc/resolv.conf`, and use the forward DNS servers from
139*b2efd602SCy Schubert       there (those could have been set by DHCP).
140*b2efd602SCy Schubert       More info in *resolv.conf(5)*.
141*b2efd602SCy Schubert       Breaks validation if those servers do not support DNSSEC.
142*b2efd602SCy Schubert
143*b2efd602SCy Schubert.. option:: -4
144*b2efd602SCy Schubert
145*b2efd602SCy Schubert       Use solely the IPv4 network for sending packets.
146*b2efd602SCy Schubert
147*b2efd602SCy Schubert.. option:: -6
148*b2efd602SCy Schubert
149*b2efd602SCy Schubert       Use solely the IPv6 network for sending packets.
150*b2efd602SCy Schubert
151*b2efd602SCy SchubertExamples
152*b2efd602SCy Schubert--------
153*b2efd602SCy Schubert
154*b2efd602SCy SchubertSome examples of use.
155*b2efd602SCy SchubertThe keys shown below are fakes, thus a security failure is encountered.
156*b2efd602SCy Schubert
157*b2efd602SCy Schubert.. code-block:: text
158*b2efd602SCy Schubert
159*b2efd602SCy Schubert       $ unbound-host www.example.com
160*b2efd602SCy Schubert
161*b2efd602SCy Schubert       $ unbound-host -v -y "example.com DS 31560 5 1 1CFED84787E6E19CCF9372C1187325972FE546CD" www.example.com
162*b2efd602SCy Schubert
163*b2efd602SCy Schubert       $ unbound-host -v -y "example.com DS 31560 5 1 1CFED84787E6E19CCF9372C1187325972FE546CD" 192.0.2.153
164*b2efd602SCy Schubert
165*b2efd602SCy SchubertExit Code
166*b2efd602SCy Schubert---------
167*b2efd602SCy Schubert
168*b2efd602SCy SchubertThe ``unbound-host`` program exits with status code 1 on error, 0 on no error.
169*b2efd602SCy SchubertThe data may not be available on exit code 0, exit code 1 means the lookup
170*b2efd602SCy Schubertencountered a fatal error.
171*b2efd602SCy Schubert
172*b2efd602SCy SchubertSee Also
173*b2efd602SCy Schubert--------
174*b2efd602SCy Schubert
175*b2efd602SCy Schubert:doc:`unbound.conf(5)</manpages/unbound.conf>`,
176*b2efd602SCy Schubert:doc:`unbound(8)</manpages/unbound>`.
177