Some more work on the dns module. The only thing not working for some reason is the zone.slae.erb for an unknown reason.
This commit is contained in:
parent
da1eef4333
commit
bd4cc55ce1
6 changed files with 50 additions and 45 deletions
|
@ -154,11 +154,11 @@ class dns::server {
|
|||
# $master:
|
||||
# IP address and FQDN or hostname of the DNS master for this zone.
|
||||
# $slaves:
|
||||
# IP addresess and FQDNs or hostnames of the DNS slaves for this zone.
|
||||
# IP addresess and host names of the DNS slaves for this zone.
|
||||
# $source:
|
||||
# Source file to use for zone. Defaults to auto.
|
||||
#
|
||||
define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO") {
|
||||
define dns::zone($role = "master", $master = [], $slaves = [], source = "AUTO") {
|
||||
|
||||
$zone = $name
|
||||
case $role {
|
||||
|
@ -193,7 +193,8 @@ define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO")
|
|||
}
|
||||
}
|
||||
|
||||
file { "${dns::server::chroot}${dns::server::confdir}/zone.${zone}":
|
||||
$zonefile = regsubst($zone, '\/', '-')
|
||||
file { "${dns::server::chroot}${dns::server::confdir}/zone.${zonefile}":
|
||||
ensure => present,
|
||||
content => template("dns/zone.$role.erb"),
|
||||
mode => 0640,
|
||||
|
@ -208,7 +209,7 @@ define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO")
|
|||
|
||||
if $role == "master" {
|
||||
if $source != "AUTO" {
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zone}":
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zonefile}":
|
||||
ensure => present,
|
||||
source => $source,
|
||||
mode => 0640,
|
||||
|
@ -221,7 +222,7 @@ define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO")
|
|||
notify => Service["named"],
|
||||
}
|
||||
} else {
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zone}":
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zonefile}":
|
||||
ensure => present,
|
||||
content => template("dns/db.erb"),
|
||||
mode => 0640,
|
||||
|
@ -233,9 +234,9 @@ define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO")
|
|||
},
|
||||
notify => Service["named"],
|
||||
}
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zone}-dynamic":
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zonefile}-dynamic":
|
||||
ensure => present,
|
||||
source => [ "puppet:///files/dns/db.${zone}-dynamic.${homename}",
|
||||
source => [ "puppet:///files/dns/db.${zonefile}-dynamic.${homename}",
|
||||
"puppet:///modules/dns/empty", ],
|
||||
mode => 0640,
|
||||
owner => "root",
|
||||
|
@ -246,9 +247,9 @@ define dns::zone($role = "master", $master = [], $slaves = [], $source = "AUTO")
|
|||
},
|
||||
notify => Service["named"],
|
||||
}
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zone}-static":
|
||||
file { "${dns::server::chroot}${zonedir}/db.${zonefile}-static":
|
||||
ensure => present,
|
||||
source => [ "puppet:///files/dns/db.${zone}-static.${homename}",
|
||||
source => [ "puppet:///files/dns/db.${zonefile}-static.${homename}",
|
||||
"puppet:///modules/dns/empty", ],
|
||||
mode => 0640,
|
||||
owner => "root",
|
||||
|
|
|
@ -2,26 +2,25 @@
|
|||
; BIND data file for <%= zone %>
|
||||
;
|
||||
;
|
||||
|
||||
$TTL 3600
|
||||
$ORIGIN <%= zone %>.
|
||||
<% master.each do |m| -%>
|
||||
@ IN SOA <%= m['name'] %>. root.<%= zone %>. (
|
||||
<% master.each_pair do |k, v| %>
|
||||
@ IN SOA <%= v['ns'] %>. hostmaster.<%= zone %>. (
|
||||
<%= Time.now.to_i %> ; Serial
|
||||
3600 ; Refresh
|
||||
7200 ; Retry
|
||||
604800 ; Expire
|
||||
86400 ) ; Negative Cache TTL
|
||||
<% end -%>
|
||||
;
|
||||
<% master.each do |m| -%>
|
||||
@ IN NS <%= m['name'] %>.
|
||||
@ IN NS <%= v['ns'] %>.
|
||||
<% end -%>
|
||||
<% if has_variable?(slaves) -%>
|
||||
<% slaves.each do |slave| -%>
|
||||
@ IN NS <%= slave['name'] %>.
|
||||
<% end -%>
|
||||
<% slaves.each_pair do |k, v| -%>
|
||||
@ IN NS <%= v['ns'] %>.
|
||||
<% end -%>
|
||||
|
||||
<% if zone.match(/\//) %>
|
||||
$INCLUDE <%= zonedir %>/db.<%= zone.sub(/\//, '-') %>-dynamic
|
||||
$INCLUDE <%= zonedir %>/db.<%= zone.sub(/\//, '-') %>-static
|
||||
<% else %>
|
||||
$INCLUDE <%= zonedir %>/db.<%= zone %>-dynamic
|
||||
$INCLUDE <%= zonedir %>/db.<%= zone %>-static
|
||||
<% end -%>
|
||||
|
|
|
@ -19,7 +19,11 @@ acl "trusted" {
|
|||
};
|
||||
|
||||
<% dns_zones.each do |zone| -%>
|
||||
include "/etc/bind/zone.<%= zone %>";
|
||||
<% if zone.match(/\//) %>
|
||||
include "/etc/bind/zone.<%= zone.sub(/\//, '-') %>";
|
||||
<% else %>
|
||||
include "/etc/bind/zone.<%= zone %>";
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
|
||||
// Consider adding the 1918 zones here, if they are not used in your
|
||||
|
|
|
@ -1,10 +1,7 @@
|
|||
options {
|
||||
listen-on {
|
||||
<%= ipaddr %>;
|
||||
};
|
||||
allow-transfer {
|
||||
xfer;
|
||||
};
|
||||
listen-on { any; };
|
||||
listen-on-v6 { none; };
|
||||
allow-transfer { xfer; };
|
||||
allow-recursion {
|
||||
trusted;
|
||||
};
|
||||
|
@ -28,6 +25,6 @@ options {
|
|||
// };
|
||||
|
||||
auth-nxdomain no; # conform to RFC1035
|
||||
|
||||
version ""; // remove this to allow version queries
|
||||
};
|
||||
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
zone "<%= zone %>" {
|
||||
type master;
|
||||
file "<%= zonedir %>/db.<%= zone %>";
|
||||
<% if not slaves.empty? -%>
|
||||
allow-transfer {
|
||||
<% slaves.each do |slave| -%>
|
||||
<%= slave %>;
|
||||
<% end -%>
|
||||
};
|
||||
allow-update { none;};
|
||||
type master;
|
||||
<% if zone.match(/\//) %>
|
||||
file "<%= zonedir %>/db.<%= zone.sub(/\//, '-') %>";
|
||||
<% else %>
|
||||
file "<%= zonedir %>/db.<%= zone %>";
|
||||
<% end -%>
|
||||
allow-transfer {
|
||||
<% slaves.each_pair do |k, v| -%>
|
||||
<%= v['ip'] %>;
|
||||
<% end -%>
|
||||
};
|
||||
allow-update { none; };
|
||||
};
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
zone "<%= zone %>" {
|
||||
type slave;
|
||||
file "<%= zonedir %>/db.<%= zone %>";
|
||||
masters {
|
||||
<% master.each do |m| -%>
|
||||
<%= m %>;
|
||||
<% end -%>
|
||||
allow-transfer { none; };
|
||||
};
|
||||
type slave;
|
||||
<% if zone.match(/\//) %>
|
||||
file "<%= zonedir %>/db.<%= zone.sub(/\//, '-') %>";
|
||||
<% else %>
|
||||
file "<%= zonedir %>/db.<%= zone %>";
|
||||
<% end -%>
|
||||
<% master.each_pair do |k, v| -%>
|
||||
masters { <% v['ip'] %> };
|
||||
<% end -%>
|
||||
allow-transfer { none; };
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue