Для моего собственного DNS-сервера «dig ... @ip-address» работает, а «dig ... @domainname» — нет.

Для моего собственного DNS-сервера «dig ... @ip-address» работает, а «dig ... @domainname» — нет.

Недавно я начал виртуализировать серверы, один из которых — DNS-сервер, работающий под управлением BIND 9 на Debian 7. Мой DHCP-сервер правильно выдает его в качестве основного DNS для сети, но я получаю следующую ошибку, если пытаюсь использоватьdig kilraine.lan @dns.kilraine.lan

couldn't get address for 'dns.kilraine.lan': not found

Хотя я получаю оригинальный вывод dig из dig kilraine.lan @192.168.1.2.

Подробности:

BIND 9 на Debian 7; Виртуализированный CT через Proxmox.

Файл зоны (адрес электронной почты был изменен, чтобы скрыть мою личную информацию)

; BIND data file for kilraine zone
;
$TTL    604800
@       IN      SOA     kilraine.lan. myaddress.myemail.com. (
                     2014060303         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL

        IN      A       192.168.1.2
;
@       IN      NS      dns.kilraine.lan
@       IN      A       192.168.1.2

dns2    IN      A       192.168.1.1
dns     IN      A       192.168.1.2
dhcp    IN      A       192.168.1.3
main    IN     A      192.168.1.10

Файл обратной зоны

;
; BIND reverse data file for kilraine.lan
;
$TTL    604800
@       IN      SOA     kilraine.lan. myaddress.myemail.com. (
                     3006201401         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      dns.
1       IN      PTR     dns2.kilraine.lan
2       IN      PTR     dns.kilraine.lan
3       IN      PTR     dhcp.kilraine.lan
10      IN      PTR     main.kilraine.lan

И, наконец, мой файл named.conf.local.

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
// include "/etc/bind/zones.rfc1918";

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

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

Я перезапускал BIND 9 много раз, и всегда получал "OK". Я использовал инструмент dnsutils 'dig' на сервере и клиенте, каждый из них возвращает следующее

    ; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> kilraine.lan
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 46467
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;kilraine.lan.          IN  A

;; Query time: 2 msec
;; SERVER: 192.168.1.2#53(192.168.1.2)
;; WHEN: Mon Jun 30 21:53:41 2014
;; MSG SIZE  rcvd: 30

решение1

Вы пропустили несколько точек в обратных записях. Должны заканчиваться на "kilraine.lan.", а не на "kilraine.lan". Кроме того, запись NS должна быть "dns.kilraine.lan." а не "dns." или "dns.kilraine.lan". Если вы пропустите конечную точку, вы по сути просите BIND добавить имя зоны (т. е. вы получите dns.kilraine.lan.kilraine.lan).

Другие вопросы/комментарии/мысли:

  • Вы перезапускали службу (или перезагружали зоны) после внесения изменений?
  • Ваш резолвер указывает на ваш DNS-сервер?
  • Прослушивает ли BIND порт 53? Есть ли на сервере брандмауэр, который блокирует любые попытки доступа к службе DNS?
  • Возвращает ли «dig main.kilraine.lan» что-либо отличное от «dig @192.168.1.1 main.kilraine.com»?
  • Вы смотрели записи журнала после перезапуска службы?

Связанный контент