aneesh-bind

Puppet module for bind


Keywords
bind, dns, bind9, named
License
Apache-2.0
Install
puppet module install aneesh-bind --version 6.0.0

Documentation

BIND Module

Overview

This module install and configure bind dns server.

Usage

Default configuration:

include bind

Change configuration file settings:

class { 'bind':
    listen_on              => 'port 53 { 127.0.0.1; }',
    listen_on_v6           => 'port 53 { ::1; }',
    directory              => '"/var/named"',
    dump_file              => '"/var/named/data/cache_dump.db"',
    statistics_file        => '"/var/named/data/named_stats.txt"',
    memstatistics_file     => '"/var/named/data/named_mem_stats.txt"',
    allow_query            => '{ localhost; }',
    allow_update           => '{ none; }',
    allow_transfer         => '{ none; }',
    recursion              => 'no',
    dnssec_enable          => 'yes',
    dnssec_validation      => 'yes',
    bindkeys_file          => '"/etc/named.iscdlv.key"',
    managed_keys_directory => '"/var/named/dynamic"',
    pid_file               => '"/run/named/named.pid"',
    session_keyfile        => '"/run/named/session.key"',
    version                => '"[SECURED]"',
    server_id              => 'none',
    cleaning_interval      => '120',
    interface_interval     => '0',
    max_ncache_ttl         => '3600',
    nnotify                => 'no',
    logging                => true,
    zone                   => {
      'example.com' => [
        'type master',
        'file "example.com.db"',
        'allow-transfer { none; }',
        'allow-query    { any; }',
        'allow-update   { none; }',
      ],
    },
    include                => [ '"/etc/named.rfc1912.zones"', '"/etc/named.root.key"' ],
}

Create zone file:

bind::zone_file { 'example.com.db':
    file_name       => 'example.com.db',
    nameserver      => 'ns1.example.com.',
    admin           => 'admin@example.com.',
    ttl             => '3600',
    serial          => '1',
    refresh         => '3600',
    retry           => '1800',
    expire          => '3600',
    minimum         => '3600',
    records         => [
'@      IN      NS      ns1.example.com.',
'@      IN      A       192.168.1.105',
'ns1    IN      A       192.168.1.105',
'www    IN      A       192.168.1.105'
    ],
}