Jump to content

[RESOLU][debian]Serveur DNS primaire


Recommended Posts

Bonjour,

J'ai quelques soucis avec mon prestataire de nom de domaine, et voulant trouver une solution rapidement, je me suis dit que si je transformais un PC en serveur DNS pour mon domaine, ce serais pas mal.

Mais j'ai comme un problème de configuration.

Description de l'installation:

arch_lan.png

Serveur DNS: bind version 8.4.6

kernel: 2.6.17

Le serveur doit :

- être serveur DNS (master) pour le domaine mondomaine.net (via eth0);

- être serveur DNS et firewall pour le réseau eth1;

- être serveur DNS (master) pour le domaine mondomaineperso.homeip.net (via eth1).

Voici les fichiers de conf:

ouverture du port 53 avec iptables (le reste d'iptables: on ne laisse rien entrer via eth0 sauf les paquet marqués établis, ou "Related", toutes les trames ont le droit de sortir vers eth0 et activation du nat... enfin classique):

La config d'iptables à étée vérifiée avec sheild's up.

#Serveur DNS
iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

named.conf:

options {
	directory "/etc/bind";
	query-source address * port 53;
	forwarders {212.27.32.176; 212.27.32.177; 212.27.254.252;};
//	  auth-nxdomain no;	# conform to RFC1035
  allow-query { 192.168.1.0/24; 192.168.0.0/24; 127.0.0.1;};
  allow-recursion { 192.168.1.0/24; 192.168.0.0/24; 127.0.0.1;};
  listen-on { 192.168.1.253; 192.168.0.254; 127.0.0.1;};
};

// prime the server with knowledge of the root servers
zone "." IN {
	type hint;
	file "db.root";
};

zone "mondomaineperso.homeip.net" IN {
	type master;
	file "db.mondomaineperso.homeip.net";
};

zone "mondomaine.net" IN {
  type master;
  file "db.mondomaine.net";
};

zone "0.0.127.in-addr.arpa" IN {
	type master;
	file "db.127";
};

zone "0.168.192.in-addr.arpa" IN {
	type master;
	file "db.192.168.0";
};

db.mondomaineperso.homeip.net:

$TTL	3D
@			   IN	  SOA	 www.mondomaineperso.homeip.net. postmaster.mondomaineperso.homeip.net. (
							2006041101	; Serial
							7200		  ; Refresh
							1200		  ; Retry
							1209600	; Expire
							86400 )	; Negative Cache TTL

@				 IN	  NS	  www.mondomaineperso.homeip.net.
				A	   192.168.0.254
www			 A	   192.168.0.254

db.mondomaine.net:

$TTL	3D
@			   IN	  SOA	 mondomaine.net. postmaster.mondomaine.net. (
							2006070608	; Serial
							7200		  ; Refresh
							1200		  ; Retry
							1209600	; Expire
							86400 )	; Negative Cache TTL

			IN	  NS	 mondomaineperso.homeip.net.
			IN	  A	   xxx.xxx.xxx.xxx  ; adresse du serveur web sur Internet
			IN	  TXT	 "texte important"
www		 IN	  CNAME   mondomaine.net.

En local et sur le réseau eth1, toute la configuration fonctionne correctement.

Par contre: lorsque un PC sur Internet tente de faire:

dig mondomaine.net @ip_fixe_du_serveur_linux any
; <<>> DiG 9.3.2 <<>> mondomaine.net. @ip_fixe_du_serveur_linux any
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 3569
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mondomaine.net.			 IN	  ANY

;; Query time: 86 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)	Mon IP fixe
;; WHEN: Fri Jul  7 02:06:52 2006
;; MSG SIZE  rcvd: 35

La requête est refusée ??!!

Petit tour du côté du log:

cat /var/log/syslog
Jul  7 02:06:57 www named[3032]: denied query from [xxx.xxx.xxx.xxx].10004 for "mondomaine.net" ANY/IN

