web-dev-qa-db-fra.com

Serveur DNS avec Bind9: impossible de résoudre les enregistrements DNS dans les fichiers de zone directe et inverse

Bonjour à tous :) J'ai essayé de configurer mon propre serveur DNS avec bind9, mais bien que j'aie essayé plusieurs tutoriels, j'obtiens toujours la même erreur. Le démarrage de bind9 fonctionne bien, mais lorsque j'utilise nslookup ou Dig contre Host1 (qui existe dans le fichier de zone de transfert), il ne parvient jamais à résoudre l'adresse IP. J'ai le même problème avec le fichier de zone inverse, en utilisant l'adresse IP comme argument au lieu de Host1. Si je cherche plutôt, par exemple, Microsoft.com, je vais obtenir une réponse.

Exemple:

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

J'ai aussi essayé 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

Avec 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

Mes fichiers actuels:

Fichier /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;
  };
};

Fichier /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";
};

Fichier de zone de transfert - /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

Fichier de zone inversé - /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.

Fichier /etc/resolvconf/resolv.conf.d/head:

search dirks.crtn
nameserver 192.168.56.2

Fichier/etc/network/interfaces:

auto lo
iface eth1 inet static
address 192.168.56.2
netmask 255.255.255.0

J'ai vérifié les fichiers:

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

et ont redémarré 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]

J'utilise VirtualBox et comme je n'ai pas réussi à copier et coller à partir de VirtualBox, il peut s'agir de petites erreurs dans les fichiers.

Est-ce que quelqu'un sait ce que je pourrais faire mal ici? :) J'apprécie toute aide :)

2
Madde

J'ai donc finalement trouvé la réponse à mon propre problème dans /etc/bind/named.conf.local. J'ai oublié d'ajouter "/" devant "etc".

mon chemin:

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

manière correcte:

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

Je me sens un peu stupide, mais au moins je suis capable de résoudre les adresses et les noms d’hôtes.

1
Madde

Donc, la transmission fonctionne bien. Les éléments de vos fichiers de configuration me paraissent un peu bizarres. Notez que je n'ai jamais réussi à faire fonctionner les choses avec $Origin. Je suis sûr que ça marche, mais pas pour moi.

Pour dirks.crtn.db essayez:

$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

Pour rev.56.168.192.in-addr.arpa essayez:

$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.

Vous n'avez pas besoin d'utiliser Sudo avec named-checkzone et notez que pour la vérification de zone inverse, la commande est la suivante:

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

référence

1
Doug Smythies