Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
STUBBY(1)		    General Commands Manual		     STUBBY(1)

NAME
       stubby -	a local	DNS Privacy stub resolver

SYNOPSIS
       stubby [-C file]	[-ghilV] [-v loglevel]

DESCRIPTION
       stubby  acts  as	a local	DNS Privacy stub resolver, using DNS-over-TLS.
       Stubby encrypts DNS queries sent	from the local machine to a  DNS  Pri-
       vacy resolver, increasing end user privacy.

       stubby  is in the early stages of development but is suitable for tech-
       nical/advanced users.

       stubby provides DNS Privacy by running as a daemon that listens on  the
       loopback	 address  for DNS queries, and forwards	those queries out over
       TLS.  The default configuration provides	Strict	Privacy,  and  uses  a
       subset	of   available	 DNS   Privacy	servers.  See  https://dnspri-
       vacy.org/wiki/display/DP/DNS+Privacy+Test+Servers

OPTIONS
       -C file
	      Read settings from the configuration file	file. If  this	option
	      is   not	given,	stubby	looks  for  a  configuration  file  at
	      ~/.stubby.yml.  If this is not present, stubby falls back	to the
	      global configuration file	/usr/local/etc/stubby/stubby.yml.

       -g     Run stubby as a daemon.

       -h     Print a usage message and	exit.

       -i     Read the configuration, validate the contents, pretty-print them
	      to the standard output and exit.

       -l     Enable all logging. Equivalent to	-v 7.

       -v loglevel
	      Enable logging. All logging messages at or  below	 loglevel  are
	      printed to standard error:

	      0: EMERG
		     The system	is unusable

	      1: ALERT
		     Action must be taken immediately

	      2: CRIT
		     Critical conditions

	      3: ERROR
		     Error conditions

	      4: WARN
		     Warning conditions

	      5: NOTICE
		     Normal, but significant, conditions

	      6: INFO
		     Information messages

	      7: DEBUG
		     Debug-level messages

       -V     Print the	stubby version and exit.

CONFIGURATION
       The configuration file is in YAML. An example config is:

	      resolution_type: GETDNS_RESOLUTION_STUB
	      dns_transport_list:
		- GETDNS_TRANSPORT_TLS
	      tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
	      tls_query_padding_blocksize: 256
	      edns_client_subnet_private : 1
	      idle_timeout: 10000
	      listen_addresses:
		- 127.0.0.1
		-  0::1
	      round_robin_upstreams: 1
	      upstream_recursive_servers:
		- address_data:	145.100.185.15
		  tls_auth_name: "dnsovertls.sinodun.com"
		  tls_pubkey_pinset:
		    - digest: "sha256"
		      value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4=
		- address_data:	145.100.185.16
		  tls_auth_name: "dnsovertls1.sinodun.com"
		  tls_pubkey_pinset:
		    - digest: "sha256"
		      value: cE2ecALeE5B+urJhDrJlVFmf38cJLAvqekONvjvpqUA=
		- address_data:	185.49.141.37
		  tls_auth_name: "getdnsapi.net"
		  tls_pubkey_pinset:
		    - digest: "sha256"
		      value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q=
		- address_data:	2001:610:1:40ba:145:100:185:15
		  tls_auth_name: "dnsovertls.sinodun.com"
		  tls_pubkey_pinset:
		    - digest: "sha256"
		      value: 62lKu9HsDVbyiPenApnc4sfmSYTHOVfFgL3pyB+cBL4=
		- address_data:	2001:610:1:40ba:145:100:185:16
		  tls_auth_name: "dnsovertls1.sinodun.com"
		  tls_pubkey_pinset:
		    - digest: "sha256"
		      value: cE2ecALeE5B+urJhDrJlVFmf38cJLAvqekONvjvpqUA=
		- address_data:	2a04:b900:0:100::38
		  tls_auth_name: "getdnsapi.net"
		  tls_pubkey_pinset:
		    - digest: "sha256"
		      value: foxZRnIh9gZpWnl+zEiKa0EJ2rdCGroMWm02gaxSc9Q=

       The  configuration  items are as	follow.	Some take constant values from
       the getdns library underlying stubby and	further	explanation  of	 their
       values	may   be   found   in	the   getdns   documentation   or   at
       http://www.getdnsapi.net

       resolution_type resolution.
	      This must	be set to GETDNS_RESOLUTION_STUB for historic reasons.
	      stubby will exit with an error if	any other setting is used.

       dns_transport_list list
	      Set the list of transport	types to be used. For DNS Privacy this
	      must be set to GETDNS_TRANSPORT_TLS. Clear text  transports  are
	      GETDNS_TRANSPORT_TCP and GETDNS_TRANSPORT_UDP

       tls_authentication type
	      Set  the	type  of  authentication required. For Strict Privacy,
	      this should be set to GETDNS_AUTHENTICATION_REQUIRED. For	Oppor-
	      tunistic mode, remove this setting or set	to  GETDNS_AUTHENTICA-
	      TION_NONE.   In  Opportunistic  mode authentication of the name-
	      server is	not required and fallback to clear text	transports  is
	      permitted	if they	are in dns_transport_list

       tls_query_padding_blocksize blocksize
	      Use  the	EDNS0  padding option to pad DNS queries to hide their
	      size.

       edns_client_subnet_private 0 or 1
	      If 1, use	EDNS0 Client Subnet privacy so the client s  ubnet  is
	      not sent to authoritative	servers.

       idle_timeout timeout
	      Use  an EDNS0 Keepalive idle timeout of timeout milliseconds un-
	      less overridden by the server. This keeps	idle  TLS  connections
	      open to avoid the	overhead of opening a new connection for every
	      query.

       round_robin_upstreams 0 or 1
	      If  1,  round  robin  queries across all the configured upstream
	      servers. Without this  option  stubby  will  use	each  upstream
	      server  sequentially  until it becomes unavailable and then move
	      on to use	the next.

       upstream_recursive_servers server list
	      Specify the upstream servers that	stubby is to use. Each item in
	      the list contains	the following items:

	      address_data address
		     IPv4 or IPv6 address of the server.

	      tls_auth_name name
		     This is the authentication	domain name that will be veri-
		     fied against the presented	certificate.

	      tls_pubkey_pinset	pinset
		     The sha256	SPKI pinset for	the server. This is also veri-
		     fied against the presented	certificate. This contains two
		     items:

		     digest type
			    The	type of	the key	digest.

		     value keyval
			    The	key value.

FILES
       ~/.stubby.yml
       /usr/local/etc/stubby/stubby.yml

SEE ALSO
       https://getdnsapi.net/
       https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Daemon+-+Stubby

								     STUBBY(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=stubby&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help