Проблемы DNS

Почему-то не хочет резолвить имена локальных машин. Хотя под виндой все нормально. В чем может быть проблемма?

Что конкретно не хочет делать, желательно с описанием действий?

Например:

$ ping mind
ping: unknown host mind

Но при этом под виндой все нормально.

Хотелось бы уточнить следующие вопросы.

* каким образом получен ip адрес (dhcp, настроен вручную)?

* содержимое /etc/resolv.conf

cat /etc/resolv.conf

* содержимое /etc/host

cat /etc/hosts
  • ip DNS сервера

Адрес получен по DHCP от CDS, он же и DNS - 192.168.1.10

$ cat /etc/resolv.conf
 # Generated by dhcpcd from eth0
 # /etc/resolv.conf.head can replace this line
domain domainname.local
nameserver 192.168.1.10
 # /etc/resolv.conf.tail can replace this line

$ cat /etc/hosts
#------------------------------------------------------------------------------
 # Changed by Calculate 1.3.0
 # Changes to profile "install/1default".
#------------------------------------------------------------------------------

127.0.0.1       mager-CLD.local mager-CLD localhost

В /etc/resolv.conf отсутствует параметр

search domainname.local

скорей всего неправильно настроен dhcpd на сервере.

Хотелось бы уточнить следующие вопросы:

* содержимое /etc/dhcp/dhcpd на сервере

cat /etc/dhcp/dhcpd.conf
  • доменное имя domainname.local правильно? (полное имя компьютера - имя_компьютера.domainname.local)

* что выдает команда?

nslokup mager-CLD.domainname.local

если домен неправильный

nslokup mager-CLD.имя_правильного_домена

Содержимое /etc/dhcp/dhcpd:

#------------------------------------------------------------------------------
 # Modified Calculate-server 2.1.6
 # File of a profile "profile/dhcp"
#------------------------------------------------------------------------------

on commit {
set client_ip = binary-to-ascii (10,8,".", leased-address);
set client_domain = pick (config-option domain-name, config-option server.ddns-domainname);
set client_host = pick (option host-name, host-decl-name);
execute ("/usr/lib/calculate/calculate-server/bin/dhcp", "--host", client_host, "--domain", client_domain, "--ip", client_ip, "-s", "ou=DNS,ou=Services,dc=calculate", "-b", "dc=calculate", "-P", "/etc/dhcp/dhcp.ldap");}
ddns-update-style none;
authoritative;
update-static-leases on;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
        option broadcast-address 192.168.1.255;
        option subnet-mask 255.255.255.0;
        option routers 192.168.1.10;
        option domain-name "domainname.local";
        option domain-name-servers 192.168.1.10;
        range 192.168.1.11 192.168.1.100;}

host mind {
        fixed-address 192.168.1.10;
        hardware ethernet 00:11:22:33:44:55;}

Не знаю, что там может быть не правильного, настраивал все по документации средствами калкулейта.

nslookup выдает следующее:

$ nslookup mind.domainname.local
Server:         192.168.1.10
Address:        192.168.1.10#53

** server can't find mind.domainname.local.domainname.local: SERVFAIL

$ nslookup mind
Server:         192.168.1.10
Address:        192.168.1.10#53

** server can't find mind: NXDOMAIN

domainname.local - это имя домена
mind - это имя сервера
mind.domainname.local - соответственно полное доменное имя

Вывод команды.

nslokup mind.domainname.local

домен надо добавить к хосту.

И еще что выдают команды на сервере:

* Информация о всех dns зонах

cl-info -z dns

* Информация о конкретной зоне

cl-info -Z domainname.local dns

* Информация о зоне c помщью команды host

host -a domainname.local 127.0.0.1
 # cl-info -z dns
Информация о master DNS зонах в LDAP
+------------------------+---------------------+----------------------+
| DNS зона               | Домен (прямая зона) | Сеть (обратная зона) |
+------------------------+---------------------+----------------------+
| domainname.local       | domainname.local    |                      |
| 1.168.192.in-addr.arpa |                     | 192.168.1.0/24       |
+------------------------+---------------------+----------------------+
(2 строк)

 # cl-info -Z domainname.local dns
Информация о master DNS зоне domainname.local
+------------------------------+-----------------------+
| Поле                         | Значение              |
+------------------------------+-----------------------+
| Имя зоны                     | domainname.local      |
| Master авторитативный сервер | domainname.local      |
| NS-запись                    | domainname.local.     |
| A-запись                     | 192.168.1.10          |
| Почта администратора         | root@domainname.local |
| Серийный номер               | 57                    |
| Регенерация                  | 8H                    |
| Обновление                   | 2H                    |
| Истечение                    | 2W                    |
| Минимум                      | 2H                    |
+------------------------------+-----------------------+
(10 строк)

Информация об A-записях в master DNS зоне domainname.local
+----------------------------+--------------+
| Домен                      | ip           |
+----------------------------+--------------+
| localhost.domainname.local | 127.0.0.1    |
| mind.domainname.local      | 192.168.1.10 |
| winxp.domainname.local     | 192.168.1.14 |
| mager.domainname.local     | 192.168.1.15 |
+----------------------------+--------------+
(4 строк)

 # host -a domainname.local 127.0.0.1
Trying "domainname.local"
Received 109 bytes from 127.0.0.1#53 in 200 ms
Trying "domainname.local.domainname.local"
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

Host domainname.local.domainname.local not found: 2(SERVFAIL)
Received 47 bytes from 127.0.0.1#53 in 0 ms

Не работает поддержка LDAP в DNS.

Нужно проверить установленную версию пакета bind должна быть выше bind-9.6.1 а также должен быть установлен ключ sdb-ldap

пример:

eix -s bind -C net-dns -S Berkeley

[D] net-dns/bind
     Available versions:  9.4.3_p3 9.4.3_p4 ~9.6.1_p2 {berkdb dlz doc idn ipv6 ldap mysql odbc postgres resolvconf sdb-ldap selinux ssl threads urandom xml}
     Installed versions:  9.6.1_p1(09:56:28 16.11.2009)(berkdb ipv6 ldap sdb-ldap ssl -dlz -doc -idn -mysql -odbc -postgres -resolvconf -selinux -threads -urandom -xml)
     Homepage:            http://www.isc.org/software/bind
     Description:         BIND - Berkeley Internet Name Domain - Name Server

Нужно обратить внимание на Installed versions: и ключ sdb-ldap

Если установлена правильная версия с ключом.
Перезапустите DNS на сервере

/etc/init.d/named restart

а затем на сервере выполните команду:

nslokup mind.domainname.local 127.0.0.1

если результата нет посмотрите открытые порты на сервере (должен быть открыт 53 порт):

nmap -p 53 192.168.1.10

и на локальном интерфейсе

nmap -p 53 127.0.0.1

С bind’ом все впорядке.
А вот после рестарта все заработало:) Походу просто демона глюкнуло.
Спасибо за помощь!