Revision 7e9f8e11
Added by Ewoud Kohl van Wijngaarden almost 12 years ago
manifests/init.pp | ||
---|---|---|
name => $dns_server_package,
|
||
}
|
||
|
||
File {
|
||
require => Package['dns'],
|
||
}
|
||
|
||
file {
|
||
$namedconf_path:
|
||
owner => root,
|
||
group => 0,
|
||
mode => '0644',
|
||
group => $dns::params::group,
|
||
mode => '0640',
|
||
require => Package['dns'],
|
||
content => template('dns/named.conf.erb');
|
||
$dnsdir:
|
||
ensure => directory,
|
||
owner => root,
|
||
group => 0,
|
||
mode => '0755';
|
||
$vardir:
|
||
ensure => directory,
|
||
owner => $dns::params::user,
|
||
group => $dns::params::user,
|
||
recurse => true,
|
||
mode => '0755';
|
||
$optionspath:
|
||
owner => root,
|
||
group => 0,
|
||
mode => '0644',
|
||
group => $dns::params::group,
|
||
mode => '0640',
|
||
content => template('dns/options.conf.erb');
|
||
"${vardir}/named.ca":
|
||
owner => $dns::params::user,
|
||
group => $dns::params::user,
|
||
mode => '0644',
|
||
source => 'puppet:///modules/dns/named.ca';
|
||
"${vardir}/named.local":
|
||
owner => $dns::params::user,
|
||
group => $dns::params::user,
|
||
mode => '0644',
|
||
source => 'puppet:///modules/dns/named.local';
|
||
"${vardir}/localhost.zone":
|
||
owner => $dns::params::user,
|
||
group => $dns::params::user,
|
||
mode => '0644',
|
||
source => 'puppet:///modules/dns/localhost.zone';
|
||
$zonefilepath:
|
||
ensure => directory,
|
||
owner => $dns::params::user,
|
||
group => $dns::params::user,
|
||
mode => '0755';
|
||
group => $dns::params::group,
|
||
mode => '0640';
|
||
"${vardir}/puppetstore":
|
||
ensure => directory,
|
||
group => $dns::params::group,
|
||
mode => '0640';
|
||
}
|
||
|
||
concat_build { 'dns_zones':
|
||
... | ... | |
notify => Service[$namedservicename],
|
||
}
|
||
|
||
concat_fragment { "dns_zones+05_${zone}.dns":
|
||
content => template('dns/publicView.conf-header.erb'),
|
||
concat_fragment { 'dns_zones+01-header.dns':
|
||
content => ' ',
|
||
}
|
||
|
||
service {
|
||
... | ... | |
require => Package['dns'];
|
||
}
|
||
|
||
file { "${vardir}/puppetstore": ensure => directory }
|
||
|
||
exec { 'create-rndc.key':
|
||
command => "/usr/sbin/rndc-confgen -r /dev/urandom -a -c ${rndckeypath}",
|
||
cwd => '/tmp',
|
manifests/zone.pp | ||
---|---|---|
$vardir = $dns::params::vardir
|
||
$namedservicename = $dns::params::namedservicename
|
||
|
||
concat_build { "zonefile_${zone}":
|
||
order => ['*.zone'],
|
||
target => "${vardir}/puppetstore/${filename}",
|
||
}
|
||
|
||
concat_fragment { "dns_zones+10_${zone}.dns":
|
||
content => template('dns/named.zone.erb'),
|
||
notify => Service[$namedservicename],
|
||
}
|
||
concat_fragment { "zonefile_${zone}+05_${zone}.zone":
|
||
|
||
file { "${vardir}/puppetstore/${filename}":
|
||
content => template('dns/zone.header.erb'),
|
||
notify => Service[$namedservicename],
|
||
require => File["${vardir}/puppetstore"],
|
||
}
|
||
|
||
exec { "create-zone_${zone}":
|
||
command => "/bin/cp puppetstore/${filename} zones/${filename}",
|
||
command => "/bin/cp puppetstore/${filename} ${zonefilename}",
|
||
cwd => $vardir,
|
||
creates => "${vardir}/zones/${filename}",
|
||
creates => $zonefilename,
|
||
require => File["${vardir}/puppetstore/${filename}",
|
||
$dns::params::zonefilepath],
|
||
notify => Service[$namedservicename],
|
||
}
|
||
|
templates/named.conf.erb | ||
---|---|---|
include "<%= rndckeypath %>";
|
||
|
||
controls {
|
||
inet 127.0.0.1 port 953 allow {127.0.0.1; }
|
||
keys { "rndc-key"; };
|
||
inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; };
|
||
};
|
||
|
||
options {
|
||
include "<%= optionspath %>";
|
||
include "<%= optionspath %>";
|
||
};
|
||
|
||
include "/etc/named.rfc1912.zones";
|
||
|
||
// Public view read by Server Admin
|
||
|
||
include "<%= publicviewpath %>";
|
||
|
templates/named.zone.erb | ||
---|---|---|
zone "<%= zone %>" {
|
||
type <%= zonetype %>;
|
||
file "<%= zonefilename %>";
|
||
update-policy {
|
||
grant rndc-key zonesub ANY;
|
||
};
|
||
zone "<%= zone %>" {
|
||
type <%= zonetype %>;
|
||
file "<%= zonefilename %>";
|
||
update-policy {
|
||
grant rndc-key zonesub ANY;
|
||
};
|
||
};
|
templates/publicView.conf-header.erb | ||
---|---|---|
zone "." IN {
|
||
type hint;
|
||
file "named.ca";
|
||
};
|
||
|
||
zone "localhost" IN {
|
||
type master;
|
||
file "localhost.zone";
|
||
allow-update { none; };
|
||
};
|
||
|
||
zone "0.0.127.in-addr.arpa" IN {
|
||
type master;
|
||
file "named.local";
|
||
allow-update { none; };
|
||
};
|
||
|
Also available in: Unified diff
More CentOS compatibility