X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fnamed%2Ftemplates%2Fnamed.conf.options.erb;h=ede58e220b2033a5306403e9a911907d3fdab8ee;hb=4ab4184b7ed2da472e75a998f93bad4f064731df;hp=5dec7ba1f3c42bc9af2d9dd535d338b884ae401c;hpb=0908741048684a3f0d143144b82fab87095a42a6;p=mirror%2Fdsa-puppet.git diff --git a/modules/named/templates/named.conf.options.erb b/modules/named/templates/named.conf.options.erb index 5dec7ba1f..ede58e220 100644 --- a/modules/named/templates/named.conf.options.erb +++ b/modules/named/templates/named.conf.options.erb @@ -5,59 +5,79 @@ acl Nagios { <%= + roles = scope.lookupvar('site::roles') str = '' - localinfo.keys.sort.each do |node| - if localinfo[node]['nagiosmaster'] - keyinfo[node][0]['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-%> }; options { - directory "/var/cache/bind"; + directory "/var/cache/bind"; - auth-nxdomain no; # conform to RFC1035 - listen-on-v6 { any; }; + 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 -%> + 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; ' - if classes.include?('named::secondary') - allowed += 'localnets; ' - end - str = "allow-recursion { " + allowed + " };\n" - str += "allow-query { " + allowed + " };\n" + str = "\tallow-recursion { " + allowed + " };\n" + str += "\tallow-query { " + allowed + " };\n" str -%> -<%= if classes.include?('named::secondary') -%> +<% if classes.include?('named::authoritative') or classes.include?('named::geodns') -%> dnssec-enable yes; dnssec-validation yes; -<%= end -%> +<% end -%> + +<% if scope.function_has_role(['dns_secondary']) -%> + rate-limit { + responses-per-second 25; + window 5; + slip 5; + qps-scale 250; + }; +<% end -%> + + max-journal-size 100K; }; logging { channel queries { -<%= if classes.include?('named::geodns') -%> +<% if classes.include?('named::geodns') -%> file "/var/log/bind9/geoip-query.log" versions 4 size 40m; -<%= else -%> +<% else -%> file "/var/log/bind9/named-query.log" versions 4 size 40m; -<%= end -%> +<% end -%> print-time yes; print-category yes; }; 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 -%>