Forum Linux.debian/ubuntu Bind9 > Besoin d'aide (SERVFAIL)

Posté par . Licence CC By‐SA.
0
6
avr.
2020

Bonjour à tous !

J'ai suivi de nombreux tutos sur internet mais le serveur DNS que j'essaye de mettre en place est en erreur (SERVFAIL) des DNS externes (en local, cela fonctionne).

Pourtant, tout semble être correct (fichier de zones OK, bind est bien actif, la zone fonctionne bien en local...) et j'ai passé beaucoup de temps à tout vérifier mais rien ne fonctionne alors je fais appel à votre expertise !

Pour information, je suis sur un serveur dédié Kimsufi, et j'ai installé la distribution Debian 10 Buster dessus.

J'ai bien configuré les DNS de mon hébergeur de mon nom de domaine pour qu'ils pointent vers le ns1.mondomaine.fr et le sdns2.ovh.ca (DNS Secondaire de Kimsufi).

Pour commencer, le problème est le suivant (dig) :

 alextoch@ns50XXXX ~ % dig mondomaine.fr
 ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> mondomaine.fr
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 53406
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
 ;; OPT PSEUDOSECTION:
 ; EDNS: version: 0, flags:; udp: 4096
 ;; QUESTION SECTION:
 ;mondomaine.fr. IN A
 ;; Query time: 193 msec
 ;; SERVER: 213.186.33.99#53(213.186.33.99)
 ;; WHEN: Fri Apr 03 10:01:47 CEST 2020
 ;; MSG SIZE rcvd: 39

Si je fais un dig à partir d'un DNS de google (8.8.4.4 par ex.), j'ai également un SERVFAIL.

dig de mon domaine en local --> on voit ici que c'est OK

 > alextoch@ns50XXXX ~ % dig mondomaine.fr @127.0.0.1
 ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> mondomaine.fr @127.0.0.1
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2654
 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
 ;; OPT PSEUDOSECTION:
 ; EDNS: version: 0, flags:; udp: 4096
 ; COOKIE: e6f4de23ff420e02475d0e005e86edcb7230eac793a7e98a (good)
 ;; QUESTION SECTION:
 ;mondomaine.fr. IN A
 ;; ANSWER SECTION:
 mondomaine.fr. 3600 IN A 198.100.XXX.Y
 ;; AUTHORITY SECTION:
 mondomaine.fr. 3600 IN NS ns1.mondomaine.fr.
 mondomaine.fr. 3600 IN NS sdns2.ovh.ca.
 ;; ADDITIONAL SECTION:
 ns1.mondomaine.fr. 3600 IN A 198.100.XXX.Y
 ;; Query time: 0 msec
 ;; SERVER: 127.0.0.1#53(127.0.0.1)
 ;; WHEN: Fri Apr 03 10:03:23 CEST 2020
 ;; MSG SIZE rcvd: 143

dig de mon domaine à partir de mon DNS Secondaire Kimsufi --> on voit ici que c'est OK

 ; <<>> DiG 9.11.5-P4-5.1-Debian <<>> maymail.fr @167.114.154.31
 ;; global options: +cmd
 ;; Got answer:
 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 50488
 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
 ;; WARNING: recursion requested but not available
 ;; OPT PSEUDOSECTION:
 ; EDNS: version: 0, flags:; udp: 4096
 ;; QUESTION SECTION:
 ;maymail.fr. IN A
 ;; ANSWER SECTION:
 maymail.fr. 3600 IN A 198.100.145.9
 ;; Query time: 0 msec
 ;; SERVER: 167.114.154.31#53(167.114.154.31)
 ;; WHEN: Mon Apr 06 17:37:43 CEST 2020
 ;; MSG SIZE rcvd: 55

Vérification de la zone

 alextoch@ns50XXXX ~ % named-checkconf -z
 zone mondomaine.fr/IN: loaded serial 2020040210
 zone localhost/IN: loaded serial 2
 zone 127.in-addr.arpa/IN: loaded serial 1
 zone 0.in-addr.arpa/IN: loaded serial 1
 zone 255.in-addr.arpa/IN: loaded serial 1
 alextoch@ns50XXXX ~ % named-checkzone mondomaine.fr /etc/bind/mondomaine.fr/db.mondomaine.fr
 zone mondomaine.fr/IN: loaded serial 2020040210
 OK

==> A priori ma zone est OK.

Logs de bind

alextoch@ns50XXXX ~ % cat /var/lib/bind/bind.log
02-Apr-2020 20:00:18.251 general: notice: all zones loaded
02-Apr-2020 20:00:18.252 general: notice: running

Statut de bind9

 alextoch@ns50XXXX ~ % sudo service bind9 status
 &#9679; bind9.service - BIND Domain Name Server
 Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)
 Active: active (running) since Thu 2020年04月02日 20:00:18 CEST; 14h ago
 Docs: man:named(8)
 Process: 15408 ExecStart=/usr/sbin/named $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 15410 (named)
 Tasks: 7 (limit: 4915)
 Memory: 20.8M
 CGroup: /system.slice/bind9.service
 &#9492;&#9472;15410 /usr/sbin/named -u bind
 Apr 02 20:00:18 ns50XXXX named[15410]: automatic empty zone: B.E.F.IP6.ARPA
 Apr 02 20:00:18 ns50XXXX named[15410]: automatic empty zone: 8.B.D.0.1.0.0.2.IP6.ARPA
 Apr 02 20:00:18 ns50XXXX named[15410]: automatic empty zone: EMPTY.AS112.ARPA
 Apr 02 20:00:18 ns50XXXX named[15410]: automatic empty zone: HOME.ARPA
 Apr 02 20:00:18 ns50XXXX named[15410]: none:106: 'max-cache-size 90%' - setting to 7097MB (out of 7885MB)
 Apr 02 20:00:18 ns50XXXX named[15410]: configuring command channel from '/etc/bind/rndc.key'
 Apr 02 20:00:18 ns50XXXX named[15410]: command channel listening on 127.0.0.1#953
 Apr 02 20:00:18 ns50XXXX named[15410]: configuring command channel from '/etc/bind/rndc.key'
 Apr 02 20:00:18 ns50XXXX named[15410]: command channel listening on ::1#953
 Apr 02 20:00:18 ns50XXXX systemd[1]: Started BIND Domain Name Server.

Mes fichiers bind / zone

resolv.conf

alextoch@ns50XXXX ~ % cat /etc/resolv.conf
nameserver 213.186.33.99

213.186.33.99 est l'IP fournit par défaut sur mon serveur Kimsufi à l'installation de la distrib.

/etc/bind/named.conf

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

/etc/bind/named.conf.options

options {
directory "/var/cache/bind";
auth-nxdomain no; # conform to RFC1035
listen-on { any; };
listen-on-v6 { any; };
// hide version number from clients for security reasons.
version "not currently available";
// disable recursion on authoritative DNS server.
recursion no;
// enable the query log
querylog yes;
// disallow zone transfer
allow-transfer { none; };
};
logging {
 channel bind.log {
 file "/var/lib/bind/bind.log" versions 10 size 20m;
 severity notice;
 print-category yes;
 print-severity yes;
 print-time yes;
 };
 category queries { bind.log; };
 category default { bind.log; };
 category config { bind.log; };
};

/etc/bind/named.conf.local

 zone "mondomaine.fr" {
 type master;
 allow-transfer {167.114.154.31;};
 also-notify {167.114.154.31;};
 allow-update {167.114.154.31;};
 file "/etc/bind/mondomaine.fr/db.mondomaine.fr";
 };

167.114.154.31 est le DNS secondaire fournit avec mon serveur Kimsufi (il correspond à sdns2.ovh.ca)

/etc/bind/named.conf.default-zones

 // prime the server with knowledge of the root servers
 zone "." {
 type hint;
 file "/usr/share/dns/root.hints";
 };
 // be authoritative for the localhost forward and reverse zones, and for
 // broadcast zones as per RFC 1912
 zone "localhost" {
 type master;
 file "/etc/bind/db.local";
 };
 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";
 };

