#1 Le 02/10/2014, à 11:19
- padapolo
Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Bonjour à tous,
je fait appel à l'aide aujourd'hui pour la finalisation de mon serveur local car je rencontre quelques derniers soucis.
Un peu de contexte tout d'abord :
Je souhaite disposer d'un seul serveur (hostname : emulserv) sur mon réseau local qui hébergerait plusieurs sites/fonctionnalités :
- Mediawiki à l'adresse : http://mediawiki.monserveur.lan
- Owncloud (version 7) : https://owncloud.monserveur.lan
- un site internet perso : http://www.monserveur.lan
J'ai choisi d'utiliser bind9 comme serveur DNS et NGINX comme serveur HTTP.
L'adresse IP du serveur étant 192.168.1.100
Etat actuel des choses :
Mon routeur distribue bien automatiquement le DNS 192.168.1.100 en premier et il distribue automatiquement un second 192.168.1.1 (adresse du routeur qui lui même va utiliser les DNS du FAI par la suite)
Nginx / mediawiki / owncloud sont configurés et fonctionnent.
Le serveur DNS semble bien fonctionner la plupart du temps quand je tape les adresses sur les ordinateurs du réseau (ubuntu 14 et windows) http://xxx.monserveur.lan.
Mon Problème :
L’accès aux pages fonctionne de manière discontinue (je dirais 20% du temps inaccessibles avec un adresse introuvable dans firefox). Des fois une page est accessible et pas une autre.
Ces discontinuités me gênent et j'aimerai résoudre le problème pour avoir un système fiable.
Je n'arrive pas identifier/reproduire les conditions du problème.
En faisant un nslookup lorsque je n'arrive pas à me connecter, j'obtiens :
$ nslookup 192.168.1.100
Server: 127.0.1.1
Address: 127.0.1.1#53
** server can't find 100.1.168.192.in-addr.arpa: NXDOMAIN
Souvent débrancher le câble réseau Ethernet et le rebrancher quelques secondes après suffit à résoudre le problème (mais pas tout le temps !).
Conclusion :
Mon hypothèse la plus probable est une mauvaise configuration du serveur DNS.
Si une bonne âme pourrait vérifier ma configuration pour savoir si je fais les choses de la mauvaise manière, je lui en serait reconnaissant.
Mes fichiers de config :
db.monserveur.lan
$TTL 604800
@ IN SOA emulserv.monserveur.lan. admin.monserveur.lan. (
2014100101 ; Serial
8H ; Refresh
2H ; Retry
1W ; Expire
2D ) ; Negative Cache TTL
;
monserveur.lan. IN NS emulserv.monserveur.lan.
emulserv IN A 192.168.1.100
@ IN A 192.168.1.100
www IN A 192.168.1.100
owncloud CNAME www
mediawiki CNAME www
db.monserveur.lan.inv
$TTL 604800
@ IN SOA emulserv.monserveur.lan. admin.monserveur.lan. (
2014100101 ; Serial
8H ; Refresh
2H ; Retry
1W ; Expire
2D ) ; Negative Cache TTL
;
IN NS emulserv.monserveur.lan.
100 IN PTR emulserv.monserveur.lan.
100 IN PTR www.monserveur.lan.
named.conf.options
options {
directory "/var/cache/bind";
forwarders {
192.168.1.1;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Hors ligne
#2 Le 02/10/2014, à 16:16
- PascalHambourg
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Mon routeur distribue bien automatiquement le DNS 192.168.1.100 en premier et il distribue automatiquement un second 192.168.1.1 (adresse du routeur qui lui même va utiliser les DNS du FAI par la suite)
Mauvaise idée. Un client n'est pas obligé de respecter l'ordre des DNS fourni par le DHCP voire inscrit dans /etc/resolv.conf. Si pour une raison quelconque le relais DNS du routeur est interrogé pour un nom local, alors il répondra que ce nom n'existe pas et, le client, lui faisant confiance, n'aura pas de raison d'interroger ton serveur. Pour cette raison, les DNS susceptibles d'être interrogés devraient être tous équivalents, ce qui n'est pas le cas ici puisque le DNS du routeur ne connaît pas tes zones locales.
Lorsque la résolution ne fonctionne pas comme tu veux, commence par faire un requête interrogeant explicitement ton serveur DNS pour voir si c'est lui ou le resolver local qui a un problème. Par exemple :
nslookup monserveur.lan 192.168.1.100
Ta commande nslookup ne faisait que demander le reverse de l'adresse 192.168.1.100 au resolver local, et non interroger le serveur DNS à l'adresse 192.168.1.100.
Dernière modification par PascalHambourg (Le 02/10/2014, à 16:17)
Hors ligne
#3 Le 03/10/2014, à 10:16
- padapolo
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Salut,
merci pour le temps passé à lire ma problématique et pour la réponse.
Effectivement cela a bien l'air d'être une problème de choix de serveur dns :
- la commande "nslookup owncloud.monserveur.lan 192.168.1.100" -> pas d'erreur.
- la commande nslookup owncloud.monserveur.lan 192.168.1.1" -> même erreur que précédemment : "** server can't find 100.1.168.192.in-addr.arpa: NXDOMAIN"
J'ai donc supprimé le second DNS pour n'avoir que le DNS de mon routeur (192.168.1.100)
J'arrive donc bien a aller sur les pages de mon serveur (http://xxx.monserveur.lan) mais plus sur les pages internet.
J'ai donc ajouté les serveurs dns de mon fai (j'ai aussi testé ceux de google comme ci dessous) dans la zone forwarders du fichier named.conf.options
options {
directory "/var/cache/bind";
forwarders {
8.8.8.8;
8.8.4.4;
};
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Cependant, impossible d'avoir accès aux pages internet.
J'ai du rater un truc.
Une idée ?
Hors ligne
#4 Le 03/10/2014, à 12:33
- PascalHambourg
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Pour n'avoir que le DNS de ton serveur, tu veux dire ?
Je répète comme à chaque fois : un navigateur web n'est pas un outil adapté au diagnostic de problèmes réseau ou DNS. Quelle est l'erreur retournée lors d'une requête DNS pour un domaine extérieur avec dig/host/nslookup ?
BIND n'a pas besoin de forwarders. Il sait très bien faire la résolution récursive complète lui-même en interrogeant directement les différents serveurs faisant autorité (racine, TLD, domaine...). Par contre il doit évidemment avoir accès à internet pour contacter ces serveurs (définition de la passerelle, filtrage...). Est-ce le cas ? Tu peux vérifier en lançant une requête DNS vers un serveur DNS extérieur quelconque (Google, FAI...) depuis un shell de la machine qui fait tourner BIND. Sinon, tu peux définir comme forwarder l'adresse du routeur qui est sur le réseau local.
Hors ligne
#5 Le 06/10/2014, à 09:01
- padapolo
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Salut,
j'ai pu refaire des tests ce matin.
1) Mon serveur dispose bien d'un acces internet :
$ nslookup fnac.com
Server: 192.168.1.100
Address: 192.168.1.100#53
Non-authoritative answer:
Name: fnac.com
Address: 195.42.251.40
2) Mon pc sur le réseau accède bien aux pages de mon routeur :
$ nslookup monserver.lan owncloud.monserveur.lan
Server: owncloud.monserveur.lan
Address: 192.168.1.100#53
Name: monserveur.lan
Address: 192.168.1.100
3) Mon pc sur le réseau n'accède pas à internet en passant par le serveur (serveur avec ou sans forwarders dans named.conf.options) :
$ nslookup monserveur.lan fnac.com
;; connection timed out; no servers could be reached
Du coup, je me dit que c'est mon serveur qui ne fait pas ce qu'il faut et que ma config bind9 n'est peut etre pas correcte.
4) Pour revenir au message précédent, oui je voulais que tous les pc disposent seulement du DNS du serveur (192.168.1.100) pour forcer le passage par lui (pas de problème de priorité de DNS sur les clients du coup). Mais au final cette histoire de distribution et priorité de dns ne passe qu'au second plan après le point 3) je me dis
Hors ligne
#6 Le 06/10/2014, à 12:26
- pires57
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Que renvois
dig
sur le serveur ?
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#7 Le 06/10/2014, à 15:08
- padapolo
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Par je ne sais quel miracle, le comportement du réseau semble celui être souhaité.
J'ai configuré le pc client manuellement avec seulement le dns du serveur. (j'avais deja testé vendredi pourtant)
Pour rappel mes fichiers de conf sont identiques à mon premier post.
Maintenant j'obtiens :
sur le client :
$ nslookup monserveur.lan europe1.fr
;; connection timed out; no servers could be reached
$ nslookup europe1.fr
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
Name: europe1.fr
Address: 85.116.42.16
$ dig europe1.fr
; <<>> DiG 9.9.5-3-Ubuntu <<>> europe1.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50344
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 11
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;europe1.fr. IN A
;; ANSWER SECTION:
europe1.fr. 600 IN A 85.116.42.16
;; AUTHORITY SECTION:
fr. 169379 IN NS d.nic.fr.
fr. 169379 IN NS f.ext.nic.fr.
fr. 169379 IN NS d.ext.nic.fr.
fr. 169379 IN NS e.ext.nic.fr.
fr. 169379 IN NS g.ext.nic.fr.
;; ADDITIONAL SECTION:
d.ext.nic.fr. 169379 IN A 192.5.4.2
d.ext.nic.fr. 169379 IN AAAA 2001:500:2e::2
d.nic.fr. 169379 IN A 194.0.9.1
d.nic.fr. 169379 IN AAAA 2001:678:c::1
e.ext.nic.fr. 169379 IN A 193.176.144.22
e.ext.nic.fr. 169379 IN AAAA 2a00:d78:0:102:193:176:144:22
f.ext.nic.fr. 169379 IN A 194.146.106.46
f.ext.nic.fr. 169379 IN AAAA 2001:67c:1010:11::53
g.ext.nic.fr. 169379 IN A 194.0.36.1
g.ext.nic.fr. 169379 IN AAAA 2001:678:4c::1
;; Query time: 38 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Oct 06 15:46:12 CEST 2014
;; MSG SIZE rcvd: 363
$dig owncloud.monserveur.lan
; <<>> DiG 9.9.5-3-Ubuntu <<>> owncloud.emulsar.lan
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37923
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;owncloud.monserveur.lan. IN A
;; ANSWER SECTION:
owncloud.monserveur.lan. 604800 IN CNAME www.monserveur.lan.
www.monserveur.lan. 604800 IN A 192.168.1.100
;; AUTHORITY SECTION:
monserveur.lan. 604800 IN NS emulserv.monserveur.lan.
;; ADDITIONAL SECTION:
emulserv.monserveur.lan. 604800 IN A 192.168.1.100
;; Query time: 0 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Mon Oct 06 15:50:18 CEST 2014
;; MSG SIZE rcvd: 122
sur le serveur :
$ dig europe1.fr
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> europe1.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13015
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 10
;; QUESTION SECTION:
;europe1.fr. IN A
;; ANSWER SECTION:
europe1.fr. 206 IN A 85.116.42.16
;; AUTHORITY SECTION:
fr. 168985 IN NS g.ext.nic.fr.
fr. 168985 IN NS d.ext.nic.fr.
fr. 168985 IN NS e.ext.nic.fr.
fr. 168985 IN NS d.nic.fr.
fr. 168985 IN NS f.ext.nic.fr.
;; ADDITIONAL SECTION:
d.ext.nic.fr. 168985 IN A 192.5.4.2
d.ext.nic.fr. 168985 IN AAAA 2001:500:2e::2
d.nic.fr. 168985 IN A 194.0.9.1
d.nic.fr. 168985 IN AAAA 2001:678:c::1
e.ext.nic.fr. 168985 IN A 193.176.144.22
e.ext.nic.fr. 168985 IN AAAA 2a00:d78:0:102:193:176:144:22
f.ext.nic.fr. 168985 IN A 194.146.106.46
f.ext.nic.fr. 168985 IN AAAA 2001:67c:1010:11::53
g.ext.nic.fr. 168985 IN A 194.0.36.1
g.ext.nic.fr. 168985 IN AAAA 2001:678:4c::1
;; Query time: 0 msec
;; SERVER: 192.168.1.100#53(192.168.1.100)
;; WHEN: Mon Oct 6 23:48:30 2014
;; MSG SIZE rcvd: 352
$ nslookup europe1.fr
Server: 192.168.1.100
Address: 192.168.1.100#53
Non-authoritative answer:
Name: europe1.fr
Address: 85.116.42.16
Je trouve quand même ça bizarre car rien n'a changé par rapport à ce matin.
Est ce que ça pourrait être une histoire de cache quelconque ? (J'étais peut être fatigué et j'ai oublié de faire un restart de la config bind, j'ai pourtant redémarré le serveur et le client plusieurs fois avant de poster ...)
de plus nslookup monserveur.lan europe1.fr cela voudrait-il dire que le chemin par le serveur ne fonctionne pas ?
Hors ligne
#8 Le 12/10/2014, à 08:13
- chefdelegion
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Salut, je pense que c'est un probleme d'acl, je peux te passer la config que j'ai fais pour les dns local de la boite, pour les dns de base j'utilise Centos
options {
listen-on port 53 { 127.0.0.1; 192.168.1.11; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.1.0/24;};
allow-transfer{ localhost; 192.168.1.12; }; ### Slave DNS IP ###
/*
- If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
- If you are building a RECURSIVE (caching) DNS server, you need to enable
recursion.
- If your recursive DNS server has a public IP address, you MUST enable access
control to limit queries to your legitimate users. Failing to do so will
cause your server to become part of large scale DNS amplification
attacks. Implementing BCP38 within your network would greatly
reduce such attack surface
*/
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/run/named/named.pid";
session-keyfile "/run/named/session.key";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "phs.lan" IN {
type master;
file "forward.phs";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "reverse.phs";
allow-update { none; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
j'espere que sa t'aidera
Xubuntu 14.04 LTS sur tous les postes.
Debian/FreeBSD pour les serveurs.
OMV/FreeNAS pour les serveurs NAS/SAN
New blog : http://aurelienh.shost.ca
Hors ligne
#9 Le 12/10/2014, à 09:14
- pires57
Re : Config serveur bind9 et hébergement de plusieurs sites (reseau local)
Si tu veut je peut t'envoyer une doc que j'ai faite et qui pourrait te servir d'exemple.
Pour cela envoie moi ton mail en privé je t'enverrais cette doc.
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne