Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 19-11-2014 19:23:06

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

[Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Bonjour
j ai un souci d installation de bind9 , dhcp est fonctionnel sur les clients , mais pas de mise a jour de bind , pas de resolution de nom.
configuration de mon reseau
dhcp et dns sur eth1
eth1 domaine debian10.exemple.com

ADSL  _____(eth0)-ROUTEUR-(eth1)__
             |              +serveur DHCP)    |
             |              +serveur DNS                           |
        réseau A                           réseau B
    192.168.1.0/24                        192.168.10.0/24
             |                                       |
       ordi A                                  ordi B
        192.168.1.100                       192.168.10.10

#configuration a verifier sur la passerelle



/etc/hostname   debian10

/etc/hosts    127.0.0.1     localhost
                    127.0.0.1     debian10.exemple.com  => pour affecter un domaine a un client dhcp
                    192.168.10.1  debian10.exemple.com => sur une ip fixe

/etc/resolv.conf     search exemple.com
                             nameserver  192.168.10.1   dns local bind9
                             nameserver   80.10.246.130  dns orange

 



CONSEILS
dans /etc/resolvconf/update-libc.d/avahi-daemon   j ai un demon avahi qui cherche le dns
=>  j ai desinstallé avahi-daemon ainsi que tous les managers reseau sur le serveur

sur /etc/dhcp/dhclient.conf (2 lignes decommentées)

une ligne : send host-name = gethostname();  et la ligne request pour tous les parametres reseau
Tous les clients du reseau B utilise la decouverte auto du reseau (installation par defaut de debian)

ne pas installer d utilitaire de detection des parametres (comme resolvconf ou ufw )

CONFIGURATION DES INTERFACES
nano /etc/network/interfaces



the loopback
auto lo
iface lo inet loopback

network eth0 (reseau A)
#auto eth0
allow-hotplug eth0
iface eth0 inet static
adress 192.168.1.10
network 192.168.1.0
netmask 255.255.255.0
gateway 192.168.1.1
post-up iptables-restore <  /etc/iptables.save

network eth1 (reseau B)
#auto eth1
allow-hotplug eth1
iface eth1 inet static
adress 192.168.10.1
network 192.168.10.0
netmask 255.255.255.0
domain-name "exemple.com"

 



INSTALLATION DE BIND9

apt-get install bind9

CONFIGURATION DHCP POUR BIND (a n activer qu apres creation key et configuration de bind)

nano /etc/dhcp/dhcpd.conf


#configuration mise a jour ddns de dhcp
ddns-update-style  interim ;
ddns-updates on;
ddns-domain-name-servers 192.168.10.1;
# ligne utile pour que dhcp dialogue avec bind
option domain-name-servers 192.168.10.1;
option domaine-name "exemple.com";
#donner le chemin de la clé a utiliser pour bind
include "/etc/bind/ns-exemple-com_rndc-key";

#mise a jour des zones
zone
    exemple.com.
 {
primary
127.0.1;

key
    ns-exemple-com_rndc-key;

}

 zone
  10.168.192.in-addr.arpa.
 {
primary
 127.0.0.1;

key
    ns-exemple-com_rndc-key;

}

#mon sous-réseau
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.20 192.168.10.39;
option domain-name-servers 192.168.10.1,  80.10.246.130;  
option domain-name "exemple.com";
option routers 192.168.10.1;
option broadcast-adress 192.168.10.40;  
 



pour le reste de la config dhcp , c est hors-sujet voir le wiki dhcp

CREER LA SIGNATURE TSIG

Cette signature a pour but d'authentifier les transactions avec BIND
le serveur DHCP pourra mettre le domaine exemple.com a jour que si il dispose de cette clé

 
on creer une copie de la clé de bind (rndc.key)
# cd /etc/bind/
# cat rndc.key

key "rndc-key" {
             algorithm hmac-md5;
             secret  "xxxxxxxxxxxxxxxxxxxxxxx"
};
on genere une clé avec les infos du domaine et les bonnes options
     
       dnssec-keygen -a HMAC-MD -b 512 -n USER ns-exemple-com_rndc-key
reponse:
        Kns-exemple_com_rndc-key.+157+53334
