конфигурирование bind

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

Модераторы: SLEDopit, Модераторы разделов

paltusssss
Сообщения: 147

конфигурирование bind

Сообщение paltusssss »

Всем добрый вечер!

Прочитал о настройке DNS в четырёх книгах, последняя из них - http://www.ozon.ru/context/detail/id/1045284/ изучил первые четыре главы, относящиеся к первичной конфигурации. Теперь, хоть среди ночи разбуди - расскажу, как описываются файлы зон. Только вот толку от этого никакого. Файлы зон составлял также, как у автора в книге, только имена узлов другие, даже домен сменил. При запуске команды service named status пишет:

version: 9.5.0-P2 ()
number of zones: 19
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is ON
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

То есть сервер запущен. Команда dig @192.168.1.100 hotmail.com выводит

; <<>> DiG 9.5.0-P2 <<>> @192.168.1.100 hotmail.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27428
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;hotmail.com. IN A

;; Query time: 1 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Sat May 16 00:04:44 2009
;; MSG SIZE rcvd: 29

Сразу видно, что сервер найден, но его status SERVFAIL, а должен быть NOTERROR, да и QUESTION SECTION: тоже подозрительна - чем ей имя домена не нравится. Короче всё как в книге и ни фига не работает. В /etc/resolv.conf писал уже и 127.0.0.1 и 192.168.1.100 толку - никакого. Что же делать?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: конфигурирование bind

Сообщение sash-kan »

paltusssss писал(а):
15.05.2009 23:02
Сразу видно, что сервер найден
да, nameserver, имеющий адрес 192.168.1.100, действительно, командой dig найден.

paltusssss писал(а):
15.05.2009 23:02
status SERVFAIL
смотрите логи.

paltusssss писал(а):
15.05.2009 23:02
QUESTION SECTION: тоже подозрительна
ничего подозрительного. nameserver, работающий на 192.168.1.100, ничего про hotmail.com не знает.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
paltusssss
Сообщения: 147

Re: конфигурирование bind

Сообщение paltusssss »

Сегодня пытался выполнить отладку файлов зон средством named-checkzone

Файл прямого преобразования:

$TTL 86400
@ IN SOA cat.hotmail.com. admin.hotmail.com. (
2009040300
10800
3600
3600000
86400 )

IN NS cat.hotmail.com.
cat IN A 192.168.1.100


Результат:

zone hotmail.com/IN: loaded serial 2009040300
OK

Файл обратного преобразования:

$TTL 86400
@ IN SOA cat.hotmail.com. admin.hotmail.com. (
2009040300
10800
3600
3600000
86400
)
IN NS cat.hotmail.com.
100 IN PTR cat.hotmail.com.

Результат:

zone hotmail.com/IN: NS 'cat.hotmail.com' has no address records (A or AAAA)
zone hotmail.com/IN: loaded serial 2009040300
OK

Из листинга видно, что ошибка в последнем файле, но не пойму почему. Всё перепробовал.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: конфигурирование bind

Сообщение danger08 »

paltusssss писал(а):
17.05.2009 10:55
zone hotmail.com/IN: NS 'cat.hotmail.com' has no address records (A or AAAA)
zone hotmail.com/IN: loaded serial 2009040300
OK

Из листинга видно, что ошибка в последнем файле, но не пойму почему. Всё перепробовал.

Все верно, судя по вашим конфигам - он действительно не имеет А-записи.
paltusssss писал(а):
17.05.2009 10:55
IN NS cat.hotmail.com.
cat IN A 192.168.1.100

в этом блоке надо написать, например, так :

Код: Выделить всё

cat.hotmail.com. IN A 192.168.1.100
или так

Код: Выделить всё

@ IN A 192.168.1.100
тогда это имя будет ресольвиться нормально (сейчас у вас cat.cat.hotmail.com ресольвится в 192.168.1.100).
Блогосайт - http://www.fateyev.com
Спасибо сказали:
paltusssss
Сообщения: 147

Re: конфигурирование bind

Сообщение paltusssss »

danger08 писал(а):
18.05.2009 07:12
Все верно, судя по вашим конфигам - он действительно не имеет А-записи.


Да, но ведь в файле обратного преобразования PR-запись A и не нужна. Попробовал так, как вы посоветовали - таже ошибка. Для обратной зоны ввёл другой отладочный запрос named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1 - Это предупреждение исчезло, но статус SERVFAIL в DIG так и остался. В строку listen-on port 53 в файле /etc/named.conf заменил с any на 127.0.0.1 а затем на 192.168.1.100 при этом вписывая эти адреса в resolv.conf. Результат - тот же. Что-то я ну никак не пойму в чём дело. Ребят, подскажите пожалуйста.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: конфигурирование bind

Сообщение sash-kan »

вы про инкремент serial-а в зонном файле не забываете?

наверно, пора выложить конфигурационные файлы?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
paltusssss
Сообщения: 147

Re: конфигурирование bind

Сообщение paltusssss »

Вот всё, что я делал по пунктам:

1) Перечислил две свои зоны и указал адрес прослушки.
Файл /etc/named.conf

Код: Выделить всё

// (oe) Loosely based on the document below and from production server configurations.
// [url="http://www.cymru.com/Documents/secure-bind-template.html"]http://www.cymru.com/Documents/secure-bind-template.html[/url]
//
// $Id: named.conf 80849 2007-09-06 11:56:48Z oden $
// $HeadURL: svn+ssh://svn.mandriva.com/svn/packages/cooker/bind/current/SOURCES/named.conf $


// secret must be the same as in /etc/rndc.conf

// Access lists (ACL's) should be defined here
include "/etc/bogon_acl.conf";
include "/etc/trusted_networks_acl.conf";

// Define logging channels
include "/etc/logging.conf";

options {
    version "";
    directory "/var/named";
    dump-file "/var/tmp/named_dump.db";
    pid-file "/var/run/named.pid";
    statistics-file "/var/tmp/named.stats";
    zone-statistics yes;
//    datasize 256M;
    coresize 100M;
//    fetch-glue no;
//    recursion no;
//    recursive-clients 10000;
    auth-nxdomain yes;
    query-source address * port *;
[b][size=2]    listen-on port 53 { 192.168.1.100; };[/size][/b]
    cleaning-interval 120;
    transfers-in 20;
    transfers-per-ns 2;
    lame-ttl 0;
    max-ncache-ttl 10800;

//    forwarders { first_public_nameserver_ip; second_public_nameserver_ip; };

    allow-update { none; };
    allow-transfer { any; };

// Prevent DoS attacks by generating bogus zone transfer
// requests.  This will result in slower updates to the
// slave servers (e.g. they will await the poll interval
// before checking for updates).
//    notify no;
//    notify explicit;
//    also-notify { secondary_name_server };

// Generate more efficient zone transfers.  This will place
// multiple DNS records in a DNS message, instead of one per
// DNS message.
    transfer-format many-answers;

// Set the maximum zone transfer time to something more
// reasonable.  In this case, we state that any zone transfer
// that takes longer than 60 minutes is unlikely to ever
// complete.  WARNING:  If you have very large zone files,
// adjust this to fit your requirements.
    max-transfer-time-in 60;

// We have no dynamic interfaces, so BIND shouldn't need to
// poll for interface state {UP|DOWN}.
    interface-interval 0;

// Uncoment these to enable IPv6 connections support
// IPv4 will still work
//      listen-on { none; };
//      listen-on-v6 { any; };

    allow-query { trusted_networks; };
    allow-recursion { trusted_networks; };

// Deny anything from the bogon networks as
// detailed in the "bogon" ACL.
    blackhole { bogon; };
};

// workaround stupid stuff... (OE: Wed 17 Sep 2003)
zone "ac" { type delegation-only; };
zone "cc" { type delegation-only; };
zone "com" { type delegation-only; };
zone "cx" { type delegation-only; };
zone "lv" { type delegation-only; };
zone "museum" { type delegation-only; };
zone "net" { type delegation-only; };
zone "nu" { type delegation-only; };
zone "ph" { type delegation-only; };
zone "sh" { type delegation-only; };
zone "tm" { type delegation-only; };
zone "ws" { type delegation-only; };

zone "." IN {
    type hint;
    file "named.ca";
};

zone "localdomain" IN {
    type master;
    file "master/localdomain.zone";
    allow-update { none; };
};

zone "localhost" IN {
    type master;
    file "master/localhost.zone";
    allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "reverse/named.local";
    allow-update { none; };
};
[b][size=2]zone "hotmail.com" IN {
        type master;
         file "hotmail.com";
};
zone "192.168.1" IN {
        type master;
        file "192.168.1";
};
[/size][/b]
zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
    file "reverse/named.ip6.local";
    allow-update { none; };
};

