четверг, 15 мая 2014 г.

DNS, bind910 и FreeBsd 10.0

Обязательно указываем hostname в rc.conf:
 hostname="name"

1. устанавливаем bind910
    cd /usr/ports/dns/bind910
    make install clean

2. в /etc/rc.conf добавляем
    named_enable="YES"

named -v  (версия)


3. настраиваем сервер, /usr/local/etc/namedb/named.conf
Файл состоит из блоков (записей).

Блоки:
acl         (адреса для управления доступом)
    пример:
         acl  access {
          any;
          none; (запретить для всех)
          10.0.0.3;
          10.0.0/24;
          !10.0.0.5; (запретить для хоста 10.0.0.5)
         };

logging (описано, что записывается в журнал)

options (настройка bind, значения для всех блоков, зон)
     пример:
          options {
                directory "/usr/local/etc/namedb"; (каталог где хранятся файлы зон)
                check-names master warn; (предупреждать о неправильных именах узлов)
                check-names slave ignore; (игнорировать во вторичной зоне неправильные
                                                                 имена узлов) 
          };

zone      (блок описывающий зону)
Типы зон:
master   (первичная)
slave      (дочерняя, копия с первичной)
stub        (заглушка)
forward  (перенаправление запросов по зоне на другие серверы)
hint         ()

примеры зон:
          zone "home.local" {
                     type master;
                     file "master/home.local"; (файл описания зоны)
                     allow-query { access; }; (имя блока acl, разрешения на запросы)
                     allow-recursion { access; }; (разрешения на рекурсивные запросы)
                     allow-transfer { access; }; (разрешения на передачу содержимого зон)
                     allow-update { access; }; (разрешения на обновление зон)
                     blackhole { access; }; (черный лист)
          };

          zone "home.local" {
                     type slave;
                     file "slave/home.local"; (файл описания зоны)
                     masters {
                          10.0.0.1;  (первичные серверы)
                     };
          };


         zone "0.0.10.in-addr.arpa" {
                    type master;
                    file "master/0.0.10.in-addr.arpa";
         };           

пример файла зоны (в нашем случае /usr/local/etc/namedb/master/home.local):

$TTL        3600  (время жизни в секундах)

;Запись SOA (Start of Authority) 
;символ @ обозначает нашу зону - home.local.
@             IN   SOA   ns1.home.local. (авторитетный сервер)
                                   admin.home.local. ( (почтовый ящик администратора)
                                     2014042801         (серийный номер,как правило дата+номер)
                                     3600                       (время обновления в секундах)
                                     600                         (интервал повторного опроса)
                                     2419200                (период после которого вторичный сервер  
                                                                      сбрасывет данные)
                                     86400  )                 (время жизни для записей)

; DNS Серверы
@                                 IN  NS                 ns1.home.local.   (для зоны @(home.local.))
@                                 IN  NS                 ns2.home.local.
subdomain                 IN  NS                 ns1.subdomain.home.local. 
                                                                                          (для зоны subdomain.home.local.)

; MX Записи (почтовые серверы)
@                                IN  MX           10   mail.home.local. (в зону через mail.home.local)
@                                IN  MX           20   mail2.home.local.
      
; Имена хостов
localhost                    IN  A              127.0.0.1
@                                IN  A              10.0.0.1
ns1                             IN  A              10.0.0.1
ns2                             IN  A              10.0.0.2
mail                            IN  A              10.0.0.3
ns1.subdomain        IN  A              10.0.0.11

; Алиасы (псевдонимы)
ftp                               IN  CNAME    @
ml                               IN  CNAME    mail


пример файла зоны обратного просмотра /usr/local/etc/namedb/master/0.0.10.in-addr.arpa

$TTL        3600
;символ @ обозначает нашу зону - 0.0.10.in-addr.arpa.
@             IN   SOA   ns1.home.local.

                                   admin.home.local.  (
                                     2014042801       
                                     3600                      
                                     600                      
                                     2419200               
                                     86400  )           

@                                 IN  NS                 ns1.home.local. 
@                                 IN  NS                 ns2.home.local.
subdomain                 IN  NS                 ns1.subdomain.home.local. 
                                                                                        
1.0.0.10.in-addr.arpa.                           IN  PTR              ns1.home.local.
2                                                              IN  PTR              ns2.home.local.
3                                                              IN  PTR              mail.home.local.
11                                                            IN  PTR              ns1.subdomain.home.local.


4. в файл /etc/resolv.conf добавляем доменное имя и сервер имен
    domain home.local
    nameserver 10.0.0.1 (?)(0.0.0.0)

5. запускаем /usr/local/etc/rc.d/named start


Пример кэширующего dns-сервера.

файл /usr/local/etc/namedb/named.conf



acl hosts {127.0.0.1; 10.0.0.0/24;};
options {
  directory "/usr/local/etc/namedb";
  listen-on {127.0.0.1; 10.0.0.1;};    (ip интерфейсов на которых будет запущен named)
  forwarders {172.16.200.1; 172.16.200.2;}; (серверы куда отправлять запросы,
                                                                             dns-серверы провайдера)
  allow-query {"hosts";};
};

У клиента прописываем dns-сервер (в нашем случае 10.0.0.1(наш сервер имён)) и если необходимо dns-суффикс.

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

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