]> git.donarmstrong.com Git - dsa-puppet.git/blobdiff - modules/named/templates/named.conf.options.erb
log dns notify/transfers
[dsa-puppet.git] / modules / named / templates / named.conf.options.erb
index 2403fb8ed159d490f82641eee82d839ae1fd09ea..1d496d05ed9ae8b0a6174f0ae55117bb307921d6 100644 (file)
@@ -5,13 +5,12 @@
 
 acl Nagios {
 <%=
+  roles = scope.lookupvar('site::roles')
   str = ''
-  localinfo.keys.sort.each do |node|
-      if localinfo[node]['nagiosmaster']
-          allnodeinfo[node]['ipHostNumber'].each do |ip|
+  roles['nagiosmaster'].each do |node|
+          scope.lookupvar('site::allnodeinfo')[node]['ipHostNumber'].each do |ip|
               str += "\t" + ip + "/32;\n"
           end
-      end
   end
   str-%>
 };
@@ -20,12 +19,8 @@ options {
        directory "/var/cache/bind";
 
        auth-nxdomain no;    # conform to RFC1035
-<% if classes.include?("named::geodns") or %w{draghi diamond orff senfl ravel}.include?(hostname) -%>
        listen-on { ! 127.0.0.1; any; };
        listen-on-v6 { ! ::1; any; };
-<% else -%>
-       listen-on-v6 { any; };
-<% end -%>
 
        allow-transfer { none; };
        allow-update { none; };
@@ -35,9 +30,6 @@ options {
 
 <%=
   allowed='Nagios; '
-  if (classes.include?('named::authoritative') and not %w{draghi diamond orff senfl ravel}.include?(hostname)) or classes.include?('named::recursor')
-    allowed += 'localnets; '
-  end
 
   str =  "\tallow-recursion { " + allowed + " };\n"
   str += "\tallow-query { " + allowed + " };\n"
@@ -49,6 +41,16 @@ options {
        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 {
@@ -64,6 +66,17 @@ logging {
        };
        category queries { queries; };
        category lame-servers { null; };
+
+       channel transfers {
+               file "/var/log/bind9/named-transfers.log" versions 4 size 40m;
+               print-time yes;
+               print-category yes;
+       };
+       category xfer-out { transfers; };
+       category notify { transfers; };
+
 };
 
+<% if classes.include?('named::authoritative') -%>
+include "/etc/bind/named.conf.puppet-shared-keys";
+<% end -%>