on obtien 2 fichiers dans le dossier de bind , un .key et un .private
on substitue la clé du fichier ns-exemple-com_rndc-key
par celle presente dans un de ces derniers crée précédement.
on obtient
# cat ns-exemple-com_rndc-key

key "ns-exemple-com_rndc-key" {

             algorithm hmac-md5;

             secret  "********************************************************************************"
};
le fichier ne doit pas etre readable
il sera inséré par une directive include
ps le nom de la clé doit etre conforme a la création idem a l interieur du fichier ,
pour domaine = exemple.com ce sera  "ns-exemple-com_rndc-key"
la nouvelle clé (secret) apres secret entre les " "  sans espaces.
supprimer les cles générées précédement (.key et .private) du dossier bind
 



FICHIERS DE CONFIGURATIONS
ils sont au nombre de 4
named.conf    =>  configaration principale de bind
named.conf.options => options du serveur
named.conf.local  => declaration des zones (exemple.com et inverse )
named.conf.log =>  créations des logs dans /var/log

 
1: named.conf
#gérer les acls
acl internals { 127.0.0.0/8; 192.168.10.0/24; };
# déclaration de la clé TSIG (mise a jour dynamique)
include "/etc/bind/ns-exemple.com_rndc-key";
# charger les options
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
#configurer le canal de communication pour administrer bind avec rndc
#inutile bind par defaut connait le canal
# controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; };  };
 



 
2:named.conf.options
options {
directory "/var/cache/bind";
forwarders { 80.10.246.130; };
auth-nxdomain no;
listen-on-v6 { none };
listen-on { 127.0.0.1; 192.168.10.1; };
allow-transfer { none; };
allow-query { any; };
allow-recursion { any; };
version none;
};
 



 
diminuer la temporisation de timeout pour les connection UDP
# sysctl -w net.netfilter.nf_conntrack_udp_timeout=10
pour obtenir un timeout de 10 secondes
 



 
3: Fichier named.conf.local
//gérer les fichiers de logs
include "/etc/bind/named.conf.log";
// gestion du domaine
zone "exemple.com" {
              type master;
              file "/var/cache/bind/db.exemple.com";
              forwarders {};
              allow-update  { key ns-exemple-com_rndc-key; };
};

zone "10.168.192.in-addr.arpa" {
             type master;
             file "/var/cache/bind/db.exemple.com.inv";
             forwarders {};
             allow-update  { key ns-exemple-com_rndc-key; };

include "/etc/bind/zones.rfc1918";
 




4: fichier named.conf.log
logging {
 channel update_debug {
file "/var/log/update_debug.log" versions 3 size 100k;
severity debug;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/security_info.log" versions 1 size 100k;
severity info;
print-severity yes;
print-time yes;
};
channel bind_log {
file "/var/log/bind.log" versions 3 size 1m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};

category default { bind_log; };
category lame-servers { null; };
category update { update_debug; };
category update-security { update_debug; };
category security { security_info; };
};

ps: pour demarrer bind , le fichier named.conf.log n est pas obligatoire suffit de commenter la ligne include
il faut créer et donner les droits des 3 fichiers de log de bind dans /var/log
 



il faudra créer les fichiers RR  db.exemple.com  et  db.exemple.com.inv
utiler le db.127 , faite 2 copies , db.exemple.com et db.exemple.com.inv et modifier les valeurs

cp /etc/bind/db.127  /etc/bind/db.exemple.com  (et .com.inv)

doc utilisée :  https://wiki.debian.org/fr/Bind9


ajouter cette ligne a votre resolv.conf
//Fichier /etc/resolv.conf
search exemple.com
 



Pour la sécurite de bind
Chroot de bind  voir lien ci dessus. (je n'ai pas encore teste)

il y a aussi un packet qui permet la securite de bind sur debian .
les outils de test
la commande => dig "machin.exemple.com'
la commande => nslookup "machin"
la commande => named-checkconf  permet de verifier la syntaxe des fichiers de configuration de bind9
la commande => named-checkzone  verifie la validité des fichiers de zone et recharge la configuration

nota: fautes de frappe ,oubli , droit des fichiers et dossiers et mauvaise config de dhcp (si mise a jour des RR actif) ,
voila les problemes rencontrés .
il vous suffit de mettre votre nom de domaine a la place de exemple.com et bind doit fonctionner correctement
desactiver le parefeu pour les tests (j'ai eu des soucis avec)sauf si vous ete sur de vous smile
si dhcp est bien configuré sur la passerelle , les clients en dhcp n ont pas besoin d une configuration particuliere.

@++

Dernière modification par robert2a (22-11-2014 13:40:55)

Hors ligne

#2 21-11-2014 01:11:42

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Tout cela est trop confus pour moi, je passe.

Hors ligne

#3 21-11-2014 01:39:45

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

oui confus tu m'etonne j ai poste toute la journée , pour poser mes problemes
bind tourne et j ai enfin mes mise a jour
j ai besoin d un conseil sur 2 erreurs

ntpd_intres [982]: host name not found  0.debian.pool.ntp.org

ntpd [706]: deferring DNS for 0.debian.pool.ntp.org  1

j ai 4 lignes pour ntpd 0,1,2, et 3 sur chaque erreur  (peut etre revoir la config de ntpd )

le serveur est a l heure (ces erreurs sont apparu avec la configuration de bind )

je n ai plus de mise a jour avec apt sur le serveur + probleme de mise a l heure et serveur temp
soucis de parefeu je dois retourner sur l autre post  smile
(test sans parefeu apt-get update fonctionne )

Dernière modification par robert2a (21-11-2014 03:01:35)

Hors ligne

#4 21-11-2014 10:48:30

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Visiblement la résolution DNS récursive ne marche pas. Tu peux tester ton serveur et comparer avec ceux du FAI ou de la box avec host, dig ou nslookup en spécifiant explicitement l'adresse du serveur à interroger. Voir leurs pages de manuel respectives.

Dernière modification par raleur (21-11-2014 10:49:56)

Hors ligne

#5 21-11-2014 17:32:44

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Bonjour
merci j ai effectué les test , pour faire court j ai supprimé le drop sur eth0 , en IN et OUT  tout est correct (ce qui confirme ce que tu m a dit a propos des regles , il y a des soucis)
pour NPT j ai le port a ouvrir et il fait serveur de temps sur le reseau B , il est declaré dans dhcp et un alias sur bind  npt => CNAME => debian10
ce qui me donne ntp.exemple.com (il n est autorise que a donner le temps sur 192.168.10.254 (broadcast)  sur les ip 192.168.10.0
Pour le DNS j ai 2 ip , la passerelle et le dns du FAI.
le dhcp fourni les 2dns aux clients (dns interne , dns fai ) => je pourrai ne laisser que dns passerelle par la suite (si la passerelle tombe j ai plus de net smile 
le forward de bind c est le dns FAI
des que j ai finit sur bind je retourne sur parefeu passerelle et client (pour l instant seul le FORWARD est DROP avec ces 2 regles.
tous mes clients sont sur le domaine et renseigne par dhcp .
Pour la resolutions des machines de B , les ip dhcp fixe et les ip de la carte de gestion du serveur a distance ne sont pas inscritent dans les db.  de bind .
comme j ai des temps de rafraichissement assez long , j attend un peu
Pour terminer les logs de bind sont correct.

@++

Hors ligne

#6 21-11-2014 18:42:03

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Pourtant ton dernier jeu de règles devrait permettre à la passerelle de faire des requêtes DNS en UDP par eth0, sauf erreur de ma part.

Peut-être que BIND a besoin aussi de pouvoir faire des requêtes DNS en TCP (mais ça m'étonne un peu, normalement ça ne sert que pour le transfert de zone). Essaie quand même d'ajouter le port 53 à tes règles multiport TCP sur eth0 en INPUT et OUTPUT.

Hors ligne

#7 22-11-2014 13:35:12

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

J'ai passé le sujet en résolu , bind fonctionne bien , j'ai terminé mon premier post ou j explique comment j ai procédé.
avec les détails de ma configuration .

@++

ps: j'ai suivi le wiki de debian pour " Chroot de bind ".
j'ai un petit soucis a propos : autoriser le demon syslog a prendre en compte les logs de bind
modifier le fichier  /etc/default/syslogd avec l option suivante

SYSLOGD="-a /var/lib/named/dev/log"

mon probleme je n ai pas de fichier syslogd dans /etc/default

ps2: re apres recherche ce ne serait pas rsyslog.conf  et le dossier rsyslog.d  ou l'on peut include des *.conf

pour la gestion des logs ?
il y aussi un /etc/default/rsyslog  pour les options

Dernière modification par robert2a (22-11-2014 19:58:39)

Hors ligne

#8 10-02-2015 03:21:07

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Bonsoir
je revient sur bind9 , apres avoir changé le disque de ma passerelle et refait une installation propre de jessie  , j ai remarque que le pid de bind n etait pas ou il fallait.
j ai fait un mix du wiki debian fr et en , pas moyen , le pid est toujours sous /var/run/named/named.pid alors que sur ma config il devrait etre sous var/lib/named/var/run/named/named.pid

je sais pas si c est systemd qui me fait des miseres avec init.d

il y a bien un le fichier bind9 sous  /etc/init.d/bind9 mais le modifier ne change rien.
donc j ai abandonné mon chroot de bind pour l instant , tout est bon sauf le pid  "named.pid".

si quelqu un a une idée ?
ps: sur la premiere install j ai pas fait attention , la je maitrise un peu mieux.




 /etc/init.d/bind9 status

? bind9.service - BIND Domain Name Server
   Loaded: loaded (/lib/systemd/system/bind9.service; enabled)
  Drop-In: /run/systemd/generator/bind9.service.d
           ??50-insserv.conf-$named.conf
   Active: active (running) since lun. 2015-02-09 21:46:34 CET; 4h 54min ago
     Docs: man:named(8)
 Main PID: 465 (named)
   CGroup: /system.slice/bind9.service
           ??465 /usr/sbin/named -f -u bind

févr. 09 21:46:35 debian10 named[465]: using default UDP/IPv4 port range: [1024, 65535]
févr. 09 21:46:35 debian10 named[465]: using default UDP/IPv6 port range: [1024, 65535]
févr. 09 21:46:35 debian10 named[465]: listening on IPv4 interface lo, 127.0.0.1#53
févr. 09 21:46:35 debian10 named[465]: listening on IPv4 interface eth1, 192.168.10.1#53
févr. 09 21:46:35 debian10 named[465]: generating session key for dynamic DNS
févr. 09 21:46:35 debian10 named[465]: sizing zone task pool based on 25 zones
févr. 09 21:46:35 debian10 named[465]: using built-in root key for view _default
févr. 09 21:46:35 debian10 named[465]: set up managed keys zone for view _default, file 'managed-keys.bind'
févr. 09 21:46:35 debian10 named[465]: command channel listening on 127.0.0.1#953
févr. 09 21:46:35 debian10 named[465]: command channel listening on ::1#953


 



c est bien systemd ......  roll  voila pourquoi  sad

Dernière modification par robert2a (10-02-2015 03:48:47)

Hors ligne

#9 10-02-2015 14:30:27

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

j ai trouve une solution roll   sur internet
l installation est identique sauf le point sur le pid , je vous met le detail ( a priori a chaque mise a jour c est a refaire tongue  )

Configurer le script de lancement

Éditer le fichier de configuration du lancement de bind, /etc/default/bind9, pour y changer OPTIONS="-u bind" en OPTIONS="-u bind -t /var/lib/bind" pour indiquer à bind où effectuer son chroot. Ça peut être fait avec cette commande :


sed -i -e 's|OPTIONS="-u bind"|OPTIONS="-u bind -t /var/lib/bind"|' /etc/default/bind9
 


    Attention : à la date de dernière mise à jour ce cette page, un bug du paquet bind9 sous Debian 8, Jessie, empêche le daemon named de prendre en compte les options fournies via le fichier /etc/default/bind9 si vous utilisez systemd (ce qui est le cas par défaut). Pour corriger ce problème, il faut modifier la configuration systemd de bind9 en éditant le fichier /lib/systemd/system/bind9.service. Remplacez-y la ligne commençant par ExecStart= par ces deux lignes-ci :


    EnvironmentFile=-/etc/default/bind9
    ExecStart=/usr/sbin/named -f $OPTIONS
 


    Cette opération peut être effectuée directement à l’aide de la commande suivante, avant de recharger la configuration de systemd :


    sed -i 's|^ExecStart=.*$|EnvironmentFile=-/etc/default/bind9\nExecStart=/usr/sbin/named -f $OPTIONS|' /lib/systemd/system/bind9.service
    systemctl daemon-reload
 


    Attention, car chaque mise à jour du paquet bind9 réinstallera le fichier d’origine en écrasant vos modifications, et named serait alors relancé sans chroot. Pour demander au paquet de ne pas modifier ce fichier, vous pouvez mettre en place un détournement avec cette commande :


    dpkg-divert --divert /lib/systemd/system/bind9.service.orig --rename /lib/systemd/system/bind9.service
 


    Une fois que le bug sera corrigé, on pourra supprimer ce détournement à l’aide de cette commande :


    dpkg-divert --rename --remove /lib/systemd/system/bind9.service
 


    Pour plus d’information sur ces dernières opérations, voir mon astuce: « Détournement de fichier sous Debian »

@++

Dernière modification par robert2a (10-02-2015 14:32:40)

Hors ligne

#10 10-02-2015 16:17:31

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

maintenant c est pire plantage de bind suite a la modif  du bind9.service.

revenu au point de depart impossible de mettre le pid dans le chroot  hmm

ps: la modif est bonne j ai un probleme de log , en ignorant le script des log c est  ok
je vai essayer de trouver mon erreur roll

les 2 methodes avec rsyslog ou sysklogd  ne fonctionne pas.

isc_stdio_open '/var/log/update_debug.log' failed: file not found

ps2: résolu , toujours le meme souci avec moi , le copier collé c est pas bon faut reflechir roll tongue

j ai adapté le dossier log a ma config et tout est rentré dans l ordre , il me reste a tout vérifier une derniere fois mais deja le pid de bind est la ou il faut

@++

Dernière modification par robert2a (10-02-2015 17:22:46)

Hors ligne

#11 11-02-2015 07:43:27

robert2a
Membre
Lieu : France
Distrib. : Stretch
Noyau : Linux 4.8.0-1-amd64
(G)UI : Mate 1.16.1
Inscription : 15-11-2014

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

Bonjour

j'ai abandonné le chroot de bind9 pour l'instant , pour systemd et le pid de bind , je pense que le bug sera corrigé , en tout cas la modif ci-dessus fonctionne bien , mon autre soucis etait l emplacement des logs de bind qui ne se trouve pas la ou il fallait dans /var/log/bind.log mais dans le chroot de bind. (je pense aussi a un mauvais tour de systemd )

et dernier soucis la mise a jour dhcp => bind a mon avis ne fonctionnait pas correctement.
apres remise en etat de l instal par défaut tout est rentré dans l ordre.

le melange de 2 tutos un sous /var/lib/named (premier test du chroot) et l autre sous /var/lib/bind (deuxieme test )ne m a pas aidé non plus hmm

je pense que sous wheezy beaucoup moins de problemes .
@++

Dernière modification par robert2a (11-02-2015 07:49:05)

Hors ligne

#12 11-02-2015 08:24:25

smolski
administrateur quasi...modo
Lieu : AIN
Distrib. : 8 (jessie) 64 bits + backports
Noyau : 4.6.0-0.bpo.1-amd64
(G)UI : gnome 3.14.1
Inscription : 21-10-2008

Re : [Résolu]Bind9 ne fonctionne pas correctement sur une passerelle

robert2a a écrit :

je pense que sous wheezy beaucoup moins de problemes


smile


"Définition d'eric besson : S'il fallait en chier des tonnes pour devenir ministre, il aurait 2 trous du cul." - JP Douillon
"L'utopie ne signifie pas l'irréalisable, mais l'irréalisée." - T Monod (source :  La zone de Siné)
"Je peux rire de tout mais pas avec n'importe qui." - P Desproges
"saque eud dun" (patois chtimi : fonce dedans)

Hors ligne

Pied de page des forums