Added support for master and slave zones.
This commit is contained in:
parent
7f09562685
commit
655a0aaf0e
1 changed files with 72 additions and 35 deletions
|
@ -72,39 +72,6 @@ class dns::server {
|
||||||
require => Exec["rndc-confgen"],
|
require => Exec["rndc-confgen"],
|
||||||
}
|
}
|
||||||
|
|
||||||
define populate_zones() {
|
|
||||||
$zone = $name
|
|
||||||
file { "${confdir}/db.${zone}":
|
|
||||||
ensure => present,
|
|
||||||
content => template("dns/db.erb"),
|
|
||||||
mode => 0640,
|
|
||||||
owner => "root",
|
|
||||||
group => "bind",
|
|
||||||
require => Package["bind"],
|
|
||||||
notify => Service["named"],
|
|
||||||
}
|
|
||||||
file { "${confdir}/db.${zone}-dynamic":
|
|
||||||
ensure => present,
|
|
||||||
source => [ "puppet:///files/dns/db.${zone}-dynamic.${homename}",
|
|
||||||
"puppet:///files/dns/empty", ],
|
|
||||||
mode => 0640,
|
|
||||||
owner => "root",
|
|
||||||
group => "bind",
|
|
||||||
require => Package["bind"],
|
|
||||||
notify => Service["named"],
|
|
||||||
}
|
|
||||||
file { "${confdir}/db.${zone}-static":
|
|
||||||
ensure => present,
|
|
||||||
source => [ "puppet:///files/dns/db.${zone}-static.${homename}",
|
|
||||||
"puppet:///files/dns/empty", ],
|
|
||||||
mode => 0640,
|
|
||||||
owner => "root",
|
|
||||||
group => "bind",
|
|
||||||
require => Package["bind"],
|
|
||||||
notify => Service["named"],
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
case $operatingsystem {
|
case $operatingsystem {
|
||||||
"ubuntu": {
|
"ubuntu": {
|
||||||
$ipaddr = $dns_listener_ipaddr
|
$ipaddr = $dns_listener_ipaddr
|
||||||
|
@ -119,14 +86,13 @@ class dns::server {
|
||||||
}
|
}
|
||||||
file { "${confdir}/named.conf.options":
|
file { "${confdir}/named.conf.options":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
content => template("dns/named.conf.options.erb"),
|
content => template("dns/named.conf.options.erb"),
|
||||||
mode => 0640,
|
mode => 0640,
|
||||||
owner => "root",
|
owner => "root",
|
||||||
group => "bind",
|
group => "bind",
|
||||||
require => Package["bind"],
|
require => Package["bind"],
|
||||||
notify => Service["named"],
|
notify => Service["named"],
|
||||||
}
|
}
|
||||||
populate_zones { $dns_zones: }
|
|
||||||
}
|
}
|
||||||
default: {
|
default: {
|
||||||
file { "${confdir}/named.conf":
|
file { "${confdir}/named.conf":
|
||||||
|
@ -147,6 +113,77 @@ class dns::server {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Configure interface.
|
||||||
|
#
|
||||||
|
# === Parameters
|
||||||
|
#
|
||||||
|
# $name:
|
||||||
|
# Zone name.
|
||||||
|
# $role:
|
||||||
|
# The role {master, slave} of this host.
|
||||||
|
# $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.
|
||||||
|
#
|
||||||
|
define dns::zone($role = "master", $master = {}, $slaves = {}) {
|
||||||
|
|
||||||
|
$zone = $name
|
||||||
|
|
||||||
|
case $operatingsystem {
|
||||||
|
"centos","fedora": {
|
||||||
|
$confdir = "/var/named/chroot/etc"
|
||||||
|
}
|
||||||
|
"ubuntu": {
|
||||||
|
$confdir = "/etc/bind"
|
||||||
|
}
|
||||||
|
default: {
|
||||||
|
$confdir = "/var/named/etc"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
file { "${confdir}/zone.${zone}":
|
||||||
|
ensure => present,
|
||||||
|
content => template("dns/zone.$role.erb"),
|
||||||
|
mode => 0640,
|
||||||
|
owner => "root",
|
||||||
|
group => "bind",
|
||||||
|
require => Package["bind"],
|
||||||
|
notify => Service["named"],
|
||||||
|
}
|
||||||
|
file { "${confdir}/db.${zone}":
|
||||||
|
ensure => present,
|
||||||
|
content => template("dns/db.erb"),
|
||||||
|
mode => 0640,
|
||||||
|
owner => "root",
|
||||||
|
group => "bind",
|
||||||
|
require => Package["bind"],
|
||||||
|
notify => Service["named"],
|
||||||
|
}
|
||||||
|
file { "${confdir}/db.${zone}-dynamic":
|
||||||
|
ensure => present,
|
||||||
|
source => [ "puppet:///files/dns/db.${zone}-dynamic.${homename}",
|
||||||
|
"puppet:///files/dns/empty", ],
|
||||||
|
mode => 0640,
|
||||||
|
owner => "root",
|
||||||
|
group => "bind",
|
||||||
|
require => Package["bind"],
|
||||||
|
notify => Service["named"],
|
||||||
|
}
|
||||||
|
file { "${confdir}/db.${zone}-static":
|
||||||
|
ensure => present,
|
||||||
|
source => [ "puppet:///files/dns/db.${zone}-static.${homename}",
|
||||||
|
"puppet:///files/dns/empty", ],
|
||||||
|
mode => 0640,
|
||||||
|
owner => "root",
|
||||||
|
group => "bind",
|
||||||
|
require => Package["bind"],
|
||||||
|
notify => Service["named"],
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Install dynamic DNS update script
|
# Install dynamic DNS update script
|
||||||
#
|
#
|
||||||
# === Global variables
|
# === Global variables
|
||||||
|
|
Loading…
Add table
Reference in a new issue