81d35aeef7c342cf1528461134d0afe31d8ca50e
[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         dnssec-enable yes;
41         dnssec-validation yes;
42
43         // Defaults are 100 and 10, causing lots and lots of tiny updates.
44         // This way, I hope, we'll get fewer (and thus bigger) updates. -- weasel
45         sig-signing-nodes 5000;
46         sig-signing-signatures 1000;
47
48         max-journal-size 100K;
49 };
50
51 logging {
52
53         channel queries {
54 <% if classes.include?('named::geodns') -%>
55                 file "/var/log/bind9/geoip-query.log" versions 4 size 40m;
56 <% else -%>
57                 file "/var/log/bind9/named-query.log" versions 4 size 40m;
58 <% end -%>
59                 print-time yes;
60                 print-category yes;
61         };
62         category queries { queries; };
63         category lame-servers { null; };
64
65         channel transfers {
66                 file "/var/log/bind9/named-transfers.log" versions 4 size 40m;
67                 print-time yes;
68                 print-category yes;
69         };
70         category xfer-out { transfers; };
71         category notify { transfers; };
72
73 };
74
75 <% if scope.function_has_role(['dns_primary']) -%>
76 masters "easydns-masters" {
77         // https://cp.easydns.com/manage/domains/secondary/edit.php
78         64.68.200.91;
79         205.210.42.80;
80 };
81 acl "easydns-ACL" {
82         // https://cp.easydns.com/manage/domains/secondary/edit.php
83         64.68.200.91/32;
84         205.210.42.80/32;
85         key 82.195.75.91-key ;
86 };
87
88 masters "rcode0-masters" {
89         83.136.34.7;   // rcode0.net ipv4 ntfy
90         2A02:850:8::6; // rcode0.net ipv6 ntfy
91 };
92 acl "rcode0-ACL" {
93         83.136.34.0/27;  // rcode0.net ipv4 axfr
94         2A02:850:8::/47; // rcode0.net ipv6 axfr
95 };
96
97 masters "dnsnode-masters" {
98         192.36.144.222; // zork-b.sth.dnsnode.net
99         192.36.144.218; // zork-c.sth.dnsnode.net
100 };
101 acl "dnsnode-ACL" {
102         192.36.144.222; // zork-b.sth.dnsnode.net
103         192.36.144.218; // zork-c.sth.dnsnode.net
104 };
105
106 masters "dnsnodeapi-masters" {
107         194.146.105.24; // zorknds-b.sth.dnsnode.net
108         2a01:3f0:0:27::24;
109         194.146.105.25; // zorknds-c.sth.dnsnode.net
110         2a01:3f0:0:28::25;
111 };
112 acl "dnsnodeapi-ACL" {
113         // 194.146.105.24; // zorknds-b.sth.dnsnode.net
114         // 2a01:3f0:0:27::24;
115         // 194.146.105.25; // zorknds-c.sth.dnsnode.net
116         // 2a01:3f0:0:28::25;
117         key netnod-debian-20171122 ;
118 };
119 <% end -%>
120
121 include "/etc/bind/named.conf.puppet-shared-keys";