Bind9 (** server can't find NXDOMAIN)

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

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

BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Bind9

Сообщение BigBrother »

ubuntu 9.10
bind9


подскажите что надо поправить, чтобы днс в локалке нормально работал, и я мог пинговать компы по имени хоста, которые прописаны в конфиге днс и не было ошибки server can't find NXDOMAIN

Вот мои конфиги:
Файл db.1.168.192.in-addr.arpa

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

$TTL    604800
@       IN      SOA     server.dev. root.server.dev. (
                              2        ; Serial
                         604800        ; Refresh
                          86400        ; Retry
                        2419200        ; Expire
                         604800 )      ; Negative Cache TTL
;
@       IN      NS      server.dev.
249    IN     PTR     server.dev.
3       IN      PTR     host10.dev.


Файл db.dev

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

$TTL    604800
@       IN      SOA     server.dev. root.server.dev. (
                         201004252     ; Serial
                         604800        ; Refresh
                          86400        ; Retry
                        2419200        ; Expire
                         604800 )      ; Negative Cache TTL
;
@       IN      NS      server.dev.
@       IN      A       192.168.1.249
www IN CNAME server.dev.
server IN A 192.168.1.249
host10 IN A 192.168.1.3


Файл named.conf.default-zones

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

zone "db.dev" {
        type master;
        file "/etc/bind/db.dev";
};

zone "db.1.168.192.in-addr.arpa" {
        type master;
        notify no;
        file "/etc/bind/db.1.168.192.in-addr.arpa";
};


файл named.conf.options

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

options {
        directory "/var/cache/bind";
        allow-query { any; };
        allow-recursion { 192.168.1.0/24; };
        auth-nxdomain no;    # conform to RFC1035
#       listen-on-v6 { any; };
};


cat /etc/hostname

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

server.dev

cat /etc/resolv.conf

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

domain dev.
nameserver 192.168.1.249

nslookup server.dev

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

Server:        192.168.1.249
Address:    192.168.1.249#53

** server can't find server.dev: NXDOMAIN


ping host10

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

ping: unknown host host10


/var/log/syslog

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

Apr 26 15:30:33 server named[24981]: starting BIND 9.6.1-P2 -4 -u bind
Apr 26 15:30:33 server named[24981]: built with '--prefix=/usr' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc/b$
Apr 26 15:30:33 server named[24981]: adjusted limit on open files from 1024 to 1048576
Apr 26 15:30:33 server named[24981]: found 2 CPUs, using 2 worker threads
Apr 26 15:30:33 server named[24981]: using up to 4096 sockets
Apr 26 15:30:33 server named[24981]: loading configuration from '/etc/bind/named.conf'
Apr 26 15:30:33 server named[24981]: using default UDP/IPv4 port range: [1024, 65535]
Apr 26 15:30:33 server named[24981]: using default UDP/IPv6 port range: [1024, 65535]
Apr 26 15:30:33 server named[24981]: no IPv6 interfaces found
Apr 26 15:30:33 server named[24981]: listening on IPv4 interface lo, 127.0.0.1#53
Apr 26 15:30:33 server named[24981]: listening on IPv4 interface eth0, 192.168.1.249#53
Apr 26 15:30:33 server named[24981]: automatic empty zone: 254.169.IN-ADDR.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: 2.0.192.IN-ADDR.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: 255.255.255.255.IN-ADDR.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty 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.0.IP6.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: 1.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
Apr 26 15:30:33 server named[24981]: automatic empty zone: D.F.IP6.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: 8.E.F.IP6.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: 9.E.F.IP6.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: A.E.F.IP6.ARPA
Apr 26 15:30:33 server named[24981]: automatic empty zone: B.E.F.IP6.ARPA
Apr 26 15:30:33 server named[24981]: command channel listening on 127.0.0.1#953
Apr 26 15:30:33 server named[24981]: zone 0.in-addr.arpa/IN: loaded serial 1
Apr 26 15:30:33 server named[24981]: zone 127.in-addr.arpa/IN: loaded serial 1
Apr 26 15:30:33 server named[24981]: zone db.1.168.192.in-addr.arpa/IN: loaded serial 2
Apr 26 15:30:33 server named[24981]: zone 255.in-addr.arpa/IN: loaded serial 1
Apr 26 15:30:33 server named[24981]: zone db.dev/IN: loaded serial 201004252
Apr 26 15:30:33 server named[24981]: zone localhost/IN: loaded serial 2
Apr 26 15:30:33 server named[24981]: running


cat /etc/default/bind9

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

# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-4 -u bind"


cat /etc/hosts

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

127.0.0.1    localhost server
192.168.1.249 server.dev


netstat -anp | grep 53

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

tcp        0      0 192.168.1.249:53        0.0.0.0:*               LISTEN      24981/named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      24981/named
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      24981/named
udp        0      0 192.168.1.249:53        0.0.0.0:*                           24981/named
udp        0      0 127.0.0.1:53            0.0.0.0:*                           24981/named
unix  2      [ ACC ]     STREAM     LISTENING     525381   10307/mysqld        /var/run/mysqld/mysqld.sock
unix  2      [ ]         DGRAM                    525368   10309/logger
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

вместо zone "db.dev" должно быть zone "dev"
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

1
http://server.dev - работает
http://www.server.dev - не работает

2
На серваке есть виртуальные хосты.
http://hleb.server.dev/ - не работает
если прописать в /etc/hosts тогда заработает.

/etc/apache2/sites-enabled/@hleb.server.dev

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

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/hleb/www
#VirtualDocumentRoot /home/hleb/www/%-4/
ServerName hleb.server.dev
ServerAlias *.hleb.server.dev
ErrorLog /home/hleb/logs/error.log
TransferLog /home/hleb/logs/access.log
ScriptAlias /cgi-bin "/home/hleb/www/cgi-bin/"
Options -Indexes +FollowSymLinks +MultiViews
</VirtualHost>

Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Bind9

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

BigBrother писал(а):
26.04.2010 16:25
http://www.server.dev - не работает
BigBrother писал(а):
26.04.2010 16:25
http://hleb.server.dev/ - не работает
а зона server.dev у вас расписана? в первом посте я про неё ничего не нашёл.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

sash-kan писал(а):
26.04.2010 17:49
зона server.dev у вас расписана? в первом посте я про неё ничего не нашёл.

server - имя хоста
dev - имя зоны
сервером для зоны dev является хост с именем server.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Bind9

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

BigBrother
вы расписали зону dev.
имена www.server.dev и hleb.server.dev к этой зоне не имеют отношения.
они принадлежат зоне server.dev. про неё ваш named, как я понял, ничего не знает.
хотите обращаться по этим именам — описывайте зону server.dev.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

или я забыл как настраивается днс или я чего-то не понимаю.
Я описал зону dev, в которой прописал нужные мне хосты, к примеру host10 и server. Теперь, если на другом локальном компе сделаю запрос http://host10.dev то загрузится документ рут апача. То есть:
http://host10.dev = http://IP-компьютера-с-именем-host10
http://server.dev = http://IP-компьютера-с-именем-server

Я же пытаюсь получить доступ к компьютеру, который описан в зоне dev, но при этом, на этом же сервере установлен apache и настроены виртуальные хосты. Говорю исчо раз: server - имя хоста (а не зоны), такое же, как и host10.
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

BigBrother писал(а):
26.04.2010 16:25
http://server.dev - работает
http://www.server.dev - не работает

У вас есть www.dev, который описан в зоне dev и является синонимом для server.dev
BigBrother писал(а):
26.04.2010 15:42
www IN CNAME server.dev.

чтобы прописать www.server.dev надо добавить

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

www.server IN CNAME server.dev.

Вы сами малость запутались, где у вас хосты, где зоны (:

sash-kan писал(а):
26.04.2010 18:54
вы расписали зону dev.
имена www.server.dev и hleb.server.dev к этой зоне не имеют отношения.
они принадлежат зоне server.dev. про неё ваш named, как я понял, ничего не знает.
хотите обращаться по этим именам — описывайте зону server.dev.

Зона server.dev входит в зону dev, следовательно ее можно прописать в том-же файле или делегировать куда-то еще. Можно даже описать что-то типа very.very.long.host.name.dev в том же файле, не создавая новых зон. Просто не надо забывать, что зона dev, а не server.dev
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

neol писал(а):
26.04.2010 19:57
чтобы прописать www.server.dev надо добавить

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

www.server IN CNAME server.dev.

Спасибо, но вот виртуальные хосты так и не грузятся :(

neol писал(а):
26.04.2010 19:57
Просто не надо забывать, что зона dev, а не server.dev

ДА!
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

BigBrother писал(а):
26.04.2010 20:16
Спасибо, но вот виртуальные хосты так и не грузятся sad.gif

Покажите что там у вас сейчас в файле зоны и nslookup к виртуальному хосту.
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

neol писал(а):
26.04.2010 21:10
BigBrother писал(а):
26.04.2010 20:16
Спасибо, но вот виртуальные хосты так и не грузятся sad.gif

Покажите что там у вас сейчас в файле зоны и nslookup к виртуальному хосту.

Разве nslookup может применяться к виртуальным хостам? :mellow:

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

root@server:~# nslookup hleb.server.dev
Server:         192.168.1.249
Address:        192.168.1.249#53

** server can't find hleb.server.dev: NXDOMAIN


/etc/bind/db.dev

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

$TTL    604800
@       IN      SOA     server.dev. root.server.dev. (
                         201004252     ; Serial
                         604800        ; Refresh
                          86400        ; Retry
                        2419200        ; Expire
                         604800 )      ; Negative Cache TTL
;
@       IN      NS      server.dev.
@       IN      A       192.168.1.249
www IN CNAME server.dev.
www.server IN CNAME server.dev.
server IN A 192.168.1.249
host10 IN A 192.168.1.3
sub IN A 192.168.1.248

Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Bind9

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

BigBrother
при чём тут виртуальные хосты???
вы хотите, чтобы у вас вашим локальным bind-ом резолвилось имя hleb.server.dev
для этого надо описать в его (bind-а) конфигурации зону «server.dev».
и в этой зоне сделать запись про имя «hleb».

p.s. могу повторить это в третий раз. мне не сложно. (улыбка)
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

sash-kan писал(а):
26.04.2010 22:00
BigBrother
вы хотите, чтобы у вас вашим локальным bind-ом резолвилось имя hleb.server.dev

НЕТ!
Есть настроенные виртуальные хосты (hleb.server.dev, xxx.server.dev ...) на сервере, у которого !Р - 192.168.1.249 и имя хоста server. Так вот я хочу, чтобы они (виртуал хосты апача) грузились автоматически, и при создании нового виртуального хоста на этом сервере, не надо было прописывать его в /etc/hosts.
То есть, если я создаю новый виртуал. хост new.server.dev, то сразу могу к нему обращаться по имени http://new.server.dev
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

BigBrother писал(а):
26.04.2010 22:15
Есть настроенные виртуальные хосты (hleb.server.dev, xxx.server.dev ...) на сервере, у которого !Р - 192.168.1.249 и имя хоста server. Так вот я хочу, чтобы они (виртуал хосты апача) грузились автоматически, и при создании нового виртуального хоста на этом сервере, не надо было прописывать его в /etc/hosts.
То есть, если я создаю новый виртуал. хост new.server.dev, то сразу могу к нему обращаться по имени http://new.server.dev

Как вариант, прописать

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

*.server IN CNAME server.dev.

любое (даже несуществующее) имя, заканчивающееся на .server.dev, будет резолвится как 192.168.1.249, вашему условию это удовлетворит.
Вообще тут есть некоторые грабли, но для внутреннего использования сойдет.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Bind9

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

BigBrother писал(а):
26.04.2010 22:15
не надо было прописывать
1. прописывате зону server.dev.
2. в зоне server.dev делаете запись вида
* IN A 192.168.1.249

neol писал(а):
26.04.2010 22:35
Как вариант, прописать
согласно rfc1035 (п.2.3.1. Preferred name syntax) subdomain может содержать любую из 52 букв латинского алфавит (верхний и нижний регистр), любую из 10 арабских цифр и тире «-».
точки среди перечисленных символов нет. зачем же вы советуете то, что не соответствует стандарту?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

sash-kan писал(а):
27.04.2010 01:18
согласно rfc1035 (п.2.3.1. Preferred name syntax) subdomain может содержать любую из 52 букв латинского алфавит (верхний и нижний регистр), любую из 10 арабских цифр и тире «-».
точки среди перечисленных символов нет. зачем же вы советуете то, что не соответствует стандарту?

С того же пункта
<subdomain> ::= <label> | <subdomain> "." <label>
Точка маленькая и незаметная, но она есть (: Так что все в рамках стандартов.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Bind9

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

neol
каюсь, был не прав, употребив слово subdomain. это, действительно, немного иное понятие (в рамках rfc). замените его, пожалуйста, на label (см. пункт 3.1. этого же rfc) и ответьте всё-таки на вопрос:
sash-kan писал(а):
27.04.2010 01:18
зачем же вы советуете то, что не соответствует стандарту?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

sash-kan
Собственно я руководствуюсь информацией из книги "DNS и BIND", в которой есть аналогичные конфигурации, а в RFC не усматриваю запрета на такую запись.
И строка
<subdomain> ::= <label> | <subdomain> "." <label>
на мой взгляд как-бы намекает, что речь в нашем случае идет именно о subdomain, а не о label. Я не могу гарантировать, что я прав, а искать информацию и доказывать данную позицию у меня нет ни времени, ни особого желания.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Bind9

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

neol писал(а):
27.04.2010 12:00
<subdomain> ::= <label> | <subdomain> "." <label>
на мой взгляд как-бы намекает, что речь в нашем случае идет именно о subdomain, а не о label.
в rfc1034 чуть больше теории по поводу значения терминов subdomain и label. но читать и вникать у меня тоже
neol писал(а):
27.04.2010 12:00
нет ни времени, ни особого желания.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
BigBrother
Сообщения: 436
Статус: ¯\_(ツ)_/¯
ОС: linux based

Re: Bind9

Сообщение BigBrother »

neol писал(а):
26.04.2010 22:35
Как вариант, прописать

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

*.server IN CNAME server.dev.

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

спасибо, помогло.
А какие тут есть грабли?
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Bind9

Сообщение neol »

BigBrother писал(а):
27.04.2010 16:26
А какие тут есть грабли?

Если нужно, чтобы example.server.dev не резолвилось, придется убирать запись *.server.dev. и прописывать все существующие. Иногда бывает крайне неудобно.
Спасибо сказали: