~seth-arnold/charms/precise/pdns-recursor/trunk

« back to all changes in this revision

Viewing changes to hooks/config-changed

  • Committer: Seth Arnold
  • Date: 2013-03-28 06:56:54 UTC
  • Revision ID: seth.arnold@canonical.com-20130328065654-glz7wur6a1ofz6l7
Initial charm

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/bash
 
2
# Copyright 2013 Canonical
 
3
 
 
4
juju-log "Reconfiguring pdns-recursor"
 
5
 
 
6
allow=$(config-get allow_from)
 
7
addr=$(config-get address)
 
8
port=$(config-get port)
 
9
 
 
10
juju-log "allow: ${allow} local_addr: ${addr} local_port: ${port}"
 
11
 
 
12
[ -d /etc/powerdns ] || mkdir /etc/powerdns
 
13
cat > /etc/powerdns/recursor.conf <<EOF
 
14
# Autogenerated configuration file template
 
15
#################################
 
16
# aaaa-additional-processing    turn on to do AAAA additional processing (slow)
 
17
#
 
18
# aaaa-additional-processing=off
 
19
 
 
20
#################################
 
21
# allow-from    If set, only allow these comma separated netmasks to recurse
 
22
#
 
23
# allow-from=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10
 
24
allow-from=${allow:-127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10}
 
25
 
 
26
#################################
 
27
# allow-from-file       If set, load allowed netmasks from this file
 
28
#
 
29
# allow-from-file=
 
30
 
 
31
#################################
 
32
# auth-can-lower-ttl    If we follow RFC 2181 to the letter, an authoritative server can lower the TTL of NS records
 
33
#
 
34
# auth-can-lower-ttl=off
 
35
 
 
36
#################################
 
37
# auth-zones    Zones for which we have authoritative data, comma separated domain=file pairs 
 
38
#
 
39
# auth-zones=
 
40
 
 
41
#################################
 
42
# chroot        switch to chroot jail
 
43
#
 
44
# chroot=
 
45
 
 
46
#################################
 
47
# client-tcp-timeout    Timeout in seconds when talking to TCP clients
 
48
#
 
49
# client-tcp-timeout=2
 
50
 
 
51
#################################
 
52
# config-dir    Location of configuration directory (recursor.conf)
 
53
#
 
54
# config-dir=/etc/powerdns/
 
55
 
 
56
#################################
 
57
# daemon        Operate as a daemon
 
58
#
 
59
# daemon=yes
 
60
 
 
61
#################################
 
62
# delegation-only       Which domains we only accept delegations from
 
63
#
 
64
# delegation-only=
 
65
 
 
66
#################################
 
67
# disable-edns  Disable EDNS
 
68
#
 
69
# disable-edns=
 
70
 
 
71
#################################
 
72
# disable-edns-ping     Disable EDNSPing
 
73
#
 
74
# disable-edns-ping=no
 
75
 
 
76
#################################
 
77
# disable-packetcache   Disable packetcache
 
78
#
 
79
# disable-packetcache=no
 
80
 
 
81
#################################
 
82
# dont-query    If set, do not query these netmasks for DNS data
 
83
#
 
84
# dont-query=127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10
 
85
 
 
86
#################################
 
87
# entropy-source        If set, read entropy from this file
 
88
#
 
89
# entropy-source=/dev/urandom
 
90
 
 
91
#################################
 
92
# etc-hosts-file        Path to 'hosts' file
 
93
#
 
94
# etc-hosts-file=/etc/hosts
 
95
 
 
96
#################################
 
97
# export-etc-hosts      If we should serve up contents from /etc/hosts
 
98
#
 
99
# export-etc-hosts=off
 
100
 
 
101
#################################
 
102
# forward-zones Zones for which we forward queries, comma separated domain=ip pairs
 
103
#
 
104
# forward-zones=
 
105
 
 
106
#################################
 
107
# forward-zones-file    File with (+)domain=ip pairs for forwarding
 
108
#
 
109
# forward-zones-file=
 
110
 
 
111
#################################
 
112
# forward-zones-recurse Zones for which we forward queries with recursion bit, comma separated domain=ip pairs
 
113
#
 
114
# forward-zones-recurse=
 
115
 
 
116
#################################
 
117
# hint-file     If set, load root hints from this file
 
118
#
 
119
# hint-file=
 
120
 
 
121
#################################
 
122
# ignore-rd-bit Assume each packet requires recursion, for compatability
 
123
#
 
124
# ignore-rd-bit=off
 
125
 
 
126
#################################
 
127
# local-address IP addresses to listen on, separated by spaces or commas. Also accepts ports.
 
128
#
 
129
local-address=${addr:-0.0.0.0}
 
130
 
 
131
#################################
 
132
# local-port    port to listen on
 
133
#
 
134
local-port=${port:-53}
 
135
 
 
136
#################################
 
137
# log-common-errors     If we should log rather common errors
 
138
#
 
139
# log-common-errors=yes
 
140
 
 
141
#################################
 
142
# logging-facility      Facility to log messages as. 0 corresponds to local0
 
143
#
 
144
# logging-facility=
 
145
 
 
146
#################################
 
147
# lua-dns-script        Filename containing an optional 'lua' script that will be used to modify dns answers
 
148
#
 
149
# lua-dns-script=
 
150
 
 
151
#################################
 
152
# max-cache-entries     If set, maximum number of entries in the main cache
 
153
#
 
