Настройка BIND

Настройка BIND (Named) на компьютере с одним внешним айпи-адресом для домена второго уровня. В примерах.

Небольшое описание возможностей BIND.

acl Access Control Lists.

Определяет один из нескольких списков контроля доступа, группы компьютеров или пользователей.

acl acl-name { 
    address_match_list; # принимает значения none any localhost и списки ip 
                        # 192.168.0.0/24; Обрабатывать   
                        # !192.168.1.0/24; Отрицание ip
};

controls

Описывает и контролирует доступ к каналу управления удаленным администратором при использовании rndc.

#Этак команда создает rndc.key
# rndc-confgen -a
controls {
   inet inet_spec [inet_spec]  ;
};
key "rndc-remote" {
     algorithm hmac-md5;
     secret "OmItW1lOyLVUEuvv+Fme+Q==";
};
controls {
     // local host - default key
     inet 127.0.0.1 allow {localhost;};
     inet * port 7766 allow {"rndc-users";} keys {"rndc-remote";};
};

include

Позволяет включение внешних файлов в named.conf для административного удобства или по соображениям безопасности.

include "file-name";

key

Определяет общие ключи, используемые для контроля и проверки подлинности операций, таких как Dynamic DNS (DDNS), а также удаленного управления каналом.

logging

Задает местоположение, уровень ведения логов BIND.

#пример
logging{
  channel simple_log {
    file "/var/log/named/bind.log" versions 3 size 5m;
    severity warning;
    print-time yes;
    print-severity yes;
    print-category yes;
  };
  category default{
    simple_log;
  };
};

lwres

Определяет свойства BIND.

options 

Опции которые влияют на все зоны, ну и вообще разнве опции =).

Давольно таки большой список если хтите изучайте.

server

Описываются положения доступности сервера.

 server ip-addr {
  [ bogus yes | no ; ]
	[ edns yes | no ; ]
  [ keys "key-name"; ["key-name"; ... ; ]
  [ provide-ixfr yes | no; ]
  [ request-ixfr yes | no; ]
  [ transfers number; ]
  [ transfer-format ( one-answer | many-answers ); ]
  ;}

zone

Описание различных зон.

 

Пример простого конфига.

#/etc/namedb/named.conf

acl "lannet" { 192.168.0.0/24; }; # подсеть которой разрешено обращатся к серверу

#настройка логов, логи будут писаться сислогом в /var/log/messges
logging { 
        channel syslog {
            syslog daemon;
            severity debug;
            print-category yes;
            print-severity yes;
        };
        category xfer-in { syslog; };
        category xfer-out { syslog; };
        category config { syslog; };
        category default { syslog; };
};
  
options {
        directory       "/etc/namedb/"; 
        pid-file        "/var/run/named/pid";
        dump-file       "/var/tmp/named_dump.db";
        statistics-file "/var/tmp/named.stats";
        forwarders      { 91.144.134.3; }; #dns сервер моего провайдера
        recursion       yes;
        allow-recursion { "lannet"; 127.0.0.1; }; #разрешаются врекурсивные запросов к серверу
        allow-query { "lannet"; 127.0.0.1; };     #кому разрешено обращатся к нашнму серверу
        version         "0.000001";
};

zone "." { # корневая зона
        type hint;
        file "named.root";
};

zone "localhost" { 
        type master;
        file "master/localhost";
        allow-query { 127.0.0.1; };
};

zone "0.0.127.in-addr.arpa" { 
        type master;
        file "master/localhost.rev";
        allow-query { 127.0.0.1; };
};

zone "lan" { # Пример зоны первого уровня
        type master;
        file "master/lan";
        allow-query { "lannet"; 127.0.0.1; };
};

zone "0.168.192.in-addr.arpa" {
        type master;
        file "master/lan.rev";
        allow-query { "lannet"; 127.0.0.1; };
};
#/etc/namedb/master/lan

$TTL 1d
$ORIGIN lan.

@               IN      SOA     lan. root.lan. (
                                2010072602      ; Serial yymmddxx
                                3600            ; Refresh
                                900             ; Retry
                                3600000         ; Expire
                                3600 )          ; Minimum

                IN      NS      ns.lan.
                IN      A       192.168.0.1
                MX      10      ns.lan.
                IN      TXT     "v=spf1 mx ~all"

;local

ns              IN      A       192.168.0.1
host1           IN      A       192.168.0.2
/etc/namedb/master/lan.rev
$TTL 1d
$ORIGIN 0.168.192.in-addr.arpa.

@               IN      SOA     lan. root.lan. (
                                2010072603      ; Serial yymmddxx
                                3600            ; Refresh
                                900             ; Retry
                                3600000         ; Expire
                                3600 )          ; Minimum

                IN      NS      ns.lan.
                IN      A       192.168.0.1
                MX      10      ns.lan.
                IN      TXT     "v=spf1 mx ~all"

;local

ns              IN      A       192.168.0.1
host1           IN      A       192.168.0.2

Не забудте записать в rc.conf

named_enable="YES"
named_flags="-u bind"

Запустим bind

# service named start
Starting named.

#cat /var/log/messeges | grep named
named[12025]: starting BIND 9.6.2-P1 -u bind -t /var/named -u bind
named[12025]:command channel listening on 127.0.0.1#953
named[12025]:command channel listening on ::1#953
named[12025]:the working directory is not writable #данное сообщение не критично 
named[12025]:general: notice: running

Хорошая электронная книга про BIND http://www.zytrax.com/books/dns/

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *