Sites externes : DNS non résolu. [résolu]

Bonjour à tous,

Je suis confronté à un problème avec mon serveur bind sur une Debian 5. Je vous explique la situation : un serveur DNS est présent dans le LAN afin d’utiliser le cache DNS + la résolution de nom pour l’intranet. Les requêtes externes sont forwardées sur les serveurs DNS du FAI. En interne, toute résolution directe ou inverse fonctionne parfaitement.

J’ai mis en place le service VPN sur un firewall ZyXEL ZYWAL 5 pour que les employés puissent se connecter de chez eux.
Le problème est le suivant : lorsque je me connecte en VPN, la résolution de nom pour les sites externes (Internet) ne se fait pas, le serveur refuse de résoudre la requête. Alors que pour les nom intranet, ils sont bien résolus…
Sur les clients, c’est le DNS interne de l’entreprise qui est utilisé comme serveur DNS dans la configuration du client VPN.

Pour l’instant j’en suis à 3 solutions temporaires et contraignantes :

  • soit le client a accès à Internet OU aux machines de l’intranet avec résolution des noms
  • soit le client a accès à Internet et aux machines de l’intranet MAIS que par adresse IP (pour les machines intranet)
  • soit le client a accès à Internet et aux machines de l’intranet avec résolution des noms MAIS il faut rentré manuellement l’adresse IP du DNS de l’entreprise et du DNS local du client dans la configuration de la carte réseau. Ce qui n’est pas simple pour des personnes n’ayant pas de compétence dans ce domaine.

Il faudrait donc que le serveur de l’entreprise résolve les adresses Internet pour que le client ait accès en même temps à Internet et aux machines de l’intranet avec résolution des noms. Cela résoudrait mon problème.

Si vous avez une quelconque idée ? Je suis ouvert à tout.

Merci d’avance,
Belgo

Edité le 01/05/2010 à 10:27

Ca fait longtemps que je n’ai pas touché à ce genre de choses (et je ne souhaite pas y retoucher car je n’aime pas beaucoup le rezo…) mais “le serveur refuse de résoudre la requête”. C’est à dire? Il dit quoi? Si on sait exactement pourquoi il refuse, il devrait être relativement facile de lui faire accepter non??

Voici la réponse du serveur sur le client, qu’il soit en VPN ou dans un autre sous-réseau.

Oui mais ca ca ne nous dit pas grand chose.
Que disent les logs du serveur?

Dans le fichier de config de ton serveur dns, je suppose que tu n’autorises explicement que certaines machines/IP à faire des requetes? A quoi ressemble cette partie du fichier de config?

Merci de t’intéresser à mon problème.

Non justement je n’ai pas restreint l’accès à un range IP ou autre.

Pour les logs, voici un extrait du syslog

Apr 29 12:01:22 sagat named[15049]: client 192.168.11.16#4447: query (cache) 'www.google.com/A/IN' denied

Voici le fichier de configuration de bind :



include "/etc/bind/named.conf.options";

zone "." {
	type hint;
	file "/etc/bind/db.root";
};

////////////////////////
//     ZONE DIRECT    //
////////////////////////

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

zone "intranet" {
        type master;
        file "/etc/bind/intranet";
};

///////////////////////
//    ZONE INVERSE   //
///////////////////////

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

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


Et voici le fichier named.conf.options

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

	 forwarders {
	 	195.238.2.21;
		195.238.2.22;
	 };

	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
};

Edité le 29/04/2010 à 17:00

J’ai résolu le problème, je le met ici pour ceux qui auront le même problème :

Par défaut, bind ne répond qu’à son propre sous-réseau pour les requêtes forwardées, il faut spécifier les réseaux qui pourront utiliser le cache DNS via la ligne suivante :
allow-recursion { LAN1; LAN2; RANGE VPN; }
ou alors autoriser tous réseaux avec la ligne suivante, dans le cas où on ne spécifie pas de range IP pour les clients VPN :
allow-recursion { any; }
Cette nouvelle différenciation d’autorisation entre les requêtes d’une zone DNS gérée par le serveur et les requêtes en cache apparait depuis la version 9.4 de bind et n’était pas utilisé par la version 9.3.
support.menandmice.com…

PS : peut-on mettre le sujet résolu svp ? Car cela ne prend pas en compte ma modification du titre merci
Edité le 01/05/2010 à 10:28

vivi on va en mettre un :slight_smile:
Merci d’avoir expliqué ta solution