IT заметки

2007/12/12

Настройка slave dns-сервера на базе bind

Filed under: freebsd — Метки: , , — Maxim @ 13:13

Понадобилось настроить ещё один slave dns-сервер, решил записать чё как делал )
Часть первая. Настройки master dns-сервера.
Тут немного надо изменить named.conf:

# ee /etc/namedb/named.conf

Просто надо в описания зон добавить allow-transfer и перезапустить сервер, вырезка:

zone "5.168.192.in-addr.arpa" in {
    type master;
    notify yes;
    file "reverse/5.168.192.db";
    allow-update { "domainAD"; key domain.local.; };
    allow-transfer { 192.168.5.6; 192.168.5.13; };
};

zone "15.168.192.in-addr.arpa" in {
    type master;
    notify yes;
    file "reverse/15.168.192.db";
    allow-update { "domainAD"; key domain.local.; };
    allow-transfer { 192.168.5.6; 192.168.5.13; };
};

Часть вторая. Настройка slave dns-сервера.
Здесь работы побольше, но тоже немного. Во-первых, ставим последний bind стандартными средствами из портов. У меня установлена FreeBSD 7.0-STABLE, там уже всё установлено из коробки:

# uname -a
FreeBSD manager2.domain.local 7.0-STABLE FreeBSD 7.0-STABLE #2: Wed Mar  5 13:35:54 MSK 2008     root@manager2.domain.local:/usr/obj/usr/src/sys/manager2-20080304  i386
# named -v
BIND 9.4.2

Делаем /etc/namedb/named.conf на основе оного нашего master-сервера. На самом деле, просто берётся конфиг master-сервера и к описаниям зон добавляется адрес master-сервера: masters { 192.168.5.2; };. На всякий случай выложу конфиг:

acl "domain.local" { 192.168.5.0/24; 192.168.15.0/24; 127.0.0.1; };
acl "domainAD" { 192.168.5.0/24; 192.168.15.0/24; };

include "/etc/namedb/rndc.key";

controls {
        inet 127.0.0.1 allow { 127.0.0.1; } keys { "rndc-key"; };
};

options {
        directory "/etc/namedb";
        allow-query { "domain.local"; };
        allow-transfer { none; };
        allow-recursion { "domain.local"; };
        forwarders { 213.219.250.84; 213.219.249.123; 212.152.63.133; 212.152.33.66; };
        query-source address * port 53;
        dump-file "/var/dump/named.dump";
        memstatistics-file "/var/stats/named.mem";
        pid-file "/var/run/named.pid";
        statistics-file "/var/stats/named.stat";
        version "Not a chance :)";
        auth-nxdomain yes;
};

zone "." in {
        type hint;
        file "named.root";
};

zone "localhost" in{
        type master;
        file "localhost.master";
        notify no;
};

zone "0.0.127.in-addr.arpa" in {
        type master;
        file "localhost.rev";
        notify no;
};

zone "domain.local" in {
        type slave;
        file "primary/bak.domain.local.db";
        masters { 192.168.5.2; };
};

zone "5.168.192.in-addr.arpa" in {
        type slave;
        file "reverse/bak.5.168.192.db";
        masters { 192.168.5.2; };
};

zone "15.168.192.in-addr.arpa" in {
        type slave;
        file "reverse/bak.15.168.192.db";
        masters { 192.168.5.2; };
};

// Windows 2003 servers' zone files for active directory
zone "_msdcs.domain.local" {
        type slave;
        check-names ignore;
        file "primary/bak._msdcs.domain.local.db";
        masters { 192.168.5.2; };
};

zone "_sites.domain.local" {
        type slave;
        check-names ignore;
        file "primary/bak._sites.domain.local.db";
        masters { 192.168.5.2; };
};

zone "_tcp.domain.local" {
        type slave;
        check-names ignore;
        file "primary/bak._tcp.domain.local.db";
        masters { 192.168.5.2; };
};

zone "_udp.domain.local" {
        type slave;
        check-names ignore;
        file "primary/bak._udp.domain.local.db";
        masters { 192.168.5.2; };
};

zone "DomainDnsZones.domain.local" {
        type slave;
        check-names ignore;
        file "primary/bak.DomainDnsZones.domain.local.db";
        masters { 192.168.5.2; };
};

zone "ForestDnsZones.domain.local" {
        type slave;
        check-names ignore;
        file "primary/bak.ForestDnsZones.domain.local.db";
        masters { 192.168.5.2; };
};
// End Windows 2003 servers' zone files for active directory

logging {
        channel default_ch {
                file "/var/log/named.log" versions 3 size 300k;
                severity info;
                print-category yes;
                print-severity yes;
                print-time yes;
    };

        channel security_ch {
                file "/var/log/security.log" versions 3 size 300k;
                severity info;
                print-time yes;
                print-category yes;
    };

        category default { default_ch; };
        category security { security_ch; };
};

Далее генерим rndc.conf:

# rndc-confgen

Получаем rndc.conf, берём из него строки:

key "rndc-key" {
        algorithm hmac-md5;
        secret "6P9pfddwedsdfdsy7HmnyIg==";
};

и делаем из них файл rndc.key.

Теперь, чтобы автоматом всё стартовало, добавляем в /etc/rc.conf:

rand_irqs="5 10 11 14"
named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-c /etc/namedb/named.conf"

Всё, для проверки перегружаемся и убеждаемся, что всё работает.

Добавить комментарий »

Комментариев нет.

RSS feed for comments on this post. TrackBack URI

Оставьте комментарий

Блог на WordPress.com.