154
# max-cache-entries=1000000
 
155
 
 
156
#################################
 
157
# max-cache-ttl maximum number of seconds to keep a cached entry in memory
 
158
#
 
159
# max-cache-ttl=86400
 
160
 
 
161
#################################
 
162
# max-mthreads  Maximum number of simultaneous Mtasker threads
 
163
#
 
164
# max-mthreads=2048
 
165
 
 
166
#################################
 
167
# max-negative-ttl      maximum number of seconds to keep a negative cached entry in memory
 
168
#
 
169
# max-negative-ttl=3600
 
170
 
 
171
#################################
 
172
# max-packetcache-entries       maximum number of entries to keep in the packetcache
 
173
#
 
174
# max-packetcache-entries=500000
 
175
 
 
176
#################################
 
177
# max-tcp-clients       Maximum number of simultaneous TCP clients
 
178
#
 
179
# max-tcp-clients=128
 
180
 
 
181
#################################
 
182
# max-tcp-per-client    If set, maximum number of TCP sessions per client (IP address)
 
183
#
 
184
# max-tcp-per-client=0
 
185
 
 
186
#################################
 
187
# network-timeout       Wait this nummer of milliseconds for network i/o
 
188
#
 
189
# network-timeout=1500
 
190
 
 
191
#################################
 
192
# no-shuffle    Don't change
 
193
#
 
194
# no-shuffle=off
 
195
 
 
196
#################################
 
197
# packetcache-servfail-ttl      maximum number of seconds to keep a cached servfail entry in packetcache
 
198
#
 
199
# packetcache-servfail-ttl=60
 
200
 
 
201
#################################
 
202
# packetcache-ttl       maximum number of seconds to keep a cached entry in packetcache
 
203
#
 
204
# packetcache-ttl=3600
 
205
 
 
206
#################################
 
207
# pdns-distributes-queries      If PowerDNS itself should distribute queries over threads (EXPERIMENTAL)
 
208
#
 
209
# pdns-distributes-queries=no
 
210
 
 
211
#################################
 
212
# processes     Launch this number of processes (EXPERIMENTAL, DO NOT CHANGE)
 
213
#
 
214
# processes=1
 
215
 
 
216
#################################
 
217
# query-local-address   Source IP address for sending queries
 
218
#
 
219
# query-local-address=0.0.0.0
 
220
 
 
221
#################################
 
222
# query-local-address6  Source IPv6 address for sending queries
 
223
#
 
224
# query-local-address6=
 
225
 
 
226
#################################
 
227
# quiet Suppress logging of questions and answers
 
228
#
 
229
quiet=yes
 
230
 
 
231
#################################
 
232
# remotes-ringbuffer-entries    maximum number of packets to store statistics for
 
233
#
 
234
# remotes-ringbuffer-entries=0
 
235
 
 
236
#################################
 
237
# serve-rfc1918 If we should be authoritative for RFC 1918 private IP space
 
238
#
 
239
# serve-rfc1918=
 
240
 
 
241
#################################
 
242
# server-id     Returned when queried for 'server.id' TXT or NSID, defaults to hostname
 
243
#
 
244
# server-id=
 
245
 
 
246
#################################
 
247
# setgid        If set, change group id to this gid for more security
 
248
#
 
249
setgid=pdns
 
250
 
 
251
#################################
 
252
# setuid        If set, change user id to this uid for more security
 
253
#
 
254
setuid=pdns
 
255
 
 
256
#################################
 
257
# single-socket If set, only use a single socket for outgoing queries
 
258
#
 
259
# single-socket=off
 
260
 
 
261
#################################
 
262
# soa-minimum-ttl       Don't change
 
263
#
 
264
# soa-minimum-ttl=0
 
265
 
 
266
#################################
 
267
# soa-serial-offset     Don't change
 
268
#
 
269
# soa-serial-offset=0
 
270
 
 
271
#################################
 
272
# socket-dir    Where the controlsocket will live
 
273
#
 
274
# socket-dir=/var/run/
 
275
 
 
276
#################################
 
277
# socket-group  Group of socket
 
278
#
 
279
# socket-group=
 
280
 
 
281
#################################
 
282
# socket-mode   Permissions for socket
 
283
#
 
284
# socket-mode=
 
285
 
 
286
#################################
 
287
# socket-owner  Owner of socket
 
288
#
 
289
# socket-owner=
 
290
 
 
291
#################################
 
292
# spoof-nearmiss-max    If non-zero, assume spoofing after this many near misses
 
293
#
 
294
# spoof-nearmiss-max=20
 
295
 
 
296
#################################
 
297
# stack-size    stack size per mthread
 
298
#
 
299
# stack-size=200000
 
300
 
 
301
#################################
 
302
# threads       Launch this number of threads
 
303
#
 
304
# threads=2
 
305
 
 
306
#################################
 
307
# trace if we should output heaps of logging
 
308
#
 
309
# trace=off
 
310
 
 
311
#################################
 
312
# version-string        string reported on version.pdns or version.bind
 
313
#
 
314
# version-string=PowerDNS Recursor 3.3 $Id: pdns_recursor.cc 1712 2010-09-11 13:40:03Z ahu $
 
315
EOF
 
316
 
 
317
juju-log "Restarting pdns-recursor"
 
318
service pdns-recursor restart
 
319
 
 
320
juju-log "opening port ${local_port:-53}"
 
321
open-port ${port:-53}/udp