nsd: Configure NSD authoritative DNS servernsd::as112: helper class to configure an as112 server
nsd::file: define for creating nsd zone filesnsd::remote: Configure a remote master servernsd::tsig: define for creating nsd zone filesnsd::zone: define for creating nsd zones
Nsd::Algo: Type for the Nsd algorithmNsd::Rrltype: Type for the Nsd rrltypeNsd::Server: Type for the Nsd serverNsd::Zonemd_generate: Type for the Nsd zonemd_generate
Configure NSD authoritative DNS server
The following parameters are available in the nsd class:
tcp_timeoutstatisticschrootlogfiledifffilecontrol_interfacedatabasedefault_tsig_namedefault_mastersdefault_provide_xfrsenableslave_addresseszonesfilestsigsremotesserver_templatezones_templatepattern_templategather_templateincludes_templatepuppetdb_serverpuppetdb_portip_addressesincludesip_transparentreuseportdebug_modetcp_counttcp_query_countipv4_edns_sizeipv6_edns_sizeportusernamexfrd_reload_timeoutverbosityhide_versionversioncontrol_enablecontrol_portlogrotate_rotatelogrotate_sizerrl_enablerrl_sizerrl_ratelimitrrl_sliprrl_whitelistrrl_ipv4_prefix_lengthrrl_ipv6_prefix_lengthrrl_whitelist_ratelimitidentitynsidserver_countpidfilezonesdirconf_dirzone_subdirconf_filexfrdfileserver_key_fileserver_cert_filecontrol_key_filecontrol_cert_filepackage_nameservice_namerestart_cmdlogrotate_enabledefault_allow_axfr_fallbackdefault_create_ixfrdefault_ixfr_sizedefault_max_refresh_timedefault_min_refresh_timedefault_max_retry_timedefault_min_retry_timedefault_min_expire_timeimportsexports
Data type: Optional[Integer]
TCP timeout in seconds
Default value: undef
Data type: Optional[Integer]
Interval in seconds for statistics
Default value: undef
Data type: Optional[Stdlib::Unixpath]
Directory to chroot to
Default value: undef
Data type: Optional[Stdlib::Unixpath]
Path to the log file
Default value: undef
Data type: Optional[Stdlib::Unixpath]
Path to the differences file
Default value: undef
Data type: Optional[Stdlib::IP::Address]
IP address for control interface
Default value: undef
Data type: Optional[Stdlib::Unixpath]
Path to the database file
Default value: undef
Data type: String
Default TSIG key name
Default value: 'NOKEY'
Data type: Array[String]
List of default master servers
Default value: []
Data type: Array[String]
List of default servers to provide zone transfers
Default value: []
Data type: Boolean
Whether to enable the service
Default value: true
Data type: Hash
Hash of slave addresses
Default value: {}
Data type: Hash
Hash of DNS zones
Default value: {}
Data type: Hash
Hash of files to manage
Default value: {}
Data type: Hash
Hash of TSIG keys
Default value: {}
Data type: Hash
Hash of remote servers
Default value: {}
Data type: String
Template for server configuration
Default value: 'nsd/etc/nsd/nsd.server.conf.erb'
Data type: String
Template for zones configuration
Default value: 'nsd/etc/nsd/nsd.zones.conf.erb'
Data type: String
Template for patterns configuration
Default value: 'nsd/etc/nsd/nsd.patterns.conf.erb'
Data type: String
Template for gather configuration
Default value: 'nsd/etc/nsd/nsd.gather.conf.erb'
Data type: String
Template for includes configuration
Default value: 'nsd/etc/nsd/nsd.includes.conf.erb'
Data type: Stdlib::IP::Address
IP address of the PuppetDB server
Default value: '127.0.0.1'
Data type: Stdlib::Port
Port of the PuppetDB server
Default value: 8080
Data type: Array[Stdlib::IP::Address]
List of IP addresses
Default value: []
Data type: Array[String[1]]
List of include files
Default value: []
Data type: Boolean
Whether to enable IP transparency
Default value: false
Data type: Boolean
Whether to enable SO_REUSEPORT
Default value: false
Data type: Boolean
Whether to enable debug mode
Default value: false
Data type: Integer
Number of TCP connections
Default value: 250
Data type: Integer
Number of TCP queries
Default value: 0
Data type: Integer[512,4096]
EDNS buffer size for IPv4
Default value: 4096
Data type: Integer[512,4096]
EDNS buffer size for IPv6
Default value: 4096
Data type: Stdlib::Port
Port number for the DNS server
Default value: 53
Data type: String
Username to run the service as
Default value: 'nsd'
Data type: Integer
Timeout for XFRD reload
Default value: 1
Data type: Integer[0,3]
Verbosity level
Default value: 0
Data type: Boolean
Whether to hide the version
Default value: false
Data type: Optional[String]
Version string
Default value: undef
Data type: Boolean
Whether to enable control interface
Default value: false
Data type: Stdlib::Port
Port number for control interface
Default value: 8952
Data type: Integer
Number of log rotations
Default value: 5
Data type: String
Size of log files for rotation
Default value: '100M'
Data type: Boolean
Whether to enable Response Rate Limiting
Default value: true
Data type: Integer
Size of the RRL table
Default value: 1000000
Data type: Integer
Rate limit for RRL
Default value: 200
Data type: Integer
Slip ratio for RRL
Default value: 2
Data type: Array[String]
List of whitelisted IPs for RRL
Default value: []
Data type: Integer[1,32]
IPv4 prefix length for RRL
Default value: 24
Data type: Integer[1,128]
IPv6 prefix length for RRL
Default value: 64
Data type: Integer
Rate limit for whitelisted IPs in RRL
Default value: 4000
Data type: String
Identity string
Default value: $facts['networking']['fqdn']
Data type: String
NSID string
Default value: $facts['networking']['fqdn']
Data type: Integer[1,255]
Number of server instances
Default value: $facts['processors']['count']
Data type: Stdlib::Unixpath
Path to the PID file
Default value: '/run/nsd/nsd.pid'
Data type: Stdlib::Unixpath
Directory for zone files
Default value: '/var/lib/nsd'
Data type: Stdlib::Unixpath
Directory for configuration files
Default value: '/etc/nsd'
Data type: Stdlib::Unixpath
Subdirectory for zone files
Default value: "${zonesdir}/zone"
Data type: Stdlib::Unixpath
Path to the main configuration file
Default value: "${conf_dir}/nsd.conf"
Data type: Stdlib::Unixpath
Path to the XFRD state file
Default value: "${zonesdir}/xfrd.state"
Data type: Stdlib::Unixpath
Path to the server key file
Default value: "${conf_dir}/nsd_server.key"
Data type: Stdlib::Unixpath
Path to the server certificate file
Default value: "${conf_dir}/nsd_server.pem"
Data type: Stdlib::Unixpath
Path to the control key file
Default value: "${conf_dir}/nsd_control.key"
Data type: Stdlib::Unixpath
Path to the control certificate file
Default value: "${conf_dir}/nsd_control.pem"
Data type: String
Name of the package
Default value: 'nsd'
Data type: String
Name of the service
Default value: 'nsd'
Data type: String
Command to restart the service
Default value: '/usr/sbin/nsd-control reconfig'
Data type: Boolean
Whether to enable log rotation
Default value: true
Data type: Optional[Stdlib::Yes_no]
Default allow AXFR fallback
Default value: undef
Data type: Optional[Stdlib::Yes_no]
Default create IXFR
Default value: undef
Data type: Optional[Integer]
Default IXFR size
Default value: undef
Data type: Optional[Integer]
Maximum refresh interval for zones
Default value: undef
Data type: Optional[Integer]
Minimum refresh interval for zones
Default value: undef
Data type: Optional[Integer]
Maximum retry interval for zones
Default value: undef
Data type: Optional[Integer]
Minimum retry interval for zones
Default value: undef
Data type: Optional[Integer]
Minimum expire interval for zones
Default value: undef
Data type: Array[String]
List of import files
Default value: []
Data type: Array[String]
List of export files
Default value: []
helper class to configure an as112 server
define for creating nsd zone files
The following parameters are available in the nsd::file defined type:
Data type: String
the ensure value for the file
Default value: 'present'
Data type: String
the owner of the file
Default value: 'root'
Data type: String
the group of the file
Default value: 'nsd'
Data type: Stdlib::Filemode
the mode of the file
Default value: '0640'
Data type: Optional[Stdlib::Filesource]
the source of the file
Default value: undef
Data type: Optional[String]
the content of the file
Default value: undef
Data type: Optional[String]
the template to use for the content
Default value: undef
Configure a remote master server
The following parameters are available in the nsd::remote defined type:
Data type: Optional[Stdlib::IP::Address]
the IPv4 address of the remote server
Default value: undef
Data type: Optional[Stdlib::IP::Address]
the IPv6 address of the remote server
Default value: undef
Data type: Optional[String]
the name of the tsig key to use
Default value: undef
Data type: Optional[String]
the name of the tsig key to use
Default value: undef
Data type: Stdlib::Port
the port to connect to
Default value: 53
define for creating nsd zone files
The following parameters are available in the nsd::tsig defined type:
Data type: String
the data for the tsig key
Data type: Nsd::Algo
the algorithm to use
Default value: 'hmac-sha256'
Data type: String
the template to use for the key
Default value: 'nsd/etc/nsd/nsd.key.conf.erb'
Data type: Optional[String]
the name of the key
Default value: undef
define for creating nsd zones
The following parameters are available in the nsd::zone defined type:
mastersprovide_xfrsallow_notify_additionssend_notify_additionszonefilezone_dirrrl_whitelistzonemd_verifyzonemd_generateallow_axfr_fallbackcreate_ixfrixfr_sizemax_refresh_timemin_refresh_timemax_retry_timemin_retry_timemin_expire_time
Data type: Array[String]
the list of master servers for the zone
Default value: []
Data type: Array[String]
the list of servers to provide xfrs to
Default value: []
Data type: Array[String]
the list of servers to allow notify additions from
Default value: []
Data type: Array[String]
the list of servers to send notify additions to
Default value: []
Data type: Optional[String]
the zone file to use
Default value: undef
Data type: Optional[Stdlib::Unixpath]
the directory to store the zone file in
Default value: undef
Data type: Array[Nsd::Rrltype]
the list of rrl whitelist entries
Default value: []
Data type: Optional[Enum['on','off']]
whether to verify zonemd records
Default value: undef
Data type: Optional[Nsd::Zonemd_generate]
whether to generate zonemd records
Default value: undef
Data type: Optional[Stdlib::Yes_no]
whether to allow axfr fallback
Default value: undef
Data type: Optional[Stdlib::Yes_no]
whether to create ixfr files
Default value: undef
Data type: Optional[Integer]
the size of the ixfr files
Default value: undef
Data type: Optional[Integer]
Maximum refresh interval for zones
Default value: undef
Data type: Optional[Integer]
Minimum refresh interval for zones
Default value: undef
Data type: Optional[Integer]
Maximum retry interval for zones
Default value: undef
Data type: Optional[Integer]
Minimum retry interval for zones
Default value: undef
Data type: Optional[Integer]
Minimum expire interval for zones
Default value: undef
Type for the Nsd algorithm
Alias of Enum[hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384, hmac-sha512, hmac-md5]
Type for the Nsd rrltype
Alias of Enum[nxdomain, error, referral, any, rrsig, wildcard, nodata, dnskey, positive, all]
Type for the Nsd server
Alias of
Struct[{
address4 => Optional[Variant[Tea::Ipv4, Tea::Ipv4_cidr]],
address6 => Optional[Variant[Tea::Ipv6, Tea::Ipv6_cidr]],
fetch_tsig_name => Optional[String],
provide_tsig_name => Optional[String],
}]Type for the Nsd zonemd_generate
Alias of Enum[none, zonemd-sha384, zonemd-sha512, remove]