/etc/bind/mondomaine.fr/db.mondomaine.fr

 $TTL 3600
 @ IN SOA ns1.mondomaine.fr. admin.mondomaine.fr. (
 2020040205 ; serial, todays date + todays serial #
 14400 ; refresh, seconds
 3600 ; retry, seconds
 604800 ; expire, seconds
 3600 ) ; minimum, seconds
 ;
 mondomaine.fr. 3600 A 198.100.XXX.Y
 mail 3600 A 198.100.XXX.Y
 ns1 3600 A 198.100.XXX.Y
 mondomaine.fr. 3600 MX 10 mail.mondomaine.fr.
 mondomaine.fr. 3600 NS ns1.mondomaine.fr.
 mondomaine.fr. 3600 NS sdns2.ovh.ca.
 Y.XXX.100.198.in-addr.arpa 3600 PTR mondomaine.fr.
 mondomaine.fr. 3600 TXT "v=spf1 mx a ~all"
 _dmarc.mondomaine.fr. 3600 TXT "v=DMARC1; p=none"

Vu que tout semble "ok" dans la conf, que la zone est bien chargée par bind et qu'elle fonctionne en local. Je me suis dit que c'était peut être le pare feu qui bloquait le port 53 mais en fait non :

 alextoch@ns50XXXX ~ % sudo nmap -sS -sU 198.100.XXX.Y
 Starting Nmap 7.70 ( https://nmap.org ) at 2020年04月03日 10:27 CEST
 Stats: 0:00:02 elapsed; 0 hosts completed (1 up), 1 undergoing UDP Scan
 UDP Scan Timing: About 1.00% done; ETC: 10:28 (0:01:39 remaining)
 Nmap scan report for ns50XXXX.ip-198-100-XXX.net (198.100.XXX.Y)
 Host is up (0.000032s latency).
 Not shown: 1996 closed ports
 PORT STATE SERVICE
 53/tcp open domain
 53/udp open domain
 68/udp open|filtered dhcpc
 123/udp open ntp

J'ai même désactivé iptables pour être bien sûr, mais cela ne change absolument rien.

Aussi, toute idée est la bienvenue !! Avez-vous des pistes ? Ce problème commence à me rendre fou

Merci beaucoup d'avance pour votre aide !

  • # et le recursion et/ou forward ?

    Posté par . Évalué à 3.

    il faut configurer le DNS pour autoriser la recursion voire le forward vers les DNS externes pour les zones externes (inconnues)

    ta recursion est à OFF et je n'ai pas vu de forward.

    • [^] # Re: et le recursion et/ou forward ?

      Posté par . Évalué à 1. Dernière modification le 06 avril 2020 à 19:34.

      Merci beaucoup pour ta réponse !

      J'ai modifié le named.conf.options comme ça :

      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 {
       167.114.154.31;
       };
       //========================================================================
       // 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
       //========================================================================
       auth-nxdomain no; # conform to RFC1035
       listen-on { any; };
       listen-on-v6 { any; };
       allow-recursion {
       127.0.0.1;
       198.100.XXX.Y;
       };
      };
      

      J'ai redémarré le serveur bind.
      Toujours SERVFAIL lorsque je dig sur des DNS externes mais il faut peut être le temps que cela se propage !?

      J'espère que c'est ça :p

      • [^] # Re: et le recursion et/ou forward ?

        Posté par . Évalué à 4.

        tu as definit un bloc allow-recursion

        mais si tu n'as rien changé d'autre ta recursion était à OFF dans la config précédente

        // disable recursion on authoritative DNS server.
        recursion no;

        il faut évidemment la mettre à ON (yes)

  • # Merci !

    Posté par . Évalué à 2.

    Merci à tous, avec ces modifs, cela fonctionne ! :) Du coup je ne sais pas si c'est la partie récursion, la partie forwarders ou les 2).

    • [^] # Re: Merci !

      Posté par . Évalué à 2.

      suffit de tester,

      la recursion sur OFF, ca ne fonctionnait, pas.
      tu l'as mise sur ON et ca marche

      commente la partie forwarder, tu verras bien si ca fonctionne toujours ou s'il faut les 2 :p

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.