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

2

Привет всем :) Я попытался настроить свой собственный 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, это могут быть небольшие ошибки в файлах.

Кто-нибудь знает, что я могу делать неправильно здесь? :) Я ценю любую помощь:)

    
задан Madde 15.04.2015 в 23:18
источник

2 ответа

1

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

Для dirks.crtn.db try:

$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 try:

$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

ссылка

    
ответ дан Doug Smythies 16.04.2015 в 00:37
1

Итак, я наконец нашел ответ на свою собственную проблему в /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";
};

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

ответ дан Madde 17.04.2015 в 01:26