Bind sous Debian

Bonjour,

Après avoir suivie plusieurs tuto plus ou moins récent, je n’arrive pas a monter un serveur DNS sous debian Jessie.

Voici ma config, tout est ok a part le DNS et le LDAP. Mon soucis est sur le DNS.

D’apres les tutoriels que j’ai vu faire, tous été ne suite de fichier de configuration, mais tous n’était pas les même.

Voici la liste des fichiers modifié ou utiliser selon les divers tuto que j’ai pu voir :
[ol][li]/etc/hostname[/li]
[li]/etc/host.conf[/li]
[li]/etc/hosts[/li]
[li]/etc/resolv.conf[/li][/ol]

Zone de recherche directe et inversée
[ol][li]db.domain.local[/li]
[li]db.3.168.192[/li][/ol]

Configuration de bind
[ol][li]named.conf[/li]
[li]named.conf.local[/li]
[li]named.conf.options[/li]
[li]named.conf.default-zones[/li][/ol]

Fichier de conf de l’OS

[code]
root@dns:~# cat /etc/hostname
ns

root@dns:~# cat /etc/host.conf
order hosts, bind
multi on

root@dns:~# cat /etc/hosts
127.0.0.1 localhost
192.168.3.1 ns.domain.local dns

root@dns:~# cat /etc/resolv.conf
domain domain.local
search domain.local
nameserver 192.168.3.1
nameserver 8.8.8.8[/code]

db.domain.local

root@dns:~# cat /etc/bind/db.domain.local
	$TTL    604800
	@       IN      SOA     ns.domain.local. root.domain.local. (
								  1
							 604800
							  86400
							2419200
							 604800 )
	;
	@       IN      NS      ns.
	1       IN      PTR     ns.domain.local.
	5       IN      PTR     ldap.domain.local.
	3       IN      PTR     nas.domain.local.
	12      IN      PTR     http.domain.local

db.3.168.192

root@dns:~# cat /etc/bind/db.3.168.192 $TTL 604800 @ IN SOA ns.domain.local. root.domain.local. ( 2 604800 86400 2419200 604800 ) ; @ IN NS ns.domain.local. ns IN A 192.168.3.1 @ IN AAAA ::1 ldap IN A 192.168.3.5 nas IN A 192.168.3.3 http IN A 192.168.3.12

named.conf

root@dns:~# cat /etc/bind/named.conf include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";

named.conf.local

[code]
root@dns:~# cat /etc/bind/named.conf.local
zone “domain.local”
{
type master;
file “/etc/bind/db.domain.local”;
allow-update {192.168.3.1/32;};
};

zone "3.168.192.in-addr.arpa"
	 {
  type master;
  file "/etc/bind/db.3.168.192";
  allow-update {192.168.3.1/32;};
	 };[/code]

named.conf.options

[code]
root@dns:~# cat /etc/bind/named.conf.options
options {
directory “/var/cache/bind”;

		forwarders {
		80.67.188.188;
		80.67.169.12;
		};			
		
		auth-nxdomain no;    # conform to RFC1035
		listen-on-v6 { any; };
};[/code]

named.conf.default-zones

[code]
root@dns:~# cat /etc/bind/named.conf.default-zones
// prime the server with knowledge of the root servers
zone “.” {
type hint;
file “/etc/bind/db.root”;
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
		type master;
		file "/etc/bind/db.local";
};

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

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

zone "255.in-addr.arpa" {
		type master;
		file "/etc/bind/db.255";
};[/code]

Test des fichiers de configuration :

named-checkzone domain.local /etc/bind/db.domain.local named-checkzone domain.local /etc/bind/db.3.168.192 named-checkconf /etc/bind/named.conf named-checkconf /etc/bind/named.conf.local named-checkconf /etc/bind/named.conf.options named-checkconf /etc/bind/named.conf.default-zones

Tout les tests de ces commandes “check” sont OK.
La seule chose qui fonctionne, c’est “ping ns.domain.local” sur la machine ns, mais c’est renseigné par le fichier “/etc/hosts” sur la même machine, donc normal.

Je fais principalement mes tests sur le client WindowsXP.

Vous seriez bien urbain de m’éclairer sur bind qui a toujour été pour moi quelques chose qui n’a jamais fonctionné …

[quote=“TimGraph”]Voici la liste des fichiers modifié ou utiliser selon les divers tuto que j’ai pu voir :
/etc/hostname
/etc/host.conf
/etc/hosts
/etc/resolv.conf[/quote]
Ces fichiers n’ont rien à voir avec BIND. Excepté le premier, ils concernent le résolveur local de la libc.

[quote=“TimGraph”]Zone de recherche directe et inversée
db.domain.local
db.3.168.192[/quote]
Merci d’être précis. D’après la suite, ce ne sont pas des noms de zones mais les noms des fichiers de zone.
D’autre part, le TLD “local” est réservé pour Zeroconf/multicast DNS, il vaut mieux ne pas l’utiliser avec DNS.

[quote=“TimGraph”]:# cat /etc/resolv.conf domain domain.local search domain.local nameserver 192.168.3.1 nameserver 8.8.8.8[/quote]

  • Les options “domain” et “search” sont exclusives, inutile de mettre les deux. Cf. [mono]man resolv.conf[/mono].
  • Tous les serveurs DNS spécifiés sont censés être équivalents. Mélanger des serveurs DNS qui répondent différemment (comme un DNS avec des zones locales et un DNS public) est une mauvaise idée.

Les noms des fichiers de zone sont visiblement intervertis par rapport à leur contenu.
La zone directe devrait contenir des enregistrements A, AAAA, MX… et la zone inverse des enregistrements PTR.

Problème : le nom de domaine “ns.” désigné comme NS pour la zone n’est pas défini.

Il manque le point final du nom de domaine cible pour indiquer qu’il est absolu, sinon il sera complété avec l’origine (nom de la zone par défaut).

Quel est le but de cet enregistrement faisant pointer le nom de la zone vers l’adresse IPv6 de loopback ?

Pour tester un serveur DNS on utilise un outil de résolution DNS comme [mono]host[/mono], [mono]nslookup[/mono] ou [mono]dig[/mono] et non un programme quelconque qui utilise le résolveur local, et on spécifie explicitement le serveur DNS à interroger.