Problème de configuration DNS

Bonjour à tous,

J’ai besoin d’aide pour la configuration de mon serveur DNS. J’ai mis en place un serveur dns (bind 9) , un serveur dhcp (isc-dhcp-server) et un client sur la même machine. Lorsque je fais le test de configuration de bind9 avec /etc/init.d/bind9 status -l il m’affiche une erreur

root@groupe5-srv-dns:/etc/bind# /etc/init.d/bind9 restart
[ ok ] Restarting bind9 (via systemctl): bind9.service.
root@groupe5-srv-dns:/etc/bind# /etc/init.d/bind9 status -l
● 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 mar. 2018-01-09 09:28:54 GMT; 5s ago
     Docs: man:named(8)
  Process: 2090 ExecStop=/usr/sbin/rndc stop (code=exited, status=1/FAILURE)
 Main PID: 2095 (named)
   CGroup: /system.slice/bind9.service
           └─2095 /usr/sbin/named -f -u bind

janv. 09 09:28:55 groupe5-srv-dns named[2095]: managed-keys-zone: loaded serial 76
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone 127.in-addr.arpa/IN: loaded serial 1
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone 0.in-addr.arpa/IN: loaded serial 1
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone 255.in-addr.arpa/IN: loaded serial 1
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone groupe5.org/IN: loaded serial 2
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone localhost/IN: loaded serial 2
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone 43.168.192.in-addr.arpa/IN: loaded serial 1
janv. 09 09:28:55 groupe5-srv-dns named[2095]: all zones loaded
janv. 09 09:28:55 groupe5-srv-dns named[2095]: running
janv. 09 09:28:55 groupe5-srv-dns named[2095]: zone 43.168.192.in-addr.arpa/IN: sending notifies (serial 1)

Voici mes fichiers de configuration

## GNU nano 2.2.6                            Fichier : named.conf

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
include "/etc/bind/rndc.key";

## /etc/bind/named.conf.local

zone "groupe5.org" in {
        type master;
        file "/etc/bind/db.groupe5.org";
        allow-update {key rndc-key;};
        allow-query { any; };
};

zone "43.168.192.in-addr.arpa" in {
        type master;
        file "/etc/bind/db.192";
        allow-update {key rndc-key;};
        allow-query { any; };
};

## /etc/bind/named.conf.options

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

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

         forwarders {
                192.168.43.111;
                8.8.8.8;
                8.8.4.4;
                // 212.27.40.240;
                // 212.27.40.241;
         };

        //========================================================================
        // If BIND logs error messages about the root key being expired,
        // you will need to update your keys.  See https://www.isc.org/bind-keys
        //========================================================================
        dnssec-validation auto;

        auth-nxdomain no;    # conform to RFC1035
        version none;
        forward only;
//      listen-on-v6 { any; };
};
##  GNU nano 2.2.6                           Fichier : db.groupe5.org

;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     groupe5-srv-dns.groupe5.org. root.groupe5-srv-dns.groupe5.org. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      groupe5-srv-dns.groupe5.org.
groupe5-srv-dns  IN   A  192.168.43.111
groupe5-srv-dhcp IN   A  192.168.43.110
groupe5-client-linux  IN  A  192.168.43.16
client-win        IN  A  192.168.43.17

## GNU nano 2.2.6                              Fichier : db.192
;
; BIND data file for local loopback interface
;
$TTL    604800
@       IN      SOA     groupe5-srv-dns.groupe5.org. root.groupe5-srv-dns.groupe5.org. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@        IN    NS      groupe5-srv-dns.
111      IN    PTR  groupe5-srv-dns.groupe5.org.
110      IN    PTR  groupe5-srv-dhcp.groupe5.org.
16       IN    PTR  groupe5-client-linux.groupe5.org.
17       IN    PTR  client-win.groupe5.org.

Merci d’avance

C’est la commande rndc stop pour arrêter BIND qui a retourné un code d’erreur. Le démarrage de BIND semble bien se passer. Que retourne la commande suivante ?

rndc status

bonjour @PascalHambourg

voici le retour de rndc status

root@groupe5-srv-dns:/etc/bind# rndc status
WARNING: key file (/etc/bind/rndc.key) exists, but using default configuration file (/etc/bind/rndc.conf)
rndc: no server specified and no default

Y aurait-t-il un fichier /etc/bind/rndc.conf mal configuré ?

1 J'aime

voici le contenu de mon fichier rndc.conf

key "rndc-key" {
        algorithm hmac-md5;
        secret "Gbng/tYP7r7enPBAwEO4+g==";
};

@PascalHambourg

j’ai repris la configuration du fichier rndc.conf et il n’y a plus d’erreur

include "/etc/bind/rndc.key";

options {
        default-server 127.0.0.1;
        default-key "rndc-key";
        default-port 953;
};

server localhost {
        key "rndc-key";
};



key "rndc-key" {
        algorithm hmac-md5;
        secret "Gbng/tYP7r7hjgdrytjnjdxukijO4+g==";
};

voici le retour de /etc/init.d/bind9 status -l
root@groupe5-srv-dns:/etc/bind# /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 mar. 2018-01-09 12:22:05 GMT; 3min 38s ago
     Docs: man:named(8)
  Process: 3026 ExecStop=/usr/sbin/rndc stop (code=exited, status=0/SUCCESS)
 Main PID: 3031 (named)
   CGroup: /system.slice/bind9.service
           └─3031 /usr/sbin/named -f -u bind

janv. 09 12:22:05 groupe5-srv-dns named[3031]: managed-keys-zone: loaded serial 76
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone localhost/IN: loaded serial 2
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone 0.in-addr.arpa/IN: loaded serial 1
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone 43.168.192.in-addr.arpa/IN: loaded serial 1
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone 127.in-addr.arpa/IN: loaded serial 1
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone 255.in-addr.arpa/IN: loaded serial 1
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone groupe5.org/IN: loaded serial 2
janv. 09 12:22:05 groupe5-srv-dns named[3031]: all zones loaded
janv. 09 12:22:05 groupe5-srv-dns named[3031]: running
janv. 09 12:22:05 groupe5-srv-dns named[3031]: zone 43.168.192.in-addr.arpa/IN: sending notifies (serial 1)

Merci

J’espère que tu n’as pas montré la véritable clé secrète (option “secret”).

salut @PascalHambourg

stp, j’ai un autre soucis. lorsque je fais un ping sur le nom du serveur DNS en étant sur la machine cliente ça marche mais lorsqu’étant sur le server DNS je fais un ping sur le nom de la machine cliente ça marche pas

Il faut définir une des adresses IP du serveur en tant que nameserver dans le fichier /etc/resolv.conf du serveur. Typiquement on met 127.0.0.1, l’adresse de loopback.

Attention si resolv.conf est géré par un programme comme NetworkManager ou resolvconf (c’est marqué en commentaire dans le fichier), il faut passer par ce programme pour modifier les DNS à utilizer.

c’est géré par /etc/resolv.conf.
j’aimerais savoir si le fichier resolv.conf du serveur DNS doit avoir le nameserver 127.0.0.1 et le resolv.conf de la machine cliente doit avoir le nameserver l’adresse ip du serveur DNS
A chaque fois que je configure /etc/resolv.conf de la machine cliente lorsque qu’elle redemarre elle perd la configuration

Forcément, mais la question est : par quoi ce fichier est-il géré ?

Oui.

c’est géré par NetworkManager

Sur le serveur ?
Dans ce cas il faut modifier l’adresse de DNS dans les paramètres IPv4 de la connexion réseau dans NetworkManager. Si tu modifies directement le fichier resolv.conf, il sera écrasé par NetworkManager.

désolée pour la question mais je suis novice. Comment modifier le fichier NetManager

NetworkManager n’est pas un fichier, c’est un programme. Si NetworkManager est installé, je suppose qu’un environnement de bureau est installé sur le serveur. Dans cet environnement de bureau il doit y avoir une “applet” (interface graphique) NetworkManager pour gérer le réseau. Généralement l’icône réseau se trouve dans la barre des tâches ou ce qui en tient lieu.

j’ai retrouvé l’icône réseau mais pas networkmanager

Ce doit être l’icône de l’applet NetworkManager. Vérifie dans le menu “à propos de…” et va dans la configuration de la connexion filaire.

Au fait j’ai remarqué que lorsque le client change d’adresse ip c’est là que le serveur dns n’arrive pas à faire un ping sur le nom du client sinon lorsqu’il reprend la 1ère adresse que j’ai configuré dans le fichier /etc/hosts du server dns là il n’y a pas de problème

## voici le contenu de mon fichier /etc/hosts du serveur dns

127.0.0.1       localhost.groupe5.org      localhost
# The following lines are desirable for IPv6 capable hosts
::1     
localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

192.168.43.110    groupe5-srv-dhcp
192.168.43.111    groupe5-srv-dns.groupe5.org   groupe5-srv-dns
192.168.43.11     groupe5-client-linux
192.168.43.17     client-win

j’ai remarqué aussi que les fichiers de zones ne sont pas mis à jour

Ou alors tu peux positionner le sticky bit sur le fichier resolv.conf une fois tes modifications enregistrées (solution proposée par Almtesh dans un vieux sujet si je me souviens bien), en faisant un chmod +t /etc/resolv.conf
De cette manière, NetworkManager n’écrasera pas le contenu du fichier.

Par défaut le fichier hosts a priorité sur la résolution DNS, donc si un nom est défini dans le fichier hosts la résolution de nom renverra l’adresse IP définie dans le fichier hosts et non l’adresse IP définie dans la zone DNS. Si les noms d’hôtes peuvent être résolus par DNS, il est inutile de les mettre dans le fichier hosts.

Note sur le message initial : il ne faut pas définir l’adresse IP du serveur DNS lui-même dans les forwarders.

@Sputnik93 :
Que je sache, le sticky bit n’a aucun effet sur un fichier. Sur un répertoire, il empêche la suppression des fichiers qu’il contient par un utilisateur autre que le propriétaire, mais pas leur modification, et si NetworkManager s’exécute en tant que root les permissions ne s’appliquent pas.

Tu veux peut-être parler de l’attribut “immuable” positionné avec chattr +i qui empêche la modification du fichier même par root. C’est sale. Il vaut mieux configurer NetworkManager avec les bons DNS ou le désinstaller, ou gérer l’interface réseau autrement si on ne veut pas qu’il modifie resolv.conf.