BIND9 (методическое пособие) — различия между версиями

Материал из wiki
Перейти к: навигация, поиск
(Зоны по-умолчанию)
(Типы ресурсных записей (RR))
Строка 181: Строка 181:
  
 
== Типы ресурсных записей (RR) ==
 
== Типы ресурсных записей (RR) ==
 +
 +
=== SOA ===
 +
 +
Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры.
 +
После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.
 +
 +
Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net.
 +
После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.
 +
<code>
 +
$TTL 2d ; zone TTL default = 2 days or 172800 seconds
 +
$ORIGIN example.com.
 +
@      IN      SOA  ns hostmaster (
 +
              2003080800 ; serial number
 +
              1d12h      ; refresh =  1 day 12 hours
 +
              15M        ; update retry = 15 minutes
 +
              3W12h      ; expiry = 3 weeks + 12 hours
 +
              2h20M      ; minimum = 2 hours + 20 minutes
 +
              )
 +
      IN      NS  ns
 +
      IN      NS  ns.example.net.  ; out-of-zone
 +
...
 +
; A record for the NS RR above
 +
ns    IN      A  192.168.2.1
 +
;
 +
</code>
 +
 +
Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS.
 +
Т.к. домен обслуживается другими серверами никакие A записи не допускаются.
 +
<code>
 +
$TTL 2d ; zone TTL default = 2 days or 172800 seconds
 +
$ORIGIN example.com.
 +
@      IN      SOA  ns.example.net. hostmaster.example.com. (
 +
              2003080800 ; serial number
 +
              1d12h      ; refresh =  1 day 12 hours
 +
              15M        ; update retry = 15 minutes
 +
              3W12h      ; expiry = 3 weeks + 12 hours
 +
              2h20M      ; minimum = 2 hours + 20 minutes
 +
              )
 +
        IN    NS    ns.example.net. ; out-of-zone name server
 +
        IN    NS    ns.example.org. ; out-of-zone name server
 +
</code>
 +
 +
== Параметры зоны и директивы сервера bind==
  
 
== View - ограничение видимости зон ==
 
== View - ограничение видимости зон ==

Версия 05:28, 20 февраля 2014

Управление

Проверяет конфиг сервера имен

named-checkconf

Перезагружает сервер имен

rndc reload

Перезагружает только изменившиеся зоны

rndc reconfig

Опции

Списки доступа

acl network1 {
        1.2.3.0/24;
        192.168.0.0/20;
};
acl GoodDns {
       1.2.3.4;
};

Ограничение на трансфер зон и запросы

        allow-transfer {
                localhost;
               GoodDns;
        };
        allow-query {
               any;
        };

Настройка зоны и подключение файла зоны

zone "example.com" {
        type master;
        file "/etc/bind/db.example.com.";
        allow-query {
                any;
        };
};

Зона прямого просмотра

Зоны прямого просмотра делегируются нам владельцем родительского домена.

Пример файла зоны, для которой мы являемся мастером (SOA ns1.model.local.) Сервер ns.example.com. указан в качестве вторичного.

;
$ORIGIN model.local.
$TTL 1h
;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (
                                                2014023001      ; Serial Number
                                                10800           ; refresh
                                                3600            ; retry
                                                604800          ; expire
                                                86400   )       ; min TTL
;
                        IN      NS      ns1.model.local.
                        IN      NS      ns.example.com.
                        IN      MX      10      mail1
;
gw                      IN      A       10.13.0.1
ns1                     IN      A       10.13.0.2
net-ctrl-1              IN      A       10.13.0.2
front1                  IN      A       10.13.0.10
front2                  IN      A       10.13.0.11
back1                   IN      A       10.13.0.20
back2                   IN      A       10.13.0.21
; балансировка
back                    IN      A       10.13.0.20
                        IN      A       10.13.0.21
stor1                   IN      A       10.13.0.30
stor2                   IN      A       10.13.0.31
stor-vip                IN      A       10.13.0.40
front-vrrp              IN      A       10.13.0.50
www                     IN      CNAME   model.local.
bc                      IN      A       10.13.0.255
;
; users
user1                  IN      CNAME   back.model.local.
www.user1              IN      CNAME   back.model.local.
user2                  IN      CNAME   back.model.local.
www.user2              IN      CNAME   back.model.local.
;

Зона обратного просмотра

Зона обратного просмотра управляется владельцем диапазона ip адресов.

Пример файла зоны обратного просмотра, для которой мы являемся мастером

;
$ORIGIN 0.13.10.IN-ADDR.ARPA.
$TTL 1h
;
@       IN      SOA     ns1.model.local.        hostmaster.model.local. (
                                                2014023001      ; Serial Number
                                                10800           ; refresh
                                                3600            ; retry
                                                604800          ; expire
                                                86400   )       ; min TTL
