// // THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. // USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git // acl Nagios { <%= roles = scope.lookupvar('site::roles') str = '' roles['nagiosmaster'].each do |node| scope.lookupvar('site::allnodeinfo')[node]['ipHostNumber'].each do |ip| str += "\t" + ip + "/32;\n" end end str-%> }; options { directory "/var/cache/bind"; auth-nxdomain no; # conform to RFC1035 listen-on { ! 127.0.0.1; any; }; listen-on-v6 { ! ::1; any; }; allow-transfer { none; }; allow-update { none; }; <% if classes.include?("named::geodns") -%> blackhole { 192.168.0.0/16; 10.0.0.0/8; 172.16.0.0/12; }; <% end -%> <%= allowed='Nagios; ' str = "\tallow-recursion { " + allowed + " };\n" str += "\tallow-query { " + allowed + " };\n" str -%> <% if classes.include?('named::authoritative') or classes.include?('named::geodns') -%> dnssec-enable yes; dnssec-validation yes; <% end -%> <% if scope.function_has_role(['dns_secondary']) -%> rate-limit { responses-per-second 25; window 5; slip 5; qps-scale 250; }; <% end -%> }; logging { channel queries { <% if classes.include?('named::geodns') -%> file "/var/log/bind9/geoip-query.log" versions 4 size 40m; <% else -%> file "/var/log/bind9/named-query.log" versions 4 size 40m; <% end -%> print-time yes; print-category yes; }; category queries { queries; }; category lame-servers { null; }; }; <% if classes.include?('named::authoritative') -%> include "/etc/bind/named.conf.puppet-shared-keys"; <% end -%>