The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"непонятность с named?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (DNS / Linux)
Изначальное сообщение [ Отслеживать ]

"непонятность с named?"  +/
Сообщение от zRPG (ok) on 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 не при чём.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "непонятность с named?"  +/
Сообщение от Kazak email(??) on 02-Авг-12, 21:29 
в named.conf
recursion yes
поставь.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 02-Авг-12, 21:40 
> в named.conf
> recursion yes
> поставь.

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

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "непонятность с named?"  +/
Сообщение от lavr email on 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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

5. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 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. Об этом я уже писал...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "непонятность с named?"  +1 +/
Сообщение от ALex_hha (ok) on 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";
    };
...
}


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 03-Авг-12, 14:16 
> можно, прочитай про acl

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

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

10. "непонятность с named?"  +1 +/
Сообщение от Дядя_Федор on 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.


Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 04-Авг-12, 13:16 
всё получилось, спасибо!
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 03-Авг-12, 14:21 
И всё-таки любопытно, почему в этой ситуации программы используют только локальный сервер днс? Объясните пожалуйста
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

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

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

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

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

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

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 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'е и не найдя пошёл на второй?

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

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

13. "непонятность с named?"  +/
Сообщение от lavr email on 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

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

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

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


Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

15. "непонятность с named?"  +/
Сообщение от LSTemp (ok) on 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.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "непонятность с named?"  +/
Сообщение от zRPG (ok) on 06-Авг-12, 20:19 
Всем спасибо, тему можно закрывать.
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру