unbound
: Installs and configures Unbound, the caching DNS resolver from NLnet Labsunbound::remote
: Configure remote control of the unbound daemon process
unbound::forward
: Configures a zone for DNS forwardingunbound::localzone
: Configures a local zone.unbound::record
: Create an unbound static DNS record overrideunbound::stub
: Create an unbound stub zone for caching upstream name resolvers
Unbound::Access_control
: custom type for access control listsUnbound::Address
: Patterns copied from Stdlib::IPUnbound::Chroot
: custom type for access chroot dir to allow support for empty stringUnbound::Hints_file
: custom type for hints fileUnbound::Local_zone
: custom enum type for local-zone typesUnbound::Local_zone_override
: custom type for local zone overridesUnbound::Local_zone_type
: custom enum type for local-zone typesUnbound::Module
: list of valid modulesUnbound::Range
: custom type for rangesUnbound::Resource_record_type
: custom type for resource record used for local-dataUnbound::Rpz
: Type used to validate rzp configuerationUnbound::Rpz::Action
: list of valid rpz actionsUnbound::Size
: custom type for size
Installs and configures Unbound, the caching DNS resolver from NLnet Labs
The following parameters are available in the unbound
class:
manage_service
verbosity
statistics_interval
statistics_cumulative
extended_statistics
num_threads
port
interface
interface_automatic
interface_automatic_ports
outgoing_interface
outgoing_range
outgoing_port_permit
outgoing_port_avoid
outgoing_port_permit_first
outgoing_num_tcp
incoming_num_tcp
edns_buffer_size
max_udp_size
stream_wait_size
msg_cache_size
msg_cache_slabs
num_queries_per_thread
jostle_timeout
delay_close
unknown_server_time_limit
so_rcvbuf
so_sndbuf
so_reuseport
ip_transparent
ip_freebind
rrset_cache_size
rrset_cache_slabs
cache_max_ttl
cache_max_negative_ttl
cache_min_ttl
infra_host_ttl
infra_cache_numhosts
infra_cache_slabs
infra_cache_min_rtt
define_tag
do_ip4
do_ip6
prefer_ip6
do_udp
do_tcp
tcp_mss
tls_cert_bundle
tls_upstream
outgoing_tcp_mss
tcp_idle_timeout
edns_tcp_keepalive
edns_tcp_keepalive_timeout
tcp_upstream
udp_upstream_without_downstream
ssl_upstream
ssl_service_key
ssl_service_pem
ssl_port
tls_ciphers
tls_ciphersuites
use_systemd
do_daemonize
access_control
chroot
logfile
log_identity
log_time_ascii
log_queries
log_replies
log_tag_queryreply
log_local_actions
log_servfail
pidfile
hide_identity
identity
hide_version
version
hide_trustanchor
target_fetch_policy
harden_short_bufsize
harden_large_queries
harden_glue
harden_dnssec_stripped
harden_below_nxdomain
harden_referral_path
harden_algo_downgrade
use_caps_for_id
caps_whitlist
qname_minimisation
qname_minimisation_strict
private_address
private_domain
unwanted_reply_threshold
do_not_query_address
do_not_query_localhost
prefetch
prefetch_key
deny_any
rrset_roundrobin
minimal_responses
disable_dnssec_lame_check
trust_anchor_file
trust_anchor
trust_anchor_signaling
domain_insecure
val_sig_skew_min
val_sig_skew_max
val_bogus_ttl
val_clean_additional
val_log_level
val_permissive_mode
ignore_cd_flag
serve_expired
serve_expired_ttl
serve_expired_ttl_reset
serve_expired_reply_ttl
serve_expired_client_timeout
val_nsec3_keysize_iterations
add_holddown
del_holddown
keep_missing
permit_small_holddown
key_cache_size
key_cache_slabs
neg_cache_size
unblock_lan_zones
insecure_lan_zones
local_zone
local_data
local_data_ptr
local_zone_tag
local_zone_override
ratelimit
ratelimit_size
ratelimit_slabs
ratelimit_factor
ratelimit_for_domain
ratelimit_below_domain
ip_ratelimit
ip_ratelimit_size
ip_ratelimit_slabs
ip_ratelimit_factor
fast_server_permil
fast_server_num
forward
stub
record
access
confdir
directory
conf_d
config_file
control_enable
control_setup_path
control_path
fetch_client
group
keys_d
trusted_keys_file
module_config
owner
username
package_name
package_ensure
purge_unbound_conf_d
root_hints_url
runtime_dir
auto_trust_anchor_file
anchor_fetch_command
service_name
service_hasstatus
service_ensure
service_enable
validate_cmd
restart_cmd
force_restart
custom_server_conf
skip_roothints_download
python_script
dns64_prefix
dns64_synthall
send_client_subnet
client_subnet_zone
client_subnet_always_forward
max_client_subnet_ipv4
max_client_subnet_ipv6
min_client_subnet_ipv4
min_client_subnet_ipv6
max_ecs_tree_size_ipv4
max_ecs_tree_size_ipv6
ipsecmod_enabled
ipsecmod_hook
ipsecmod_strict
ipsecmod_max_ttl
ipsecmod_ignore_bogus
ipsecmod_whitelist
backend
secret_seed
redis_server_host
redis_server_port
redis_timeout
unbound_conf_d
hints_file
update_root_hints
hints_file_content
rpzs
unbound_version
Data type: Boolean
ensure puppet manages the service
Default value: true
Data type: Integer[0,5]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 1
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Integer[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 1
Data type: Integer[0, 65535]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 53
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Unbound::Range
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: '32768-65535'
Data type: Unbound::Range
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: '0-32767'
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Integer[0,4096]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 1232
Data type: Optional[Integer[0,65536]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0,65535]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Hash[String[1], Unbound::Access_control]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Optional[Unbound::Chroot]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Stdlib::Absolutepath
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: '/var/run/unbound/unbound.pid'
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Array[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Integer[0]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 10000000
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Optional[Integer[0,2]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Array[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Unbound::Local_zone
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Hash[String[1], Array[String[1]]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Hash[String[1], Unbound::Local_zone_override]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Hash[String[1], Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Hash[String[1], Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Unbound::Size]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0,1000]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Hash
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Hash
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Hash
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Array
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: ['::1', '127.0.0.1']
Data type: String[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: '/etc/unbound'
Data type: Stdlib::Absolutepath
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: $confdir
Data type: String[1]
see A directory often included in unbound.conf config
Default value: "${confdir}/conf.d"
Data type: String[1]
The location of the main config file
Default value: "${confdir}/unbound.conf"
Data type: Boolean
enable nsd-control
Default value: false
Data type: String[1]
the path to nsd-control-setup
Default value: '/usr/sbin/unbound-control-setup'
Data type: String[1]
see the path to nsd-control
Default value: '/usr/sbin/unbound-control'
Data type: String[1]
client used to fetch files e.g. curl
Default value: 'wget -O'
Data type: String[1]
the group to use for files
Default value: 'unbound'
Data type: String[1]
the directory to store keys
Default value: "${confdir}/keys.d"
Data type: Stdlib::Absolutepath
the directory for trusted keys
Default value: "${keys_d}/*.key"
Data type: Array[Unbound::Module]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: String[1]
the owner to use for files
Default value: 'unbound'
Data type: String[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: $owner
Data type: Variant[String,Array]
The package(s) to install to get unbound
Default value: 'unbound'
Data type: String[1]
the ensure value for the packages
Default value: 'installed'
Data type: Boolean
if true all unmanaged files in $unbound_conf_d will be purged
Default value: false
Data type: String[1]
the url to download the root hints file
Default value: 'https://www.internic.net/domain/named.root'
Data type: Stdlib::Absolutepath
the runtime directory used
Default value: $confdir
Data type: Stdlib::Absolutepath
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: "${runtime_dir}/root.key"
Data type: String[1]
the command to use to fetch the root anchor
Default value: "unbound-anchor -a ${auto_trust_anchor_file}"
Data type: String[1]
the name of the managed service
Default value: 'unbound'
Data type: Boolean
Indicate if the service supports the status parameter
Default value: true
Data type: Enum['running', 'stopped']
the ensure parameter for the managed service
Default value: 'running'
Data type: Boolean
the enable parameter for the managed service
Default value: true
Data type: String[1]
the validate_cmd to use to check the config
Default value: '/usr/sbin/unbound-checkconf %'
Data type: String[1]
The restart command to use when reload is not enough
Default value: "/bin/systemctl restart ${service_name}"
Data type: Boolean
Always force a service reload
Default value: false
Data type: Array[String[1]]
Add some custome config to $configfile
Default value: []
Data type: Boolean
don't download the root hints file
Default value: false
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: String[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: '64:ff9b::/96'
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Integer[0,32]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 24
Data type: Integer[0,128]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 56
Data type: Optional[Integer[0,32]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0,128]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Optional[Integer[0]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: true
Data type: Optional[Stdlib::Absolutepath]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Integer[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 3600
Data type: Boolean
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: false
Data type: Array[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: []
Data type: Optional[String[1]]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: undef
Data type: String[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 'default'
Data type: String[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: '127.0.0.1'
Data type: Integer[1,65536]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 6379
Data type: Integer[1]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: 100
Data type: Stdlib::Absolutepath
similar to conf_d, will be merged with conf_d version in future
Default value: "${confdir}/unbound.conf.d"
Data type: Unbound::Hints_file
the root hints file to use
Default value: "${confdir}/root.hints"
Data type: Enum['absent','present','unmanaged']
f we should update the root hints file
Default value: fact('systemd') ? { true => 'present', default => 'unmanaged'
Data type: Optional[String[1]]
the contents of the root hints file
Default value: undef
Data type: Hash[String[1], Unbound::Rpz]
see https://nlnetlabs.nl/documentation/unbound/unbound.conf/
Default value: {}
Data type: Optional[String[1]]
the unbound_version to use, we can caluclate from the fact but specifying reduces the number of puppet runs
Default value: $facts['unbound_version']
Configure remote control of the unbound daemon process
The following parameters are available in the unbound::remote
class:
enable
interface
port
server_key_file
control_use_cert
server_cert_file
control_key_file
control_cert_file
group
confdir
config_file
control_setup_path
Data type: Boolean
The option is used to enable remote control, default is false. If turned off, the server does not listen for control.
Default value: $unbound::control_enable
Data type: Array
Give IPv4 or IPv6 addresses to listen on for control commands. By default localhost (127.0.0.1 and ::1) is listened.
Default value: ['::1', '127.0.0.1']
Data type: Integer
The port number to listen on for control commands, default is 8953. If you change this port number, and permissions have been dropped, a reload is not sufficient to open the port again, you must then restart.
Default value: 8953
Data type: String
Path to the server private key, by default unbound_server.key. This file is generated by the unbound-control-setup utility. This file is used by the unbound server, but not by unbound-control.
Default value: "${unbound::confdir}/unbound_server.key"
Data type: Boolean
if we should use certs for the control channel
Default value: true
Data type: String
Path to the server self signed certificate, by default unbound_server.pem. This file is generated by the unbound-control-setup utility. This file is used by the unbound server, and also by unbound-control.
Default value: "${unbound::confdir}/unbound_server.pem"
Data type: String
Path to the control client private key, by default unbound_control.key. This file is generated by the unbound-control-setup utility. This file is used by unbound-control.
Default value: "${$unbound::confdir}/unbound_control.key"
Data type: String
Path to the control client certificate, by default unbound_control.pem. This certificate has to be signed with the server certificate. This file is generated by the unbound-control-setup utility. This file is used by unbound-control.
Default value: "${$unbound::confdir}/unbound_control.pem"
Data type: Any
Name of the group for unbound files and directory
Default value: $unbound::group
Data type: Any
Name of the directory where configuration files are stored
Default value: $unbound::confdir
Data type: Any
Name of the unbound config file
Default value: $unbound::config_file
Data type: Any
the path to nsd-control-setup
Default value: $unbound::control_setup_path
Configures a zone for DNS forwarding
The following parameters are available in the unbound::forward
defined type:
Data type: Any
the name of the zone.
Default value: $name
Data type: Array
IP address of server to forward queries to. Can be IP 4 or IP 6 (and an array or a single value. To use a nondefault port for DNS communication append '@' with the port number.
Default value: []
Data type: Array
Hostname of server to forward queries to. Can be IP 4 or IP 6 (and an array or a single value. To use a nondefault port for DNS communication append '@' with the port number.
Default value: []
Data type: Pattern[/yes|no/]
If enabled, a query is attempted without the forward clause if it fails. The data could not be retrieved and would have caused SERVFAIL because the servers are unreachable, instead it is tried without this clause. The default is 'no'.
Default value: 'no'
Data type: Pattern[/yes|no/]
If enabled, unbound will query the forward DNS server via TLS.
Default value: 'no'
Data type: Pattern[/yes|no/]
If enabled, unbound will query the forward DNS server via TLS.
Default value: 'no'
Data type: Any
name of configuration file
Default value: $unbound::config_file
The default zones are localhost, reverse 127.0.0.1 and ::1, and the AS112 zones. The AS112 zones are reverse DNS zones for private use and reserved IP addresses for which the servers on the internet cannot pro- vide correct answers.
=== Parameters:
The following parameters are available in the unbound::localzone
defined type:
Data type: String
String. Zone name.
Default value: $name
Data type: Unbound::Local_zone_type
Custom type Unbound::Local_zone_type.
Data type: Any
name of configuration file.
Default value: $unbound::config_file
Data type: Array[Unbound::Resource_record_type]
Define local data which should be rendered into configuration file. Required value is an Array of the custom type Unbond::Resource_record_type. Default value: []. Example: unbound::localzone::local_data: - name: 'api.test.com' ttl: 15 class: IN type: A data: '1.1.1.1' - name: 'backend.test.com' type: A data: '2.2.2.2'
Default value: []
Data type: String
Use a custom template.
Default value: 'unbound/local_zone.erb'
Create an unbound static DNS record override
The following parameters are available in the unbound::record
defined type:
Data type: Variant[Array[String[1]], String[1]]
The name of the record (ip address)
Data type: Any
The time to live for this record, defaults to '14400'
Default value: '14400'
Data type: Any
Type or the record
Default value: 'A'
Data type: Any
Reverse record or not, defaults to false
Default value: false
Data type: Any
Name entry for the record (name)
Default value: $name
Data type: Any
name of configuration file
Default value: $unbound::config_file
Create an unbound stub zone for caching upstream name resolvers
The following parameters are available in the unbound::stub
defined type:
Data type: Variant[Array[Unbound::Address], Unbound::Address]
IP address of server to forward to. Can be IP 4 or IP 6 (and an array or a single value. To use a nondefault port for DNS communication append '@' with the port number.
Data type: Array[Stdlib::Host]
Name of stub zone nameserver. Is itself resolved before it is used.
Default value: []
Data type: Variant[Boolean, Enum['true', 'false']]
Sets domain name to be insecure, DNSSEC chain of trust is ignored towards the domain name. So a trust anchor above the domain name can not make the domain secure with a DS record, such a DS record is then ignored. Also keys from DLV are ignored for the domain. Can be given multiple times to specify multiple domains that are treated as if unsigned. If you set trust anchors for the domain they override this setting (and the domain is secured). This can be useful if you want to make sure a trust anchor for external lookups does not affect an (unsigned) internal domain. A DS record externally can create validation failures for that internal domain.
Default value: false
Data type: Variant[Boolean, Enum['true', 'false']]
don't cache
Default value: false
Data type: Variant[Boolean, Enum['true', 'false']]
Controls 'stub-first' stub zone option. If true, a query that fails with the stub clause is attempted again without the stub clause.
Default value: false
Data type: Unbound::Local_zone_type
can be 'deny', 'refuse', 'static', 'transparent', 'typetransparent', 'redirect' or 'nodefault'.
Default value: 'transparent'
Data type: Optional[Stdlib::Unixpath]
Name of the unbound config file
Default value: undef
custom type for access control lists
Alias of
Struct[{
action => Optional[Enum['deny', 'refuse', 'allow', 'allow_setrd', 'allow_snoop', 'allow_cookie', 'deny_non_local', 'refuse_non_local']],
tags => Optional[Array[String]],
rr_string => Optional[String],
view => Optional[String],
}]
Patterns copied from Stdlib::IP
Alias of
Variant[Stdlib::IP::Address::Nosubnet, Pattern[
/\A([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}@\d{1,5}\z/,
/\A[[:xdigit:]]{1,4}(:[[:xdigit:]]{1,4}){7}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){6}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){5}:([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){4}(:[[:xdigit:]]{1,4}){0,1}:([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){3}(:[[:xdigit:]]{1,4}){0,2}:([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){2}(:[[:xdigit:]]{1,4}){0,3}:([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){1}(:[[:xdigit:]]{1,4}){0,4}:([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A:(:[[:xdigit:]]{1,4}){0,5}:([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])){3}(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A:(:|(:[[:xdigit:]]{1,4}){1,7})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){1}(:|(:[[:xdigit:]]{1,4}){1,6})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){2}(:|(:[[:xdigit:]]{1,4}){1,5})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){3}(:|(:[[:xdigit:]]{1,4}){1,4})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){4}(:|(:[[:xdigit:]]{1,4}){1,3})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){5}(:|(:[[:xdigit:]]{1,4}){1,2})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){6}(:|(:[[:xdigit:]]{1,4}){1,1})(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
/\A([[:xdigit:]]{1,4}:){7}:(\/(1([01][0-9]|2[0-8])|[1-9][0-9]|[0-9]))?@\d{1,5}\z/,
]]
custom type for access chroot dir to allow support for empty string
Alias of Variant[Enum[''], Stdlib::Absolutepath]
custom type for hints file
Alias of Variant[Enum['builtin'], Stdlib::Absolutepath]
custom enum type for local-zone types
Alias of Hash[String, Unbound::Local_zone_type]
custom type for local zone overrides
Alias of
Struct[{
netblock => String,
type => Unbound::Local_zone_type
}]
custom enum type for local-zone types
Alias of Enum['deny', 'refuse', 'static', 'transparent', 'redirect', 'nodefault', 'typetransparent', 'inform', 'inform_deny', 'inform_redirect', 'always_transparent', 'block_a', 'always_refuse', 'always_nxdomain', 'always_null', 'noview', 'nodefault']
list of valid modules
Alias of Enum['validator', 'iterator', 'python', 'dns64', 'subnetcache', 'ipsecmod', 'cachedb', 'respip']
custom type for ranges
Alias of Pattern[/\d+(-\d+)?/]
custom type for resource record used for local-data
Alias of
Struct[{
'name' => String,
'ttl' => Optional[Integer],
'class' => Optional[String],
'type' => String,
'data' => String,
}]
Type used to validate rzp configueration
Alias of
Struct[{
primary => Optional[Array[Stdlib::Host]],
master => Optional[Array[Stdlib::Host]],
url => Optional[Array[Stdlib::HTTPUrl]],
allow_notify => Optional[Array[Stdlib::Host]],
zonefile => Optional[Stdlib::Unixpath],
rpz_action_override => Optional[Unbound::Rpz::Action],
rpz_cname_override => Optional[Stdlib::Fqdn],
rpz_log => Optional[Boolean],
rpz_log_name => Optional[String],
tags => Optional[Array[String]],
}]
The following parameters are available in the Unbound::Rpz
data type:
primary
master
url
allow_notify
zonefile
rpz_action_override
rpz_cname_override
rpz_log
rpz_log_name
tags
the primary name server
another name for the primary name server
to download the rpz zone
list of hosts allowed to notify
path to zonefile
Always use this RPZ action for matching triggers from this zone. Possible action are: nxdomain, nodata, passthru, drop, disabled and cname.
The CNAME target domain to use if the cname action is configured for rpz-action-override.
Log all applied RPZ actions for this RPZ zone
Specify a string to be part of the log line, for easy referencing.
Limit the policies from this RPZ clause to clients with a matching tag
list of valid rpz actions
Alias of Enum['nxdomain', 'nodata', 'passthru', 'drop', 'disabled', 'cname']
custom type for size
Alias of Pattern[/\d+([kmg])?/]