zone "255.in-addr.arpa" IN {
    type master;
    file "reverse/named.broadcast";
    allow-update { none; };
};

zone "0.in-addr.arpa" IN {
    type master;
    file "reverse/named.zero";
    allow-update { none; };
};

Затем создал следующие файлы:

/etc/trusted_network_acl.conf

Код: Выделить всё

acl "trusted" {
192.168.1/24;
localhost;
};

[b][size=2]/etc/bogon_acl.conf[/size][/b]

acl "bogon" {
  10.129.1.1/8;
 };

[b][size=2]/etc/logging.conf[/size][/b]

acl "trusted_networks" {
192.168.1/24;
localhost;
};

logging {
    channel bind_log {
    file "/var/log/named/named.log";
    print-time yes;
    print-category yes;
    print-severity yes;
    };
    channel update_debug {
    file "/var/log/named/update-debug.log";
    severity debug 3;
    print-time yes;
    print-category yes;
    print-severity yes;
    };
    channel security_info {
    file "/var/log/named/security-info.log";
    severity info;
    print-time yes;
    print-category yes;
    print-severity yes;
    };
    category default { bind_log;};
    category xfer-in { bind_log;};
    category xfer-out { bind_log;};
    category update { update_debug;};
    category security { security_info;};
};

После этого запустил отладочную комманду named-checkconf, которая наконец то не выдала ни каких ошибок или предупреждений.

2) Создал два файла описания зон:

/var/named/hotmail.com

Код: Выделить всё

$TTL 86400
@ IN SOA ns.hotmail.com.  admin.hotmail.com. (
   2009040301
   10800
   3600
   3600000
   86400 )

    IN NS  ns.hotmail.com.
ns IN A 192.168.1.100

Запустил комманду named-checkzone hotmail.com /var/named/hotmail.com

Получил ответ:

zone hotmail.com/IN: loaded serial 2009040301
OK


/var/named/192.168.1

$TTL 86400
@ IN SOA ns.hotmail.com. admin.hotmail.com. (
2009040301
10800
3600
3600000
86400
)
IN NS ns.hotmail.com.
100 IN PTR ns.hotmail.com.

Запустил комманду named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1

Получил ответ:

zone 1.168.192.in-addr.arpa/IN: loaded serial 2009040301
OK

3) Указал айпишник своей сетевой карты:

/etc/resolv.conf


# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.100

4) Запустил комманду Dig:

dig @192.168.1.100 hotmail.com


; <<>> DiG 9.5.0-P2 <<>> @192.168.1.100 hotmail.com
; (1 server found)
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 23828
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;hotmail.com. IN A

;; Query time: 1 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Wed May 20 14:34:28 2009
;; MSG SIZE rcvd: 29

Статус по прежнему остался SERVFAIL. В resolv.conf записывал и адрес 127.0.0.1 так же указывая его в Listen on port 53. Результат тот же. В чём же дело? Может ли бинд стартовать, если я не создал вторичный днс?

P.S. В файлах зон счётчик увеличил на 01 и выполнил команду service named reload. Толку - никакого.
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: конфигурирование bind

Сообщение strah »

$TTL 86400
@ IN SOA ns.hotmail.com. admin.hotmail.com. (
2009040301
10800
3600
3600000
86400 )

IN NS ns.hotmail.com.
ns IN A 192.168.1.100

А ты пытаешься резолвить hotmail.com, и, естественно, нужной записи у тебя не находится. Если уж на то пошло, то измени "ns IN A 192.168.1.100" на

Код: Выделить всё

@ A 192.168.1.100
ns CNAME hotmail.com.


Это во первых. А во вторых:

zone "192.168.1"

Как бы, название зоны должно быть "1.168.192.in-addr.arpa."

Да и
zone "hotmail.com"

Должно быть "zone "hotmail.com."
/earth: file system full
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

имеется ubuntu шлюз со статическим внешним IP, почтой и сайтом на нём, пытаюсь настроить BIND как кэширующий для внутренней сети.
добавил в /etc/bind/named.conf.options
forwarders и listen-on, а вот с файлами зон разобраться не могу. как они должны называться и что туда писать?
может есть у кого-то примеры?
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: конфигурирование bind

Сообщение sash-kan »

demsl писал(а):
20.07.2010 17:32
как они должны называться
на ваше усмотрение.

demsl писал(а):
20.07.2010 17:32
и что туда писать?
описание зоны.

