LINUX.ORG.RU
ФорумAdmin

bind9 трансфер не проходит после настройки view. failed while receiving responses: REFUSED

 


0

1

Доброго времени суток. Тестовая схема мастер и 2 слэйва. До внедрения view трансфер и нотифаи проходили нормально, после внедрения - нет. На сколько я знаю, view влияет только на ответы на запросы, а не на трансфер или я не прав?
named.local на мастере:

acl "localnet" { 194.135.107.0/24; };

view "internal" {
        match-clients { "localnet"; };
        match-destinations { 194.135.107.163; };
        match-recursive-only no;
        zone "test.ru" {
                type master;
                file "internal.test.ru";
                allow-transfer { 10.0.1.1; 10.0.2.2; };
                notify explicit;
                also-notify { 10.0.1.1; 10.0.2.2; };
        };
};

view "external" {
        match-clients { "any"; };
        match-destinations { 194.135.107.163; };
        match-recursive-only no;
        zone "test.ru" {
                type master;
                file "external.test.ru";
                allow-transfer { 10.0.1.1; 10.0.2.2; };
                notify explicit;
                also-notify { 10.0.1.1; 10.0.2.2; };
        };
};
Мастер не будет назначаться в кабинете для делегирования зоны, поэтому view такие, А вот такие view на слэйве:
acl "localnet" { 194.135.107.0/24; };

view "internal" {
        match-clients { "localnet"; };
        match-destinations { 194.135.107.162; };
        match-recursive-only no;
        zone "test.ru" {
                type slave;
                file "internal.test.ru";
                masters { 10.0.2.3; };
                allow-notify { 10.0.2.3; };
                notify no;
                transfer-source 10.0.2.2;
        };
};

view "external" {
        match-clients { "any"; };
        match-destinations { 8.8.8.8; };
        match-recursive-only no;
        zone "test.ru" {
                type slave;
                file "external.test.ru";
                masters { 10.0.2.3; };
                allow-notify { 10.0.2.3; };
                notify no;
                transfer-source 10.0.2.2;
        };
};
Этот слэйв - гипотетически один из тех, которые будут указаны в личном кабинете для делегирования домена, 8.8.8.8 - интерфейс для внешних запросов, 194.135.107.162 - для внутренних.
И вот такое я теперь получаю в журнале bind на слэйве:
............
25-Mar-2015 10:33:23.895 general: notice: running
25-Mar-2015 10:33:23.896 general: info: zone test.ru/IN/internal: refresh: unexpected rcode (REFUSED) from master 10.0.2.3#53 (source 10.0.2.2#0)
25-Mar-2015 10:33:23.896 general: info: zone test.ru/IN/internal: Transfer started.
25-Mar-2015 10:33:23.897 xfer-in: info: transfer of 'test.ru/IN/internal' from 10.0.2.3#53: connected using 10.0.2.2#42426
25-Mar-2015 10:33:23.897 xfer-in: error: transfer of 'test.ru/IN/internal' from 10.0.2.3#53: failed while receiving responses: REFUSED
25-Mar-2015 10:33:23.897 xfer-in: info: transfer of 'test.ru/IN/internal' from 10.0.2.3#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.001 secs (0 bytes/sec)
25-Mar-2015 10:33:24.396 general: info: zone test.ru/IN/external: refresh: unexpected rcode (REFUSED) from master 10.0.2.3#53 (source 10.0.2.2#0)
25-Mar-2015 10:33:24.396 general: info: zone test.ru/IN/external: Transfer started.
25-Mar-2015 10:33:24.397 xfer-in: info: transfer of 'test.ru/IN/external' from 10.0.2.3#53: connected using 10.0.2.2#58400
25-Mar-2015 10:33:24.398 xfer-in: error: transfer of 'test.ru/IN/external' from 10.0.2.3#53: failed while receiving responses: REFUSED
25-Mar-2015 10:33:24.398 xfer-in: info: transfer of 'test.ru/IN/external' from 10.0.2.3#53: Transfer completed: 0 messages, 0 records, 0 bytes, 0.001 secs (0 bytes/sec)

Хм, добавил в match-clients адреса 10.0.1.1 и 10.0.2.2 на которые должен производиться трансфер, добавил нужные адреса в match-destinations, трансфер работает, НО нотифаи не шлются и в логах слэйвов не видно что какие-либо нотифаи приходили. Т.е. если сделать например rndc refresh test.ru IN internal, то трансфер происходит, но почему перестали работать нотифаи не понятно.

nokogerra
() автор топика

Если для разных view мастер имеет 1 адрес из localnet, то нужно применять ключи.

В internal делаем

match-clients { !key "xxxxx"; localnet; };

В external делаем

match-clients { key "xxxxx"; any; };
server ip_master { key "xxxxx"; }

Можно на мастере слушать 2 адреса, один из localnet, а другой - не из него и для разных view указывать адрес мастера из соответствующего view.

vel ★★★★★
()
Ответ на: комментарий от vel

Здравствуйте, спасибо за ответ.
Честно говоря, совершенно не понял что означает

Если для разных view мастер имеет 1 адрес из localnet, то нужно применять ключи.

Что за 1 адрес и зачем ключи? Почему нельзя обойтись без них?
Вообще схема такая: 194.135.107.163 - мастер, 194.135.107.161 - слэйв1, 194.135.107.162 - слэйв2. Трансфер и нотифаи ходят через gre-туннели:
мастер(10.0.1.3) - слэйв1 (10.0.1.1)
мастер(10.0.2.3) - слэйв2 (10.0.2.2)
До внедрения view работали и нотифаи и трансфер (чтобы работали нотифаи я воспользовался оператором server, который мне подсказали вчера здесь же и указал для каждого слэйва свой notify-source, для слэв1 - 10.0.1.3, для слэйв2 - 10.0.2.3).
Почему теперь трансфер работает, а нотифаи - нет, вообще не могу понять, нотифаи польностью пропали из логов слэйвов, а на мастере только такое:

25-Mar-2015 13:55:11.123 notify: info: zone test.ru/IN/external: sending notifies (serial 2015032507)
т.е. даже не понятно кому и куда послан нотифай.

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

Если на то пошло, мне по идее и не нужны view для мастера, у него только один интерфейс и он смотрит в локальную сеть, а вот у слэйвов по 2 - один в локальную, другой - белый для запросов извне. Но я не знаю другого способа иметь и трансферить 2 файла зоны с мастера на эти слэйвы не делая при этом на мастере view.

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

Так, до меня дошло зачем ключ. Только пара вопросов:
1. Есть разница чем генерировать? Я делал подобное для удаленного управления rndc с помощью rndc-confgen - можно воспользоваться этой утилитой?
2. Не существует ли способа иметь на мастере 2 файла для зоны и трансферить их на слэйвы (а на слэйвах уже иметь view, которые будут оперировать этими файлами), при этом не имея view на мастере?

nokogerra
() автор топика
Ответ на: комментарий от nokogerra

Кажется пора посыпать голову пеплом. Я запутался окончательно.
Чтобы оба файла трансферились на слэйвы и слались нотифаи, интерфейсы этих слэйвов должны быть в match-clients, при чем и для internal, и для external, или нужно указать tsig-ключи, НО оба слэйва тем или иным образом (интерфейсами или ключами) попадут в первый вид, и до второго не дойдут.

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