unbound module
authorPeter Palfrader <peter@palfrader.org>
Tue, 1 Mar 2011 21:44:16 +0000 (22:44 +0100)
committerPeter Palfrader <peter@palfrader.org>
Tue, 1 Mar 2011 21:44:16 +0000 (22:44 +0100)
modules/unbound/manifests/init.pp [new file with mode: 0644]
modules/unbound/templates/unbound.conf.erb [new file with mode: 0644]

diff --git a/modules/unbound/manifests/init.pp b/modules/unbound/manifests/init.pp
new file mode 100644 (file)
index 0000000..03ae86c
--- /dev/null
@@ -0,0 +1,52 @@
+class unbouned {
+    package {
+        unbound: ensure => installed;
+    }
+
+    exec {
+        "unbound restart":
+            path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
+            refreshonly => true,
+            ;
+    }
+    file {
+        "/var/lib/unbound":
+            ensure  => directory,
+            owner   => unbound,
+            group   => unbound,
+            mode    => 775,
+            ;
+        "/var/lib/unbound/root.key":
+            ensure  => present,
+            replace => false,
+            owner   => unbound,
+            group   => unbound,
+            mode    => 644,
+            # IANA root trust anchor, valid from 2010-07-15T00:00:00+00:00
+            # downloaded from https://data.iana.org/root-anchors/root-anchors.xml
+            content => ". IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5\n",
+            notify  => Exec["unbound restart"],
+            ;
+        "/var/lib/unbound/debian.org.key":
+            ensure  => present,
+            replace => false,
+            owner   => unbound,
+            group   => unbound,
+            mode    => 644,
+            # debian.org DS record, July 2010'
+            content => "debian.org. IN DS 5283 7 2 3DC987A633914C195D03EA129E92327630D3428E92884A5E97829A55701F9E8A\n",
+            notify  => Exec["unbound restart"],
+            ;
+        "/etc/unbound/unbound.conf":
+            content => template("unbound/unbound.conf.erb"),
+            require => Package["unbound"],
+            notify  => Exec["unbound restart"],
+            owner   => root,
+            group   => root,
+            ;
+    }
+}
+
+# vim:set et:
+# vim:set sts=4 ts=4:
+# vim:set shiftwidth=4:
diff --git a/modules/unbound/templates/unbound.conf.erb b/modules/unbound/templates/unbound.conf.erb
new file mode 100644 (file)
index 0000000..3561049
--- /dev/null
@@ -0,0 +1,60 @@
+##
+## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
+## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
+##
+
+server:
+       verbosity: 1
+
+       # specify the interfaces to answer queries from by ip-address.
+       # The default is to listen to localhost (127.0.0.1 and ::1).
+       # specify 0.0.0.0 and ::0 to bind to all available interfaces.
+       # specify every interface[@port] on a new 'interface:' labelled line.
+       # The listen interfaces are not changed on reload, only on restart.
+       # interface: 192.0.2.153
+       # interface: 192.0.2.154
+       # interface: 192.0.2.154@5003
+       # interface: 2001:DB8::5
+
+       # enable this feature to copy the source address of queries to reply.
+       # Socket options are not supported on all platforms. experimental. 
+       interface-automatic: yes
+
+       # control which clients are allowed to make (recursive) queries
+       # to this server. Specify classless netblocks with /size and action.
+       # By default everything is refused, except for localhost.
+       # Choose deny (drop message), refuse (polite error reply),
+       # allow (recursive ok), allow_snoop (recursive and nonrecursive ok)
+       # access-control: 0.0.0.0/0 refuse
+       # access-control: 127.0.0.0/8 allow
+       # access-control: ::0/0 refuse
+       # access-control: ::1 allow
+       # access-control: ::ffff:127.0.0.1 allow
+
+       #chroot: ""
+
+       hide-identity: yes
+       hide-version: yes
+
+       use-caps-for-id: yes
+
+       # Do not query the following addresses. No DNS queries are sent there.
+       # List one address per entry. List classless netblocks with /size,
+       # do-not-query-address: 127.0.0.1/8
+       # do-not-query-address: ::1
+
+       # if yes, the above default do-not-query-address entries are present.
+       # if no, localhost can be queried (for testing and debugging).
+       # do-not-query-localhost: yes
+
+       # File with trusted keys, kept uptodate using RFC5011 probes,
+       # initial file like trust-anchor-file, then it stores metadata.
+       # Use several entries, one per domain name, to track multiple zones.
+       # auto-trust-anchor-file: ""
+       auto-trust-anchor-file: "/var/lib/unbound/root.key"
+       auto-trust-anchor-file: "/var/lib/unbound/debian.org.key"
+
+#forward-zone:
+#      name: "."
+#      forward-addr: 192.0.2.1
+#      forward-addr: 192.0.2.199