demsl писал(а):
20.07.2010 17:32
может есть у кого-то примеры?
http://en.wikipedia.org/wiki/Zone_file
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

наткнулся в сети - вдруг кому пригодиться)
http://pgl.yoyo.org/as/bind-zone-file-creator.php
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

есть пара вопросов по конфигам - подскажите плиз
итак, dns для внутренней сети, но на сервере - статический внешний IP и сайт

********************************
file named.conf
********************************

options {
listen-on {
127.0.0.1;
192.168.1.0/24;
123.123... (внешний IP); ----- он тут нужен?
};
allow-query { localhost; 127.0.0.1/8; 192.168.1.0/24; };
allow-recursion { localhost; 127.0.0.1/8; 192.168.1.0/24; };
allow-transfer { none; };
version "superserver";

forwarders {
адрес днс прова;
dns2.прова;
4.2.2.2;
};
// query-source address * port 53; -- нужно указывать, если dns только для внутренней сети?
};

//////////////////////////////////////////

zone "." {
type hint;
file "named.root";
allow-transfer {
127.0.0.1;
};
};

zone "0.0.127.in-addr.arpa" {
type master;
file "/etc/localhost.rev";
allow-transfer {
127.0.0.1;
};
};

zone "1.168.192.in-addr.arpa" {
type slave;
file "/etc/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
allow-transfer {
127.0.0.1;
};
};

zone "domen.kiev.ua" {
type master;
allow-update { none; };
allow-query { ?????????; };
file "/etc/domen.kiev.ua";
allow-transfer {
127.0.0.1;
};
};






********************************
file domen.kiev.ua
********************************


; BIND db file for domen.kiev.ua

$TTL 86400
$ORIGIN domen.kiev.ua.
@ IN SOA ns.domen.kiev.ua. some.domen.kiev.ua. (
2010072701 ; serial number YYMMDDNN
28800 ; Refresh
7200 ; Retry
864000 ; Expire
86400 ; Min TTL
)

IN NS ns.domen.kiev.ua.
IN NS ns2.provider.kiev.ua.
IN NS ns.provider.kiev.ua.
;

IN MX 10 mail.domen.kiev.ua.
IN MX 20 relay1.provider.
IN MX 30 relay2.provider.

;
IN A внешний_IP
localhost IN A 127.0.0.1
smtp IN A внешний_IP
relay IN A внешний_IP
relay1 IN A внешний_IP
mail IN A внешний_IP
www IN A внешний_IP
ns IN A внешний_IP
;


+ нужен ли файл зоны localhost?
и в целом - правильно ли описаны конфиги?
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: конфигурирование bind

Сообщение Voral »

demsl писал(а):
27.07.2010 13:54
listen-on {
127.0.0.1;
192.168.1.0/24;
123.123... (внешний IP); ----- он тут нужен?
};

Здесь вы указали на каких интерфейсах слушать запросы. На 127.0.0.1, на 192.168.1.1 - 192.168.1.255, 123.123....... я так подозреваю что на вашей системе интерфейсов гораздо меньше. :)
127.0.0.1 надо. Что бы данная машина сама могла обращаться к бинду
192.168.1.Х - не маска, а адрес вашего компа в локальной сети. Нужен если вы хотите, чтобы другие машины в локалке пользовались биндом
123.123. - если хотите разрешить запросы с внешних адресов

demsl писал(а):
27.07.2010 13:54
// query-source address * port 53; -- нужно указывать, если dns только для внутренней сети?

Врать не буду - надо или нет. Но я не указывал.

demsl писал(а):
27.07.2010 13:54
allow-query { ?????????; };

Здесь вы указываете конкретными адресами или масками машинам с какими айпи разрешается спрашивать у вашего бинда.

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

Voral, спасибо!


на 192.168.1.1 - 192.168.1.255, 123.123....... я так подозреваю что на вашей системе интерфейсов гораздо меньше.

т.е. указать 127.0.0.1 и 192.168.1.1 ?

123.123. - если хотите разрешить запросы с внешних адресов

- запросы DNS? если не указать внешний IP в listen-on - сайт будет доступен?


allow-query { ?????????; };

Здесь вы указываете конкретными адресами или масками машинам с какими айпи разрешается спрашивать у вашего бинда.


о5 же: если это в описании domen.kiev.ua - будет ли доступен сайт, если не указать там внешний IP?

извините за глупые вопросы, пытаюсь разобраться только )
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: конфигурирование bind