Je ne comprends pas du tout pourquoi ma requête est refusée.

Si vous pouvez m'éclairer, ce serais plus que cool. D'avance merci.

++

Link to comment
Share on other sites

Salut

D'une part je serais toi je passerais a bind 9, qui est plus récent et me semble plus secure, mais je peux me tromper :) .

D'autre part je te conseil shorewall pour ton firewall, car si tu as un paquets de régle de filtrage, le script "home made" ça va etre ingérable .

Sinon ça peut venir d'un probleme d'ACL, mais je ne sais pas si bind 8 les gére .

Enfin ça peut venir d'iptable qui bloque la réquete .

a+

ps : faut penser a rediriger les requetes sur ton routeur vers le serveur dns .

Link to comment
Share on other sites

J'ai fait la mise à jour vers bind 9.3.2

Pour mon firewall, ça va bien comme ça, c'est vrai que c'est un peu lourd, mais avec des commentaires ça le fait bien.

Ce n'est pas iptables qui bloque ma requête, c'est certain. Et mon routeur est déjà configurer pour forwarder les ports nécessaires.

Je ne voit pas pourquoi cela vienderais des ACLs car je ne les utilise pas, et si j'ai bien compris, cela sert à donner des noms a des groupes d'adresses.

Si quelqu'un à une idée...

Link to comment
Share on other sites

Salut

Dans ce fichier tu as bien mis la correspondance entre l'adresse ip publique et le DNS ?

db.mondomaine.net:

$TTL	3D
@			   IN	  SOA	 mondomaine.net. postmaster.mondomaine.net. (
							2006070608; Serial
							7200		 ; Refresh
							1200		 ; Retry
							1209600	  ; Expire
							86400 )	  ; Negative Cache TTL

			IN	  NS	 mondomaineperso.homeip.net.
			IN	  A	   xxx.xxx.xxx.xxx ; adresse du serveur web sur Internet
			IN	  TXT	 "texte important"
www		 IN	  CNAME   mondomaine.net.

pour moi ça doit etre ça en admettant que tu as une ip publique qui est celle ci : 153.25.68.94

db.mondomaine.net:

$TTL	3D
@			   IN	  SOA	 mondomaine.net. postmaster.mondomaine.net. (
							2006070608; Serial
							7200		 ; Refresh
							1200		 ; Retry
							1209600	  ; Expire
							86400 )	  ; Negative Cache TTL

			IN	  NS	 mondomaineperso.homeip.net.
			IN	  A	   xxx.xxx.xxx.xxx ; adresse du serveur web sur Internet
			IN	  TXT	 "texte important"


mondomaine.net	   153.25.68.94
www		 IN	  CNAME   mondomaine.net.

car le www IN n'est qu'un alias .

As tu tenter ça ?

a+

Link to comment
Share on other sites

C'est exactement ce qui est inscrit:

ta ligne

mondomaine.net	   153.25.68.94

correspond à

				IN	  A	   xxx.xxx.xxx.xxx; adresse du serveur web sur Internet

avec xxx.xxx.xxx.xxx = 153.25.68.94

Je n'ai pas besoin de rajouter mondomaine.net au début de la ligne car il est induit par le '@'.

Mais Attention, xxx.xxx.xxx.xxx n'est pas MON IP publique, mais celle du serveur web (chez ovh).

Link to comment
Share on other sites

Les numéros de série sont bon (incrémentation à chaque fois);

les tests avec named-checkzone et named-checkconf ont étés effectués avec succès bien sûr.

Au vu du nombre de personnes qui utilisent GNU/linux il n'y à que toi zoto ?

SVP...

C'est bon, j'ai trouvé !

C'est le paramètre "allow-query" du named.conf qui étais mal configuré.

Avec les paramètres que j'avais, le serveur ne pouvais que répondre aux clients du lan. Il falais donc autoriser les IPs venant de tout le web dans ce champ.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...