Create shared TSIG keys between denis and geo[123]
[mirror/dsa-puppet.git] / modules / named / templates / named.conf.options.erb
1 //
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
4 //
5
6 acl Nagios {
7 <%=
8   roles = scope.lookupvar('site::roles')
9   str = ''
10   roles['nagiosmaster'].each do |node|
11           scope.lookupvar('site::allnodeinfo')[node]['ipHostNumber'].each do |ip|
12               str += "\t" + ip + "/32;\n"
13           end
14   end
15   str-%>
16 };
17
18 options {
19         directory "/var/cache/bind";
20
21         auth-nxdomain no;    # conform to RFC1035
22         listen-on { ! 127.0.0.1; any; };
23         listen-on-v6 { ! ::1; any; };
24
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; };
29 <% end -%>
30
31 <%=
32   allowed='Nagios; '
33
34   str =  "\tallow-recursion { " + allowed + " };\n"
35   str += "\tallow-query { " + allowed + " };\n"
36
37   str
38 -%>
39
40 <% if classes.include?('named::authoritative') or classes.include?('named::geodns') -%>
41         dnssec-enable yes;
42         dnssec-validation yes;
43 <% end -%>
44
45 <% if scope.function_has_role(['dns_secondary']) -%>
46         rate-limit {
47                 responses-per-second 25;
48                 window 5;
49                 slip 5;
50                 qps-scale 250;
51         };
52 <% end -%>
53
54         // Defaults are 100 and 10, causing lots and lots of tiny updates.
55         // This way, I hope, we'll get fewer (and thus bigger) updates. -- weasel
56         sig-signing-nodes 5000;
57         sig-signing-signatures 1000;
58
59         max-journal-size 100K;
60 };
61
62 logging {
63
64         channel queries {
65 <% if classes.include?('named::geodns') -%>
66                 file "/var/log/bind9/geoip-query.log" versions 4 size 40m;
67 <% else -%>
68                 file "/var/log/bind9/named-query.log" versions 4 size 40m;
69 <% end -%>
70                 print-time yes;
71                 print-category yes;
72         };
73         category queries { queries; };
74         category lame-servers { null; };
75
76         channel transfers {
77                 file "/var/log/bind9/named-transfers.log" versions 4 size 40m;
78                 print-time yes;
79                 print-category yes;
80         };
81         category xfer-out { transfers; };
82         category notify { transfers; };
83
84 };
85
86 include "/etc/bind/named.conf.puppet-shared-keys";