Сообщение Voral »

demsl писал(а):
27.07.2010 16:43
т.е. указать 127.0.0.1 и 192.168.1.1 ?

Да. Если хотите, чтобы вашим сервером ДНС пользовались. пользователи данного компа и вашей локальной сети. Это не только для вашего сайта, он еще и будет кэшировать доступ к внешним сайтом, т.е. интеренет чуть "ускорится"

demsl писал(а):
27.07.2010 16:43
- запросы DNS? если не указать внешний IP в listen-on - сайт будет доступен?

Если вам нужно, чтобы сайт был настроен из внешки, то вам достаточно там где зарегистрировали домен настроить dns на ваш ip. И настроить вебсревер, чтобы слушал запросы на внешнем интерфесе. И для этого bind не обязателен.

demsl писал(а):
27.07.2010 16:43

allow-query { ?????????; };
Здесь вы указываете конкретными адресами или масками машинам с какими айпи разрешается спрашивать у вашего бинда.

о5 же: если это в описании domen.kiev.ua - будет ли доступен сайт, если не указать там внешний IP?

Здесь указывается адрес не вашего компа. А компа с которого можно пользоваться вашим биндом. Т.е. вы можете не трогать этот параметр чтобы все могли делать запросы)

Подозреваю, что ваш dns не является главным dns. И вам нужно четко поять, что этот ваш dns возможно вообще не нужен. Для функционирования сайта. Т.е. если первичный Dns домена настроен на ваш ip, апач настроен на отдачу сайта на внешний интерфейс. То здеcь пишите все, что угодно..... Сомневаюсь, что у кого то во внешке будет стоять в качестве dns ваш dns :)

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

Предполагаю вам нужно одно из двух:
1. Сделать так, чтобы сайт находящийся у вас в локалке был доступен извне.
2. Сделать так, чтобы сайт находящийся у вас в локалке был доступен извне, а так же настроить кэширующий dns сервер для локалки

Во втором случае это две несвязяанные задачи.

Для решения первого (и части второго) случая вам надо настроить:запись dns там где вы регистрировали домен, iptables и apache (ну или вебсервер который вы используете)

Для второго случая кроме перечисленного выше. Собственно настройки dns (с сайтом это не связано)

Хотя есть малая вероятность, что вы поднимаете первичный dns - это уже другой вопрсо.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

нужно именно
2. Сделать так, чтобы сайт находящийся у вас в локалке был доступен извне, а так же настроить кэширующий dns сервер для локалки

вот так, значит?:
********************************
file named.conf
********************************

Код: Выделить всё

options {
listen-on {
127.0.0.1;
192.168.1.1;
};
allow-query { localhost; 127.0.0.1/8; 192.168.1.0/24; };
allow-recursion { localhost; 127.0.0.1/8; 192.168.1.0/24; };
allow-transfer { none; };
version "superserver";

forwarders {
адрес днс прова;
dns2.прова;
4.2.2.2;
};

};

//////////////////////////////////////////

Код: Выделить всё

zone "." {
type hint;
file "named.root";
allow-transfer {
127.0.0.1;
};
};

zone "0.0.127.in-addr.arpa" {
type master;
file "/etc/localhost.rev";
allow-transfer {
127.0.0.1;
};
};

zone "1.168.192.in-addr.arpa" {
type slave;
file "/etc/1.168.192.in-addr.arpa";
masters {
192.168.1.1;
};
allow-transfer {
127.0.0.1;
};
};

zone "domen.kiev.ua" {
type master;
allow-update { none; };
allow-query { localhost; 127.0.0.1/8; 192.168.1.0/24; };
file "/etc/domen.kiev.ua";
allow-transfer {
127.0.0.1;
};
};


+ а файл зоны нормальный?
Спасибо сказали:
Аватара пользователя
psystalker
Сообщения: 27
ОС: Debian GNU/Linux

Re: конфигурирование bind

Сообщение psystalker »

лучше, уясните сначала разницу между авторитативным днс сервером (резолвером) и рекурсором (кеширующим или нет, неважно). в первом случае сервер отвечает на запросы резолвинга от других серверов(рекурсоров) и собственно резолвит домен, который обслуживает, т.е. дает ответы на запросы извне по поводу своей зоны, а рекурсоры в свою очередь только транслируют рекурсивные запросы для клиентов, т.е. ищут данные на корневых серверах о местонахождении авторитативных серверов, обслуживающих домен, содержащийся в запросе, и обращаются к ним с вопросами резолвинга.

