URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93638
[ Назад ]

Исходное сообщение
"непонятность с named?"

Отправлено zRPG , 02-Авг-12 20:18 
Здравствуйте.
Настроил bind
< /etc/named.conf >
options {
        listen-on port 53 { 192.168.0.0/16; 127.0.0.1; };
        listen-on-v6 port 53 { none; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { 192.168.0.0/16; localhost; };
        recursion no;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "zone1" IN {
        type master;
        file "proba.ca";
};

< /var/named/proba.ca >
$TTL 60
@               60      IN      SOA     invalid.invalid.  invalid.invalid. 60 60 60 60 60
@                       IN      NS      ns.example.com.
@                       IN      A       192.168.7.1
a2                      IN      A       192.168.1.1

на машине < resolv.conf >
nameserver 192.168.7.1 # это комп с bind
nameserver 8.8.8.8 # DNS Google

Пробую через консоль:
$ ping ya.ru
PING ya.ru (213.180.204.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (213.180.204.3): icmp_seq=1 ttl=58 time=16.9 ms

$ nslookup ya.ru
;; Got recursion not available from 192.168.7.1, trying next server
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:    ya.ru
Address: 87.250.250.203
Name:    ya.ru
Address: 87.250.251.3
Name:    ya.ru
Address: 93.158.134.3
Name:    ya.ru
Address: 93.158.134.203
Name:    ya.ru
Address: 213.180.193.3
Name:    ya.ru
Address: 213.180.204.3
Name:    ya.ru
Address: 77.88.21.3
Name:    ya.ru
Address: 87.250.250.3

Теперь пробую зайти через firefox на сайт ya.ru. Firefox отвечает "сервер не найден".
Тоже самое через lynx

Никак не могу понять, почему не работает в программах?

PS: если в resolv.conf прописать первой строкой nameserver 8.8.8.8 то всё хорошо. Это я к тому что настройки firefox не при чём.


Содержание

Сообщения в этом обсуждении
"непонятность с named?"
Отправлено Kazak , 02-Авг-12 21:29 
в named.conf
recursion yes
поставь.

"непонятность с named?"
Отправлено zRPG , 02-Авг-12 21:40 
> в named.conf
> recursion yes
> поставь.

Нужно именно recursion no, для резолвинга других серверов не указанных в файле зоны используется 8.8.8.8


"непонятность с named?"
Отправлено lavr , 02-Авг-12 22:30 
>> в named.conf
>> recursion yes
>> поставь.
> Нужно именно recursion no, для резолвинга других серверов не указанных в файле
> зоны используется 8.8.8.8

возьмите одну или две хорошие книги по DNS и прочитайте про запросы, какие бывают
и как это работает.

http://www.zytrax.com/books/dns/ch2/index.html#queries
http://www.zytrax.com/books/dns/ch7/queries.html


"непонятность с named?"
Отправлено Kazak , 03-Авг-12 08:30 
>> в named.conf
>> recursion yes
>> поставь.
> Нужно именно recursion no, для резолвинга других серверов не указанных в файле
> зоны используется 8.8.8.8

Он и будет у вышестоящих серверов запрашивать, а для твоей сети будет кешируюшим.


"непонятность с named?"
Отправлено zRPG , 03-Авг-12 11:34 
> Он и будет у вышестоящих серверов запрашивать, а для твоей сети будет
> кешируюшим.

Хорошо, придётся дополнить ситуацию. В одной физической сети (она же и одна логическая) две зоны днс. Компы пользующиеся зоной 1 могут выходить в интернет и видят компы в 1 сети, компы зоны 2 не могут выходить в интернет и видят только компы 2 сети. В файлах обоих зон, прописаны только адреса (имена) компов в моей сети.
Так как recursion yes allow-recursion нельзя добавлять в раздел описания зоны, то получается что таким способом нельзя одной зоне разрешить рекурсию а другой запретить. Чтобы решить ситуацию поступил так, для компов первой зоны в resolv.conf прописал 192.168.7.1 и 8.8.8.8 а для компов дторой только 192.168.7.1. Но почему-то программы (firefox lynx и другие) пользуются лишь первым сервером из resolv.conf. Об этом я уже писал...


"непонятность с named?"
Отправлено ALex_hha , 03-Авг-12 14:05 
> Так как recursion yes allow-recursion нельзя добавлять в раздел описания зоны, то получается что таким способом нельзя одной зоне разрешить рекурсию а другой запретить

можно, прочитай про acl


acl "zone1" {
      192.168.1.0/24;
};

acl "zone2" {
      192.168.2.0/24;
};

view "zone1" in {

    match-clients { zone1; };
    recursion yes;
    additional-from-auth yes;
    additional-from-cache yes;

    zone "." in {
        type hint;
        file "named.root";
    };
...
}

view "zone2" in {

    match-clients { zone2; };
    recursion no;
    additional-from-auth yes;
    additional-from-cache yes;

    zone "." in {
        type hint;
        file "named.root";
    };
...
}



"непонятность с named?"
Отправлено zRPG , 03-Авг-12 14:16 
> можно, прочитай про acl

Про acl в курсе, а вот про view не знаю. Почитаю, подумаю.


"непонятность с named?"
Отправлено Дядя_Федор , 03-Авг-12 14:36 
> Про acl в курсе, а вот про view не знаю. Почитаю, подумаю.

Вот Вам вариант разрешения рекурсии только своей сети (что правильно с точки зрения безопасности):
acl "trusted" { 127.0.0.0/8; 192.168.0.0/16; };
...
options {
         .....
        allow-recursion { trusted;};
};

То же самое касается allow-query (any для публичных доменов, естественно, trusted - для внутренних, lan, к померу), allow-transfer (тут в ACL можно записать свои вторичные ДНС), allow-query-cache (нечего всяким левым сеткам давать доступ к своему кэшу), allow-update.



"непонятность с named?"
Отправлено zRPG , 04-Авг-12 13:16 
всё получилось, спасибо!

"непонятность с named?"
Отправлено zRPG , 03-Авг-12 14:21 
И всё-таки любопытно, почему в этой ситуации программы используют только локальный сервер днс? Объясните пожалуйста

"непонятность с named?"
Отправлено ALex_hha , 03-Авг-12 14:32 
> И всё-таки любопытно, почему в этой ситуации программы используют только локальный сервер
> днс? Объясните пожалуйста

В какой этой? Используют первый ДНС из списка, ко второму будет обращение только, если первый не ответил по таймауту

Если у тебя в resolv.conf есть записи вида

nameserver x.x.x.x
nameserver y.y.y.y

и x.x.x.x на запрос имени возвращает что хост не существует, то обращения к y.y.y.y в таком случае не будет


"непонятность с named?"
Отправлено zRPG , 04-Авг-12 13:13 
> В какой этой? Используют первый ДНС из списка, ко второму будет обращение
> только, если первый не ответил по таймауту
> Если у тебя в resolv.conf есть записи вида
> nameserver x.x.x.x
> nameserver y.y.y.y
> и x.x.x.x на запрос имени возвращает что хост не существует, то обращения
> к y.y.y.y в таком случае не будет

А почему он возвращает что хост не существует? За это отвечает какая-то опция? Что нужно сделать чтобы он поискал на первом nameserver'е и не найдя пошёл на второй?

Можно поподробнее раскрыть тему, ну или где почитать?


"непонятность с named?"
Отправлено lavr , 04-Авг-12 23:18 
>[оверквотинг удален]
>> только, если первый не ответил по таймауту
>> Если у тебя в resolv.conf есть записи вида
>> nameserver x.x.x.x
>> nameserver y.y.y.y
>> и x.x.x.x на запрос имени возвращает что хост не существует, то обращения
>> к y.y.y.y в таком случае не будет
> А почему он возвращает что хост не существует? За это отвечает какая-то
> опция? Что нужно сделать чтобы он поискал на первом nameserver'е и
> не найдя пошёл на второй?
> Можно поподробнее раскрыть тему, ну или где почитать?

вам сразу предложили почитать

DNS и BIND, 5-е издание
Год выпуска: 2008
Автор: Ли, Альбитц
Издательство: Символ
ISBN: 5-93286-105-3

Pro DNS and BIND 10
Год: 2011
Автор: Ron Aitchison / Рон Айтчисон
Издательство: APRESS
ISBN: 978-1430230489


"непонятность с named?"
Отправлено Аноним , 05-Авг-12 19:32 
> Что нужно сделать чтобы он поискал на первом nameserver'е и
> не найдя пошёл на второй?

Допилить dns-протокол



"непонятность с named?"
Отправлено LSTemp , 06-Авг-12 05:37 
>> В какой этой? Используют первый ДНС из списка, ко второму будет обращение
>> только, если первый не ответил по таймауту
>> Если у тебя в resolv.conf есть записи вида
>> nameserver x.x.x.x
>> nameserver y.y.y.y
>> и x.x.x.x на запрос имени возвращает что хост не существует, то обращения
>> к y.y.y.y в таком случае не будет
> А почему он возвращает что хост не существует?

- потому, что хоста может и не существовать (www.abracadabramycrazyhostname.ru существует?)
- потому что ДНС криво настроен

За это отвечает какая-то
> опция? Что нужно сделать чтобы он поискал на первом nameserver'е и
> не найдя пошёл на второй?
> Можно поподробнее раскрыть тему, ну или где почитать?

еще раз: если x.x.x.x говорит что хоста нет - значит y.y.y.y опрашиваться не будет (а чего ради, если первый доверенный ДНС уже ответ дал?). если x.x.x.x не отвечает (упал например), то будет опрошен y.y.y.y

PS
читайте рекомендации от lavr.


"непонятность с named?"
Отправлено zRPG , 06-Авг-12 20:19 
Всем спасибо, тему можно закрывать.