Подкажите как исправить такую ситуацию. Есть 2 машины с реальными адресами.
На них установлены named.
Пытаюсь сделать один мастером, другой слэйвом, чтобы поддерживать зону mytestdomain.ru.
Никаких сообщений об ошибках при reload не выдается.
Slave начинает посылать запросы на master, пакеты приходят, а в ответ ничего не выдается и в логи никаких сообщений об ошибках не выводится.
Как заставить master отдавать зону на slave?Машина 1 – master - x.x.x.x
named.conf
============
zone "mytestdomain.ru." {
type master;
file "mytestdomain.ru";
allow-transfer { any; };
};mytestdomain.ru
=================
$TTL 43200@ IN SOA @ root.tc.mytestdomain.ru. (
200306242 ; Serial
3600 ; Refresh
900 ; Retry
12096000 ; Expire
86400 ) ; Minimum@ IN NS tc.mytestdomain.ru.
@ IN NS ntm.mytestdomain.ru.localhost IN A 127.0.0.1
tc IN A x.x.x.x
ntm IN A y.y.y.ymail IN CNAME tc
www IN CNAME tc
ftp IN CNAME tc@ IN MX 10 mail.mytestdomain.ru.
Машина 2 – slave - y.y.y.y
named.conf
============
zone "mytestdomain.ru." {
type slave;
file "mytestdomain.ru.bk";
masters { x.x.x.x; };
};
tcpdump на master вот что показывает:vic1# tcpdump -i rl1 -n host y.y.y.y
tcpdump: listening on rl1
14:30:28.514309 y.y.y.y.53 > x.x.x.x.53: 46662 SOA? mytestdomain.ru. (28)
14:30:32.534384 y.y.y.y.53 > x.x.x.x.53: 46662 SOA? mytestdomain.ru. (28)
14:30:40.538538 y.y.y.y.53 > x.x.x.x.53: 46662 SOA? mytestdomain.ru. (28)В логах - накаких сообщений ( кроме того, что named перестартовал, когда делаю reload )
Primary и Secondary должны находиться в разных сетях класса С
>Primary и Secondary должны находиться в разных сетях класса С
В каком RFC это написано?
>>Primary и Secondary должны находиться в разных сетях класса С
>
>
>В каком RFC это написано?в каком-то RFC есть лишь РЕКОМЕНДАЦИИ по этому поводу, требование же
описано в любом документе РЕГИСТРАТОРОВ, для Европы это требования RIPE.
Разумеется речь о реальных зонах, с внутренними можно делать что угодно
и как угодно.
Вместо
zone "mytestdomain.ru." {
type slave;
file "mytestdomain.ru.bk";
masters { x.x.x.x; };
};Сделай
forwarders
{x.x.x.x}....
zone "mytestdomain.ru." {
type slave;
file "mytestdomain.ru.bk";
};
>Сделай
>forwarders
>{x.x.x.x}
>
>....
>
>zone "mytestdomain.ru." {
>type slave;
>file "mytestdomain.ru.bk";
>};Сделал. Получил вот что:
Jul 8 09:52:06 router named[163]: no 'masters' statement for non-master zone 'mytestdomain.ru'
Jul 8 09:52:06 router named[163]: zone 'mytestdomain.ru' did not validate, skipping
Jul 8 09:52:06 router named[163]: slave zone "mytestdomain.ru" (IN) removed
Попробуй так:
$TTL 43200
@ IN SOA mytestdomain.ru. root.tc.mytestdomain.ru. (
200306242 ; Serial
3600 ; Refresh
900 ; Retry
12096000 ; Expire
86400 ; Minimum
)
IN NS tc.mytestdomain.ru.
IN NS ntm.mytestdomain.ru.
tc IN A x.x.x.x
ntm IN A y.y.y.y
mail IN CNAME tc
www IN CNAME tc
ftp IN CNAME tc
@ IN MX 10 mail.mytestdomain.ru.
>tcpdump на master вот что показывает:
>
>vic1# tcpdump -i rl1 -n host y.y.y.y
>tcpdump: listening on rl1
>14:30:28.514309 y.y.y.y.53 > x.x.x.x.53: 46662 SOA? mytestdomain.ru. (28)
>14:30:32.534384 y.y.y.y.53 > x.x.x.x.53: 46662 SOA? mytestdomain.ru. (28)
>14:30:40.538538 y.y.y.y.53 > x.x.x.x.53: 46662 SOA? mytestdomain.ru. (28)
>
Запусти на слэйве nslookup и посмотри SOA запись на мастере для твоего домена. Что пишет?
Судя по man named.conf в описание зоны slave надо добавить:
transfer-source x.x.x.x;где x.x.x.x - адрес DNS мастера.
Попробывал добавить mytestdomain.ru. в описиание файла зоны, чтобы строка выглядела так:
@ IN SOA mytestdomain.ru. root.tc.mytestdomain.ru. (
Сделал ndc reload
tcpdump на обоих сторонах показал ( несколько раз ):
16:48:01.786085 x.x.x.x.1082 > y.y.y.y.53: 40941 notify [b2&3=0x2400] SOA? mytestdomain.ru. (28)Запускаю nslookup на slave машине:
> set querytype=SOA
> mytestdomain.ru x.x.x.xПолучаю:
Server: [x.x.x.x]
Address: x.x.x.x*** Request to x.x.x.x timed-out
А tcpdump показывает ( несколько раз ):
17:09:17.229919 y.y.y.y.1380 > x.x.x.x.53: 20844+ SOA? mytestdomain.ru. (28)То есть пакеты от slave на master приходят, ipfw их не режет, но master ничего в ответ не шлет. В то же время master шлет уведомления о смене зоны ( когда я делаю ndc reload ), slave начинает слать запросы и master опять ничего не отвечает. Здесь это называют подземным стуком ? :)
Никаких ругательств в /var/log/messages нет.
Похоже на ошибку в генах. :)
>Попробывал добавить mytestdomain.ru. в описиание файла зоны, чтобы строка выглядела так:
>@ IN SOA mytestdomain.ru. root.tc.mytestdomain.ru. (
>Сделал ndc reload
>tcpdump на обоих сторонах показал ( несколько раз ):
>16:48:01.786085 x.x.x.x.1082 > y.y.y.y.53: 40941 notify [b2&3=0x2400] SOA? mytestdomain.ru. (28)
>
>Запускаю nslookup на slave машине:
>> set querytype=SOA
>> mytestdomain.ru x.x.x.x
>
>Получаю:
>Server: [x.x.x.x]
>Address: x.x.x.x
>
>*** Request to x.x.x.x timed-out
>
>А tcpdump показывает ( несколько раз ):
>17:09:17.229919 y.y.y.y.1380 > x.x.x.x.53: 20844+ SOA? mytestdomain.ru. (28)
>
>То есть пакеты от slave на master приходят, ipfw их не режет,
>но master ничего в ответ не шлет. В то же время
>master шлет уведомления о смене зоны ( когда я делаю ndc
>reload ), slave начинает слать запросы и master опять ничего не
>отвечает. Здесь это называют подземным стуком ? :)
>
>Никаких ругательств в /var/log/messages нет.
>Похоже на ошибку в генах. :)
Посмотри nslookupом на самом мастере. Что показывает? Если версия BIND не из фри, а скачанная и скомпилированная, то у него есть ключ -g, позволяющий запустить его в интерактивном режиме, не как демон. При этом все сообщения показываются на экране. У той версии, которая во фре этот ключ для другого служит.
Все решилось.
У меня natd с ключиком -d съедал тихо входящие пакеты.
Оказался сам дурак.
Большое спасибо всем откликнувшимся, извините за беспокойство.