я так понял вам нужен bind работающий резолвером для сайта и рекурсором - для локалки? ну так разрешите по маске хостам из локалки recursive queries, а для запросов резолвинга - allow_queries всем, т.е. 0.0.0.0/0 - и конечно, бинд должен также слушать внешний интерфейс, иначе как внешние рекурсоры смогут резолвить у бинда доменные имена того домена, который он обслуживает?

почитайте документацию на сайте бинда (а еще лучше постарайтесь понять сам протокол днс) - там есть образцовые конфиги, хорошо комментированные.

зы - в файле обратной зоны ошибка в последней строчке - отсуствует IP для PTR записи, что как бы намекает нам на то, что вы пытаетесь настраивать днс не понимая протокола.
make love, not war; drop acid, not bombs :-)
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

psystalker писал(а):
28.07.2010 00:28
я так понял вам нужен bind работающий резолвером для сайта и рекурсором - для локалки? ну так разрешите по маске хостам из локалки recursive queries, а для запросов резолвинга - allow_queries всем, т.е. 0.0.0.0/0 - и конечно, бинд должен также слушать внешний интерфейс, иначе как внешние рекурсоры смогут резолвить у бинда доменные имена того домена, который он обслуживает?

allow-query всем - в options или в разделе зоны domen.kiev.ua?


зы - в файле обратной зоны ошибка в последней строчке - отсуствует IP для PTR записи, что как бы намекает нам на то, что вы пытаетесь настраивать днс не понимая протокола.

если я правильно понимаю, файл обратной зоны - это in-addr.arpa? так я его на форуме и не приводил, а только файл зоны domen.kiev.ua, что как бы намекает нам на то, что вы невнимательны )


+ а как проверить работоспособность binda как кэширующего сервера?
Спасибо сказали:
Аватара пользователя
psystalker
Сообщения: 27
ОС: Debian GNU/Linux

Re: конфигурирование bind

Сообщение psystalker »

demsl писал(а):
28.07.2010 10:59
allow-query всем - в options или в разделе зоны domen.kiev.ua?


да, в options надо

allow-query { any; };

и в listen-on добавить внешний интерфейс.


если я правильно понимаю, файл обратной зоны - это in-addr.arpa? так я его на форуме и не приводил, а только файл зоны domen.kiev.ua, что как бы намекает нам на то, что вы невнимательны ) .


да, сорри, это относилось к топикстартеру, а не к вам :)

+ а как проверить работоспособность binda как кэширующего сервера?


time'ом? попробовать отрезолвить случайно выбранный хостнейм несколькораз подряд из локалки, указав ваш днс в resolv.conf клиента - если кеширование работает, в последующие разы хостнейм будет резолвиться заметно быстрее.
make love, not war; drop acid, not bombs :-)
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

psystalker писал(а):
28.07.2010 16:18
+ а как проверить работоспособность binda как кэширующего сервера?


time'ом? попробовать отрезолвить случайно выбранный хостнейм несколькораз подряд из локалки, указав ваш днс в resolv.conf клиента - если кеширование работает, в последующие разы хостнейм будет резолвиться заметно быстрее.


а если в локалке все под виндой? вместо resolv.conf прописать днс в свойствах подключения?


блин, после обновления named.conf BIND отказывается стартовать - fail и всё тут :cray: :cray:
как его заставить логи писать или каким ещё способом определить, где я налажал?
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: конфигурирование bind

Сообщение Voral »

demsl писал(а):
28.07.2010 10:59
+ а как проверить работоспособность binda как кэширующего сервера?


я обычно запускаю два разу команду

Код: Выделить всё

dig <anydomain>

<anydomain> - имя любого домена, на который уже давно не обращались (я дергаю что то типа km.ru)
и гляжу на строчки "Query time" и "SERVER" в выводе.
Когда второй раз обращаетесь время должно быть очень маленьким (у меня 0msec)


demsl писал(а):
28.07.2010 17:17
а если в локалке все под виндой? вместо resolv.conf прописать днс в свойствах подключения?

совершенно верно


demsl писал(а):
28.07.2010 17:17
блин, после обновления named.conf BIND отказывается стартовать - fail и всё тут :cray: :cray:
как его заставить логи писать или каким ещё способом определить, где я налажал?

Гляньте /var/log/syslog