;
                        IN      NS      ns1.model.local.
;
2                       IN      PTR     ns1.model.local.
101                     IN      PTR     netctrl-01.model.local.
255                     IN      PTR     bc.model.local.
;

Зоны по-умолчанию

Зона типа hint для домена точки со списком корневых серверов. Файл зона необходимо периодически обновлять с сервера ftp://ftp.internic.net/domain/named.cache

zone "." {
        type hint;
        file "/etc/bind/db.root";
};

Зоны замыкания на себя прямые, обратные и броадкастов.

zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};

Пример прямой и обратной зоны замыкания на себя, входящих в дистрибутив BIND9

; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
@       IN      A       127.0.0.1
@       IN      AAAA    ::1
;
$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
1.0.0   IN      PTR     localhost.

Типы ресурсных записей (RR)

SOA

Запись SOA определяет какой сервер является владельцем зоны и какие на зону установлены параметры. После записи SOA надо обязательно указать IN NS запись с тем-же сервером, что и в заголовке.

Пример: домен example.com обслуживается серверами ns.example.com и ns.examle.net. После указания директивы $ORIGIN сервер автоматически допишет за нас все неполные dns имена (таким образом hostmaster читается как hostmaster.example.com). Имя сервера вне зоны пишется полностью.

$TTL 2d ; zone TTL default = 2 days or 172800 seconds
$ORIGIN example.com.
@      IN      SOA   ns hostmaster (
               2003080800 ; serial number
               1d12h      ; refresh =  1 day 12 hours
               15M        ; update retry = 15 minutes
               3W12h      ; expiry = 3 weeks + 12 hours
               2h20M      ; minimum = 2 hours + 20 minutes
               )
       IN      NS  ns
       IN      NS  ns.example.net.  ; out-of-zone 
...
; A record for the NS RR above
ns     IN      A   192.168.2.1
;

Пример 2: домен example.com обслуживается двумя серверами вне зоны. Для них указаны полные имена в записях IN NS. Т.к. домен обслуживается другими серверами никакие A записи не допускаются.

$TTL 2d ; zone TTL default = 2 days or 172800 seconds
$ORIGIN example.com.
@      IN      SOA   ns.example.net. hostmaster.example.com. (
               2003080800 ; serial number
               1d12h      ; refresh =  1 day 12 hours
               15M        ; update retry = 15 minutes
               3W12h      ; expiry = 3 weeks + 12 hours
               2h20M      ; minimum = 2 hours + 20 minutes
               )
        IN     NS    ns.example.net. ; out-of-zone name server
        IN     NS    ns.example.org. ; out-of-zone name server

Параметры зоны и директивы сервера bind

View - ограничение видимости зон

Использование ограничения видимости позволяет применять различные опции по отношению к различным клиентам. Опция вступают в действие в зависимости от ip адреса клиента - источника запроса.

Это позволяет использовать разные данные по одной и той-же зоне для разных клиентов. Для внутренних клиентов мы должны разрешить рекурсивные запросы, для внешних - запретить.

Конфигурация зон /etc/bind/named.conf

; список доступа - наши внутренние клиенты
acl internal {
    10.13.0.0/24;
    localhost;
};

; область видимости для внутренних клиентов
view "internal-view" {
  ; клиент - соответствует списку доступа
  match-clients { internal; };
  ; разрешена рекурсия для внутренних клиентов
  recursion yes;

 ;  зона видима только для внутренних клиентов
  zone "model.local" in {
    type master;
    file "/etc/bind/db.model.local";
  };

; зона видима для внутренних клиентов иначе, чем для внешних
; файл зоны свой
  zone "model.example.net" in {
    type master;
    file "/etc/bind/db.model.example.net.internal";
  };

; обратная зона для внутренних клиентов тоже своя
  zone "0.13.10.in-addr.arpa" in {
    type master;
    file "/etc/bind/rev.10.13.0.internal";
  };

; дефолтные зоны сервера
  include "/etc/bind/named.conf.default-zones";
};

; область видимости, доступная всем прочим клиентам
view "external-view" {
  match-clients { any; };
; запрет рекурсии
  recursion no;

; зона видится внешними клиентами не так, как внутренними
; файл зоны свой
  zone "model.example.net" in {
    type master;
    file "/etc/bind/db.model.example.net";
  };

;  обратная зона видится внешними клиентами не так, как внутренними
; файл зоны свой
  zone "0.13.10.in-addr.arpa" in {
    type master;
    file "/etc/bind/rev.10.13.0";
  };

};