X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Funbound%2Fmanifests%2Finit.pp;h=3a0eeb34ec8bdac2b009f6ca659221decc963466;hb=42b6a399089afa8becb49d8fe573e61502c80f36;hp=f94d4739eca76ad3f0d8a6c3634c9b5e4f5f09fe;hpb=61b1f29e849df28f2892efc5f98318611e99eeeb;p=mirror%2Fdsa-puppet.git diff --git a/modules/unbound/manifests/init.pp b/modules/unbound/manifests/init.pp index f94d4739e..3a0eeb34e 100644 --- a/modules/unbound/manifests/init.pp +++ b/modules/unbound/manifests/init.pp @@ -8,6 +8,11 @@ # class unbound { + $is_recursor = getfromhash($site::nodeinfo, 'misc', 'resolver-recursive') + $client_ranges = hiera('allow_dns_query') + $empty_client_range = empty($client_ranges) + $ns = hiera('nameservers') + package { 'unbound': ensure => installed } @@ -41,6 +46,14 @@ class unbound { mode => '0644', source => 'puppet:///modules/unbound/debian.org.key' } + file { '/var/lib/unbound/29.172.in-addr.arpa.key': + ensure => present, + replace => false, + owner => unbound, + group => unbound, + mode => '0644', + source => 'puppet:///modules/unbound/29.172.in-addr.arpa.key' + } file { '/etc/unbound/unbound.conf': content => template('unbound/unbound.conf.erb'), require => [ @@ -51,18 +64,16 @@ class unbound { notify => Service['unbound'] } - if getfromhash($site::nodeinfo, 'misc', 'resolver-recursive') { - if getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query') { - @ferm::rule { 'dsa-dns': - domain => 'ip', - description => 'Allow nameserver access', - rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv4(getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query')))), - } - @ferm::rule { 'dsa-dns6': - domain => 'ip6', - description => 'Allow nameserver access', - rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv6(getfromhash($site::nodeinfo, 'hoster', 'allow_dns_query')))), - } + if ($is_recursor and !$empty_client_range) { + @ferm::rule { 'dsa-dns': + domain => 'ip', + description => 'Allow nameserver access', + rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv4($client_ranges))), + } + @ferm::rule { 'dsa-dns6': + domain => 'ip6', + description => 'Allow nameserver access', + rule => sprintf('&TCP_UDP_SERVICE_RANGE(53, (%s))', join_spc(filter_ipv6($client_ranges))), } } }