Хотя.... Наверное я наврал, что бы туда писал надо настроить.... Вот ЗДЕСЬ есть про это
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

если я не путаю, syslog -a (как предлагает автор статьи) работает для демонов в chroot. у меня пока расположение по умолчанию
Спасибо сказали:
Аватара пользователя
psystalker
Сообщения: 27
ОС: Debian GNU/Linux

Re: конфигурирование bind

Сообщение psystalker »

demsl писал(а):
28.07.2010 17:49
если я не путаю, syslog -a (как предлагает автор статьи) работает для демонов в chroot. у меня пока расположение по умолчанию


тогда, в зависимости от дистрибутива, смотрите в сислоге (по умолчанию, по крайней мере в дебиане, бинд пишет в сислог, емнип):

cat /var/log/syslog | grep named

или

cat /var/log/messages | grep named

скорее всего опечатка в конфиге, не закрытая скобка, или не хватает ";"
make love, not war; drop acid, not bombs :-)
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: конфигурирование bind

Сообщение Voral »

Проверил у себя. Пишет здесь
psystalker писал(а):
28.07.2010 19:20
cat /var/log/syslog | grep named

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

ругается на это:
/etc/bind/named.conf : 30 : unknown option 'zone'
/etc/bind/named.conf : 38 : unknown option 'zone'
/etc/bind/named.conf : 43 : unknown option 'zone'
/etc/bind/named.conf : 49 : unknown option 'zone'
/etc/bind/named.conf : 54 : unknown option 'zone'
/etc/bind/named.conf : 70 : '}' expected near end of file
loading configuration: unexpected token


unknown option 'zone' - перед 'zone' должен быть пробел или табуляция? в родном файле вроде с начала строки, я не менял.
или описание зон должно входить в секцию options?

70 : '}' expected near end of file - он и так вроде в конце файла...
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: конфигурирование bind

Сообщение sash-kan »

demsl
где-то перед тридцатой строкой вы явно пропустили закрывающую скобку.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

sash-kan, спасибо! Вы правы - пропустил))
исправил, теперь бинд стартует (ура и спасибо форумчанам), но вопросы остались)
в логе вижу такое:

the working directory is not writable
/etc/bind/domen.kiev.ua : 6 : SOA record not at top of zone (domen.kiev.ua.domen.kiev.ua)
zone domen.kiev.ua / IN : loading from master file /etc/bind/domen.kiev.ua failed: not at top of zone
receiving control channel command 'reconfig'
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: конфигурирование bind

Сообщение sash-kan »

demsl писал(а):
29.07.2010 13:05
the working directory is not writable
перевод: рабочий каталог не доступен для записи.

demsl писал(а):
29.07.2010 13:05
SOA record not at top of zone
перевод: запись soa не в начале описания зоны.

demsl писал(а):
29.07.2010 13:05
domen.kiev.ua.domen.kiev.ua
вы явно запутались с точками и origin-ами.

т.е., смотрите на первые шесть строчек зонного файла и думайте, что же там неправильного.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
demsl
Сообщения: 209
Статус: sl

Re: конфигурирование bind

Сообщение demsl »

the working directory is not writable

как исправить? так: chown -R bind:bind /etc/bind ?

SOA record not at top of zone

и куда эту запись переместить??

********************************
file domen.kiev.ua
********************************


; BIND db file for domen.kiev.ua

$TTL 86400
$ORIGIN domen.kiev.ua.
@ IN SOA ns.domen.kiev.ua. some.domen.kiev.ua. (
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: конфигурирование bind

Сообщение sash-kan »

demsl писал(а):
30.07.2010 10:36
как исправить? так: chown -R bind:bind /etc/bind ?
конечно, нет.
во-первых, рабочим каталогом для bind является $ROOT/var/named, где $ROOT — либо пусто, либо путь к chroot-окружению (если вы используете его для запуска bind-а).
во-вторых, сопоставьте текущие принадлежность/права на этот каталог и всё, в нём находящееся, с именем пользователя (и его групповой принадлежностью), от под которым у вас запускается bind.

demsl писал(а):
30.07.2010 10:36
********************************
file domen.kiev.ua
********************************


; BIND db file for domen.kiev.ua

$TTL 86400
$ORIGIN domen.kiev.ua.
@ IN SOA ns.domen.kiev.ua. some.domen.kiev.ua. (
это дословное содержимое файла зоны?
первые три строчки следует удалить или закомментировать.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали: