DNS-сервер с Bind9: не удается разрешить записи DNS в файлах прямой и обратной зон

Привет всем :) Я попытался настроить свой собственный DNS-сервер с помощью bind9, но, хотя я пробовал несколько учебных пособий, я все равно получаю ту же ошибку. Запуск bind9 работает нормально, но когда я использую nslookup или dig против host1 (который существует в файле зоны пересылки), ему никогда не удается разрешить IP-адрес. У меня та же проблема с файлом обратной зоны, использующим IP-адрес в качестве аргумента вместо host1. Если я вместо этого найду, например, microsoft.com, я получу ответ.

Пример:

nslookup host1.dirks.crtn
;; Got SERVFAIL reply from 192.168.56.2, trying next server
;; Got SERVFAIL reply from 192.168.56.2, trying next server
server 127.0.0.1
address 127.0.0.1#53

** server can't fint host1.dirks.crtn.dirks.crtn: SERVFAIL

Я также пробовал host1:

nslookup host1
;; Got SERVFAIL reply from 192.168.56.2, trying next server 
server: 192.168.56.2
address 192.168.56.2#53

** server can't find host1: NXDOMAIN

С microsoft.com:

nslookup microsoft.com
server: 192.168.56.2
address: 192.168.56.2#53

Non-authoritative answer:
name: microsoft.com
address: 134.170.188.221
name: microsoft.com
address 134.170.185.46

Мои текущие файлы:

Файл /etc/bind/named.conf.options:

options {
directory "/var/cache/bind";
recursion yes;

  forwarders {
  8.8.8.8;
  8.8.4.4;
  };
  allow-query {
  192.168.56.0/24;
  };
  allow-transfer {
  192.168.56.0/24;
  };
};

Файл /etc/bind/named.conf.local:

zone "dirks.crtn" {
type master;
file "etc/bind/zones/dirks.crtn.db";
};

zone "56.168.192.in-addr.arpa" {
type master;
file "etc/bind/zones/rev.56.168.192.in-addr.arpa";
};

Файл прямой зоны - /etc/bind/zones/dirks.crtn.db:

$ORIGIN .
$TTL 907200          ; 1 week 3 days 12 hours

dirks.crtn           IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
       1263527838    ; serial
       10800         ; refresh
       3600          ; retry (1 hour)
       604800        ; expire (1 week)
       38400         ; minimum (10 hours 40 minutes)
)
; name server - NS records
        NS   filtjener.dirks.crtn.
; name server - A records
filtjener.dirks.crtn.      A    192.168.56.2

$ORIGIN dirks.crtn.
host1   A   192.168.56.21
host2   A   192.168.56.22
host3   A   192.168.56.23

Файл обратной зоны - /etc/bind/zones/rev.56.168.192.in-addr.arpa:

$TTL 907200     ; 1 week 3 days 12 hours

@ IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
     1263187356    ; serial
     10800         ; refresh (3 hours)
     3600          ; retry (1 hour)
     60400         ; expire (1 week)
     38400         ; minimum (10 hours 40 minutes)
)

         NS filtjener.dirks.crtn.
; PTR records
21      PTR      host1.dirks.crtn.
22      PTR      host2.dirks.crtn.
23      PTR      host3.dirks.crtn.

Файл /etc/resolvconf/resolv.conf.d/head:

search dirks.crtn
nameserver 192.168.56.2

Файл / etc / network / interfaces:

auto lo
iface eth1 inet static
address 192.168.56.2
netmask 255.255.255.0

Я проверил файлы:

sudo named-checkconf

sudo named-chekckzone rev.56.168.192.in-addr.arpa /etc/bind/zones/rev.56.168.192.in-addr.arpa
zone rev.56.168.192.in-addr.arpa/IN: loaded serial 1263187356
OK

sudo named-checkzone dirks.crtn /etc/bind/zones/dirks.crtn.db
zone dirks.crtn/IN: loaded serial 1263527838
OK

и перезапустили bind9:

sudo /etc/init.d/bind9 restart
* Stopping domain name service... bind9 [ok]
waiting for pid 2765 to die

* starting domain name service... bind9 [ok]

Я использую VirtualBox и, поскольку мне не удалось скопировать и вставить из VirtualBox, это может быть небольшие ошибки в файлах. [тысяча сто двадцать девять] 1130 Кто-нибудь знает, что я могу здесь делать неправильно? :) Я ценю любую помощь:)

2
задан 17 April 2015 в 02:45

2 ответа

Так передача хорошо работает. Вещи в Ваших конфигурационных файлах действительно выглядят немного нечетными мне. Обратите внимание, что я никогда не мог заставить вещи работать с $ORIGIN. Я уверен, что так или иначе это работает, просто не для меня.

Для dirks.crtn.db попытка:

$TTL 38400
@      IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
       1263527838    ; serial
       10800         ; refresh
       3600          ; retry
       604800        ; expire
       38400 )       ; Negative Cache TTL
       IN  A  192.168.56.2
;
; name server - NS records
@      IN  NS   filtjener.dirks.crtn.
; name server - A records
filtjener IN   A    192.168.56.2

host1   IN A   192.168.56.21
host2   IN A   192.168.56.22
host3   IN A   192.168.56.23

Для rev.56.168.192.in-addr.arpa попытка:

$TTL 38400

@ IN SOA filtjener.dirks.crtn. webmaster.dirks.crtn. (
     1263187356    ; serial
     38400         ; refresh
     3600          ; retry 1 hour
     60400         ; expire 1 week
     38400 )       ; negative cache TTL
;
@    IN   NS    filtjener.dirks.crtn.
2    IN   PTR   filtjener.dirks.crtn.
21   IN   PTR   host1.dirks.crtn.
22   IN   PTR   host2.dirks.crtn.
23   IN   PTR   host3.dirks.crtn.

Вы не должны использовать sudo с named-checkzone и отметить, что для обратной зоны, проверяющей команду:

named-checkzone 56.168.192.in-addr.arpa rev.56.168.192.in-addr.arpa

ссылка

1
ответ дан 17 April 2015 в 12:45

Таким образом, я наконец нашел решение своей собственной проблемы в/etc/bind/named.conf.local, перед которым я забыл добавлять "/" "и т.д."

мой путь:

zone "dirks.crtn" {
type master;
file "etc/bind/zones/dirks.crtn.db";
};

корректный путь:

zone "dirks.crtn" {
type master;
file "/etc/bind/zones/dirks.crtn.db";
};

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

1
ответ дан 17 April 2015 в 12:45

Другие вопросы по тегам:

Похожие вопросы: