1STUBBY(1)                   General Commands Manual                  STUBBY(1)
2
3
4

NAME

6       stubby - a local DNS Privacy stub resolver
7
8

SYNOPSIS

10       stubby [-C file] [-ghilV] [-v loglevel]
11
12

DESCRIPTION

14       stubby  acts  as a local DNS Privacy stub resolver, using DNS-over-TLS.
15       Stubby encrypts DNS queries sent from the local machine to a  DNS  Pri‐
16       vacy resolver, increasing end user privacy.
17
18       stubby  is in the early stages of development but is suitable for tech‐
19       nical/advanced users.
20
21       stubby provides DNS Privacy by running as a daemon that listens on  the
22       loopback  address  for DNS queries, and forwards those queries out over
23       TLS.  The default configuration provides Strict  Privacy,  and  uses  a
24       subset   of   available   DNS   Privacy  servers.  See  https://dnspri
25       vacy.org/wiki/display/DP/DNS+Privacy+Test+Servers
26
27

OPTIONS

29       -C file
30              Read settings from the configuration file file. If  this  option
31              is   not  given,  stubby  looks  for  a  configuration  file  at
32              ~/.stubby.yml.  If this is not present, stubby falls back to the
33              global configuration file /etc/stubby/stubby.yml.
34
35       -g     Run stubby as a daemon.
36
37       -h     Print a usage message and exit.
38
39       -i     Read the configuration, validate the contents, pretty-print them
40              to the standard output and exit.
41
42       -l     Enable all logging. Equivalent to -v 7.
43
44       -v loglevel
45              Enable logging. All logging messages at or  below  loglevel  are
46              printed to standard error:
47
48              0: EMERG
49                     The system is unusable
50
51              1: ALERT
52                     Action must be taken immediately
53
54              2: CRIT
55                     Critical conditions
56
57              3: ERROR
58                     Error conditions
59
60              4: WARN
61                     Warning conditions
62
63              5: NOTICE
64                     Normal, but significant, conditions
65
66              6: INFO
67                     Information messages
68
69              7: DEBUG
70                     Debug-level messages
71
72       -V     Print the stubby version and exit.
73
74

CONFIGURATION

76       The configuration file is in YAML. An example config is:
77
78              resolution_type: GETDNS_RESOLUTION_STUB
79              dns_transport_list:
80                - GETDNS_TRANSPORT_TLS
81              tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
82              tls_query_padding_blocksize: 256
83              edns_client_subnet_private : 1
84              idle_timeout: 10000
85              listen_addresses:
86                - 127.0.0.1
87                -  0::1
88              round_robin_upstreams: 1
89              upstream_recursive_servers:
90                - address_data: 145.100.185.15
91                  tls_auth_name: "dnsovertls.sinodun.com"
92                  tls_pubkey_pinset:
93                    - digest: "sha256"
94                      value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4=
95                - address_data: 145.100.185.16
96                  tls_auth_name: "dnsovertls1.sinodun.com"
97                  tls_pubkey_pinset:
98                    - digest: "sha256"
99                      value: cE2ecALeE5B+urJhDrJlVFmf38cJLAvqekONvjvpqUA=
100                - address_data: 185.49.141.37
101                  tls_auth_name: "getdnsapi.net"
102                  tls_pubkey_pinset:
103                    - digest: "sha256"
104                      value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q=
105                - address_data: 2001:610:1:40ba:145:100:185:15
106                  tls_auth_name: "dnsovertls.sinodun.com"
107                  tls_pubkey_pinset:
108                    - digest: "sha256"
109                      value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4=
110                - address_data: 2001:610:1:40ba:145:100:185:16
111                  tls_auth_name: "dnsovertls1.sinodun.com"
112                  tls_pubkey_pinset:
113                    - digest: "sha256"
114                      value: cE2ecALeE5B+urJhDrJlVFmf38cJLAvqekONvjvpqUA=
115                - address_data: 2a04:b900:0:100::38
116                  tls_auth_name: "getdnsapi.net"
117                  tls_pubkey_pinset:
118                    - digest: "sha256"
119                      value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q=
120
121       The  configuration  items are as follow. Some take constant values from
122       the getdns library underlying stubby and further explanation  of  their
123       values   may   be   found   in   the   getdns   documentation   or   at
124       http://www.getdnsapi.net
125
126       resolution_type resolution.
127              This must be set to GETDNS_RESOLUTION_STUB for historic reasons.
128              stubby will exit with an error if any other setting is used.
129
130       dns_transport_list list
131              Set the list of transport types to be used. For DNS Privacy this
132              must be set to GETDNS_TRANSPORT_TLS. Clear text  transports  are
133              GETDNS_TRANSPORT_TCP and GETDNS_TRANSPORT_UDP
134
135       tls_authentication type
136              Set  the  type  of  authentication required. For Strict Privacy,
137              this should be set to GETDNS_AUTHENTICATION_REQUIRED. For Oppor‐
138              tunistic  mode, remove this setting or set to GETDNS_AUTHENTICA‐
139              TION_NONE.  In Opportunistic mode authentication  of  the  name‐
140              server  is not required and fallback to clear text transports is
141              permitted if they are in dns_transport_list
142
143       tls_query_padding_blocksize blocksize
144              Use the EDNS0 padding option to pad DNS queries  to  hide  their
145              size.
146
147       edns_client_subnet_private 0 or 1
148              If  1,  use EDNS0 Client Subnet privacy so the client s ubnet is
149              not sent to authoritative servers.
150
151       idle_timeout timeout
152              Use an EDNS0 Keepalive  idle  timeout  of  timeout  milliseconds
153              unless overridden by the server. This keeps idle TLS connections
154              open to avoid the overhead of opening a new connection for every
155              query.
156
157       round_robin_upstreams 0 or 1
158              If  1,  round  robin  queries across all the configured upstream
159              servers. Without this  option  stubby  will  use  each  upstream
160              server  sequentially  until it becomes unavailable and then move
161              on to use the next.
162
163       upstream_recursive_servers server list
164              Specify the upstream servers that stubby is to use. Each item in
165              the list contains the following items:
166
167              address_data address
168                     IPv4 or IPv6 address of the server.
169
170              tls_auth_name name
171                     This is the authentication domain name that will be veri‐
172                     fied against the presented certificate.
173
174              tls_pubkey_pinset pinset
175                     The sha256 SPKI pinset for the server. This is also veri‐
176                     fied against the presented certificate. This contains two
177                     items:
178
179                     digest type
180                            The type of the key digest.
181
182                     value keyval
183                            The key value.
184
185

FILES

187       ~/.stubby.yml
188       /etc/stubby/stubby.yml
189
190

SEE ALSO

192       https://getdnsapi.net/
193       https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby
194
195
196
197                                                                     STUBBY(1)
Impressum