LINUX.ORG.RU
ФорумAdmin

bind - разные зоны для разных view.


0

0

Есть dns сервер, смотрящий в три сети - internal, net и в интернет.

1. Для зоны "zone." он является master-ом, причем для клиентов из internal сети при query запросах
он должен выдавать данные из файла zone.internal, а для всех остальных клиентов (из net и интерента)
- из файла zone.external.
Кроме того, у него есть slave dns для этой зоны "zone." в сети net, им он при трансферах должен выдавать данные из файла zone.external.
Так же он должен уведомлять слейвов об апдейтах этой зоны.
2. Он является слейвом для зоны "zone.net1.", мастер-серверы для которой находятся в сети net.
Он должен отвечать на query запросы для этой зоны только из сети internal. Кроме того он должен принимать уведомления об апдейтах
этой зоны от мастер серверов.
3. Он является слейвом для зоны "zone.net2.", мастер-серверa для которой находятся в сети net. Он должен принимать уведомления об апдейтах
этой зоны от мастер серверов. Он должен отвечать  query запросы для всех сетей (internal, net и интернета).
4. Он является мастером для зоны "zone.common.". Файл для этой зоны одинаков для всех сетей, слейвов у этой зоны нет.

Ниже идёт сам конфиг - выдача разных зон через view:

acl internal { 192.168.0.0/24; };

acl net { 192.168.2.1; 192.168.2.2; };

options {
    allow-query { none; };
    allow-transfer { none; };
};

view internal {
    match-clients { internal; };

    recursion yes;

    allow-query { internal; };

    allow-transfer { none; };

    zone "zone." IN {
        type master;
        file "zone.internal";
        notify yes;
    };

    zone "zone.common." IN {
        type master;
        file "zone.common";
        notify yes;
    };

    zone "zone.net1." IN {
        type slave;
        file "zone.net1";
        allow-notify { net; };
        masters { 192.168.2.1; 192.168.2.2; };
    };
    
    zone "zone.net2." IN {
        type slave;
        file "zone.net2";
        allow-notify { net; };
        masters { 192.168.2.1; 192.168.2.2; };
    };    
};


view external {
    match-clients { any; };
    recursion no;

    allow-query { any; };

    zone "zone." IN {
        type master;
        allow-transfer { net1; };
        also-notify { 192.168.2.1; 192.168.2.2; };
        file "zone.external";
        notify yes;
    };

    zone "zone.common." IN {
        type master;
        file "zone.common";
        notify yes;
    };
    
    zone "zone.net2." IN {
        type slave;
        file "zone.net2";
        allow-notify { net; };
        masters { 192.168.2.1; 192.168.2.2; };
    };    
};


Теперь вопросы.
1. В view internal для зоны "zone.net1." будут ли приниматься уведомления об апдейтах этой зоны от мастер серверов из сетей, 
находящихся в сети net. Cогласно документации "A client matches a view if its source IP address matches the address_match_list 
of the view's match-clients clause". Т. е. уведомления об апдейтах зоны от мастер серверов  - это сообщения от клиентов? Если не 
будут, то что делать?

2. По поводу зоны slave "zone.net2.". Эта зона прописана в обоих view. Что произойдет если зона обновится? Обновленная зона будет видна из
всех сетей или только из внешней сети (net + интеренет), а для внутренней сети до перезагрузки bind будут выдаваться данные старой (необновленной) 
зоны?

слишком много вопросов и лишней информации...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.