X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fnamed%2Fmanifests%2Finit.pp;h=3bf63d0d46fce819321eb0a61c7670d317997b96;hb=cf760168ec022b1fc8edb9c46d85b29a98af8ca6;hp=41cec9a8796a506017deeb303f6a2776d774d3be;hpb=fa3bd8c2a8a250493cd1aa0e49b6a368ad10958e;p=mirror%2Fdsa-puppet.git diff --git a/modules/named/manifests/init.pp b/modules/named/manifests/init.pp index 41cec9a87..3bf63d0d4 100644 --- a/modules/named/manifests/init.pp +++ b/modules/named/manifests/init.pp @@ -1,74 +1,64 @@ class named { - munin::check { 'bind': } + munin::check { 'bind': } - site::aptrepo { 'bind-ratelimit': - ensure => absent, - #url => 'http://db.debian.org/debian-admin', - #suite => 'bind-ratelimit', - #components => 'main', - } + package { 'bind9': + ensure => installed + } - package { 'bind9': - ensure => installed - } + service { 'bind9': + ensure => running, + } - service { 'bind9': - ensure => running, - } + ferm::rule { '00-dsa-bind-no-ddos-any': + domain => '(ip ip6)', + description => 'Allow nameserver access', + rule => 'proto udp dport 53 mod string from 32 to 64 algo bm hex-string \'|0000ff0001|\' jump DROP' + } - @ferm::rule { '00-dsa-bind-no-ddos-any': - domain => '(ip ip6)', - description => 'Allow nameserver access', - rule => 'proto udp dport 53 mod string from 32 to 64 algo bm hex-string \'|0000ff0001|\' jump DROP' - } + ferm::rule { 'dsa-bind-notrack': + domain => '(ip ip6)', + description => 'NOTRACK for nameserver traffic', + table => 'raw', + chain => 'PREROUTING', + rule => 'proto (tcp udp) dport 53 jump NOTRACK' + } - if has_role('dns_primary') { - @ferm::rule { '01-dsa-bind-4': - domain => '(ip)', - description => 'Allow nameserver access', - rule => '&TCP_UDP_SERVICE_RANGE(53, ( $HOST_DNS_GEO_V4 $HOST_NAGIOS_V4 $HOST_RCODE0_V4 $HOST_EASYDNS_V4 $HOST_NETNOD_V4 5.153.231.21 ) )', - } - @ferm::rule { '01-dsa-bind-6': - domain => '(ip6)', - description => 'Allow nameserver access', - rule => '&TCP_UDP_SERVICE_RANGE(53, ( $HOST_DNS_GEO_V6 $HOST_NAGIOS_V6 $HOST_RCODE0_V6 2001:41c8:1000:21::21:21 ) )', - } - } else { - @ferm::rule { '01-dsa-bind': - domain => '(ip ip6)', - description => 'Allow nameserver access', - rule => '&TCP_UDP_SERVICE(53)' - } - } + ferm::rule { 'dsa-bind-notrack-out': + domain => '(ip ip6)', + description => 'NOTRACK for nameserver traffic', + table => 'raw', + chain => 'OUTPUT', + rule => 'proto (tcp udp) sport 53 jump NOTRACK' + } - @ferm::rule { 'dsa-bind-notrack': - domain => '(ip ip6)', - description => 'NOTRACK for nameserver traffic', - table => 'raw', - chain => 'PREROUTING', - rule => 'proto (tcp udp) dport 53 jump NOTRACK' - } + file { '/var/log/bind9': + ensure => directory, + owner => bind, + group => bind, + mode => '0775', + } - @ferm::rule { 'dsa-bind-notrack-out': - domain => '(ip ip6)', - description => 'NOTRACK for nameserver traffic', - table => 'raw', - chain => 'OUTPUT', - rule => 'proto (tcp udp) sport 53 jump NOTRACK' - } + file { '/etc/bind/named.conf.options': + content => template('named/named.conf.options.erb'), + notify => Service['bind9'], + } - file { '/var/log/bind9': - ensure => directory, - owner => bind, - group => bind, - mode => '0775', - } + file { '/etc/bind/named.conf.puppet-shared-keys': + mode => '0640', + content => template('named/named.conf.puppet-shared-keys.erb'), + owner => root, + group => bind, + notify => Service['bind9'], + } - file { '/etc/bind/named.conf.puppet-shared-keys': - mode => '0640', - content => template('named/named.conf.puppet-shared-keys.erb'), - owner => root, - group => bind, - notify => Service['bind9'], - } + concat { '/etc/bind/named.conf.puppet-misc': + notify => Service['bind9'], + } + concat::fragment { 'dsa-named-conf-puppet-misc---header': + target => '/etc/bind/named.conf.puppet-misc', + order => '000', + content => @(EOF) + // THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE. + | EOF + } }