Добрый день, уважаемые специалисты. Помогите в изучении DNS сервера. У меня дома на сервере стоит fedora примерно 12, bind один из последних. Настроил простейший кэширующий сервер, который как-то работ это КАК-ТО меня не устраивает очень. Перечитал кучу доков, теперь в голове каша.
Если кто был в моей ситуации, помогите разобраться со структурой этого чудного механизма, а то во всех доках либо сильно сухая инфа, рассчитанная на спецов, либо 80% воды из которой не получается вытянуть основное.
Если можно, то помогите разобрать на примере текста
http://www.opennet.me/base/net/simple_dns.txt.html
Вот тут я ни фига не могу понять с самого начала
Например самая первая опция "listen-on" в описании описывается как:
"listen-on [ port ip_port ] { список-шаблонов-адресов }; (по умолчанию - все интерфейсы, порт 53; адрес и порт для приема запросов; может быть несколько таких предложений)" Т.е. оно только для { список-шаблонов-адресов }? Или как?
listen-on [ port ip_port ] { список-шаблонов-адресов };
в скобках ip интерфейсов которые bind будет слушать, то что придет на другие к bind не попадут
options {listen-on {
127.0.0.1; // Слушать на 127.0.0.1
xx.xx.xx.xx; // Слушать на внешнем таком то ип / заменить на твой внешний ип
};allow-transfer {
// Опция разрешает заберать файлы зон. Тоесть тут пишешь какие днс имеют право забирать у тебя зоны, тут указанно any - тоесть все могу забрать
any;
};pid-file "/var/run/named.pid"; // pid файл ДНС -са при запуске будет создаваться
notify yes; // Уведомлять? Да
};
//далее у нас пойдут записи зрн именzone "." {
type hint;
file "/etc/named.root"; // Зона точки, он уже есть как пишеться
// (запись по умолчанию, файл с данными имеется)
};zone "localhost" IN { // Зона localhost
// a master type means that this server needn't look
// anywhere else for information; the localhost buck
// stops here.
type master;
file "/etc/zone.localhost";
// don't allow dynamic DNS clients to update info
// about the localhost zone
allow-update { none; };
};zone "0.0.127.in-addr.arpa" { // братная зона для localhost 127.0.0.1
type master;
file "/etc/localhost.rev"; //обратная запись для вашего localhost
};// далее пойдут записи зон которые вы паркуете
zone "domain.ru" { // Вот тут ты паркуешь домены имя твоего домена
type master; // Тип зоны первичная master/slave
file "/etc/domain.net.ru"; // Собственно файл зоны (создавать самому)
allow-update { none;}; // Разрешить обновление?
allow-query { any; } ; // Кто запрашивать может?
allow-transfer { 1.2.3.4; } ; //Разрешить зону для забора slave ДНС (Вторичному)notify yes; // Уведомлять?
};
Спасибо за подсказку, я уже начал править свой конфиг. Подскажите еще маленький момент:
- Если я не хочу ни кому раздавать зоны, т.е. держать только домашнюю зону, тогда в " allow-transfer {" писать none?
- Что такое pid-file? Ламерским языком можно?
- Обратная зона только "zone "0.0.127.in-addr.arpa""? Это предопределенный формат
Пока все. Спасибо
> Спасибо за подсказку, я уже начал править свой конфиг. Подскажите еще маленький
> момент:
> - Если я не хочу ни кому раздавать зоны, т.е. держать только
> домашнюю зону, тогда в " allow-transfer {" писать none?эта опция не для раздачи, а для передачи файлов зон на другие нэймсервера, например вы держите свою зону firma.ru как master (primary нэймсервер), а ваш провайдер держит ее как slave (secondary нэймсервер), в случай краха вашего нэймсервера на запросы к вашей зоне будет отвечать его нэймсервер. Для управления раздачей, каким сетям можно отдавать запросы управляет опция allow-recursion, в которой указываешь списки сетей или адреса,
например
allow-recursion { 192.168.0/24; 10/8; 111.112.131.5; };> - Что такое pid-file? Ламерским языком можно?
PID (сокращение от англ. Process ID) — в системах класса UNIX — идентификатор процесса, уникальный номер, который система класса назначает каждому активному процессу,
необходим в программировании приложений.
http://en.wikipedia.org/wiki/Process_identifier
> - Обратная зона только "zone "0.0.127.in-addr.arpa""? Это предопределенный форматформат да предопределенный, но тебе потребуется своя обратная зона для своей сети, если хочешь по айпи узнавать имена хостов. Например у тебя своя сеть 192.168.0.x, ты хочешь по nslookup 192.168.0.5 узнать имя компа. В named.conf добавляешь зону
zone "0.168.192.in-addr.arpa" in {
notify no;
type master;
file "192.in-addr.arpa.dns";
};в файле зоны пишешь типа:
@ IN SOA ns.firma.ru admin.firma..ru. (
2010050701 ; serial
3H ; refresh
1H ; retry
1W ; expire
1D) ; minimum TTL
NS ns.firma.ru. # твой нэймсервер
5 PTR boss.firma.ru.
1 PTR ns.firma.ru.ru.
2 PTR admin.firma.ru.
если хочешь разобраться с bind, то крайне рекомендую найти и скачать книжку
"DNS и BIND" издательства O'RELLY
больше никакой и никогда литературы по ДНС тебе не потребуется
> если хочешь разобраться с bind, то крайне рекомендую найти и скачать книжку
> "DNS и BIND" издательства O'RELLY
> больше никакой и никогда литературы по ДНС тебе не потребуетсяИнтересная книга. Только там 5 изданий!!!!! DNS такой большой и сложный? Если честно я не знал
> Интересная книга. Только там 5 изданий!!!!! DNS такой большой и сложный? Если
> честно я не зналтоваришь школьник путает ИЗДАНИЯ с ТОМАМИ?
>> Интересная книга. Только там 5 изданий!!!!! DNS такой большой и сложный? Если
>> честно я не знал
> товаришь школьник путает ИЗДАНИЯ с ТОМАМИ?Зато я умею правильно писать слово "товарищ". А еще предложения начинаю с большой буквы. И в литературном стиле восклицания совсем не так выделяются. А еще, если глянуть сюда:
http://yandex.ru/yandsearch?text=%D0%BA%D0...
то можно увидеть как раз слово "издание"
Я победил этот раунд с крупным счетом?Если серьёзно, то мне кажется, что времени не хватит на 5 книжек, честно. Ассемблер нравится и 1С ку приходится для пропитания включать. Но я обязательно попробую их сократить (звучит "как мир во всем мире")
> Зато я умею правильно писать слово "товарищ". А еще предложения начинаю с
> большой буквы. И в литературном стиле восклицания совсем не так выделяются.
> А еще, если глянуть сюда:
> http://yandex.ru/yandsearch?text=%D0%BA%D0...
> то можно увидеть как раз слово "издание"
> Я победил этот раунд с крупным счетом?
> Если серьёзно, то мне кажется, что времени не хватит на 5 книжек,
> честно. Ассемблер нравится и 1С ку приходится для пропитания включать. Но
> я обязательно попробую их сократить (звучит "как мир во всем мире")товарисч видать исчо и петросяну родственник ... ))
вот очень хорошие вводные книги по основным сервисам UNIX и DNS в частности
* Питер Кью. Использование UNIX. М.:QUE, 1999
* Эви Немет и др. UNIX Руководство системного администратора. Киев:BHV, 1999
.
возможно они переиздавались. Прелесть в том. что за эти 10 лет в теории базовых технологий поменялось немногое. найдите их, хотя бы первую для начала
.
удачи
Хм, спасибо за разъяснения. У меня остались открытые вопросы, но пока их озвучивать не буду, попробую сам разобраться. Если не смогу, придется опять просить помощь
> Хм, спасибо за разъяснения. У меня остались открытые вопросы, но пока их
> озвучивать не буду, попробую сам разобраться. Если не смогу, придется опять
> просить помощьO'Reilly Пол Альбитц и Крикет Ли - DNS и BIND, 4-е издание, тебе и его хватит, чтобы изучить матчасть
http://xlabz.org/books/1/dns_and_bind.pdf