2 // THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
3 // USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
8 roles = scope.lookupvar('site::roles')
10 roles['nagiosmaster'].each do |node|
11 scope.lookupvar('site::allnodeinfo')[node]['ipHostNumber'].each do |ip|
12 str += "\t" + ip + "/32;\n"
19 directory "/var/cache/bind";
21 auth-nxdomain no; # conform to RFC1035
22 listen-on { ! 127.0.0.1; any; };
23 listen-on-v6 { ! ::1; any; };
25 allow-transfer { none; };
26 allow-update { none; };
27 <% if classes.include?("named::geodns") -%>
28 blackhole { 192.168.0.0/16; 10.0.0.0/8; 172.16.0.0/12; };
34 str = "\tallow-recursion { " + allowed + " };\n"
35 str += "\tallow-query { " + allowed + " };\n"
40 <% if classes.include?('named::authoritative') or classes.include?('named::geodns') -%>
42 dnssec-validation yes;
45 <% if scope.function_has_role(['dns_secondary']) -%>
47 responses-per-second 25;
59 <% if classes.include?('named::geodns') -%>
60 file "/var/log/bind9/geoip-query.log" versions 4 size 40m;
62 file "/var/log/bind9/named-query.log" versions 4 size 40m;
67 category queries { queries; };
68 category lame-servers { null; };
72 <% if classes.include?('named::authoritative') -%>
73 include "/etc/bind/named.conf.puppet-shared-keys";