Pages : 1
#1 Le 15/09/2014, à 16:39
- castrogne
[RESOLU] Bind9 non fonctionnel depuis l'extérieur
Bonjour,
J'aimerai faire de mon VPS un serveur DNS. J'ai suivi le tuto suivant (qui date un peu) : (impossible de mettre le lien, manque de droit désolé...)
http://blog.idneo.fr/configuration-dns- … nager-ovh/
Or je reste bloqué car lorsque je choisis "Ajouter un DNS Secondaire" dans mon interface OVH, et que je remplis le tout, j'ai l'erreur suivante :
"Une erreur est survenue lors de la demande d'ajout du domaine sur le DNS secondaire. (First we need to verify you are the owner of this domain. To do so, please add a TXT field on your DNS zone for the domain mondomaine.fr, with the subdomain 'ownercheck' and the following value: '123456789'. Once done and your zone reloaded, try again (you don't need to wait for DNS propagation).)"
Mes excuses, ce genre de question a été posé moult fois, mais je n'arrive pas à trouver de solution qui corrige mon problème, ou bien je suis perdu car c'est ma première manipulation de ce genre.
Voici ma configuration :
Fichier named.conf.options
root@vpsxxxxx:/etc/bind# cat 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 [url]http://www.kb.cert.org/vuls/id/800113[/url]
// 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 {
// 0.0.0.0;
// };
//========================================================================
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See [url]https://www.isc.org/bind-keys[/url]
//========================================================================
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on { any; };
allow-recursion { any; };
allow-query { any; };
};
Fichier named.conf.local
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
include "/etc/bind/zones.mondomaine";
Fichier zones.mondomaine
zone "mondomaine.fr" {
type master;
file "/etc/bind/db.mondomaine.fr";
};
zone "z.y.x.w.in-addr.arpa" {
type master;
file "/etc/bind/db.135";
};
Fichier db.mondomaine.fr
$TTL 12H
$ORIGIN mondomaine.fr.
@ IN SOA vpsxxxxx.ovh.net. admin.mondomaine.fr. (
2014091302 ; Serial
8H ; Refresh
30M ; Retry
4W ; Expire
8H ; Minimum TTL
)
IN NS vpsxxxxx.ovh.net.
IN NS sdns2.ovh.net.
IN MX 10 mail.mondomaine.fr.
mondomaine.fr. IN A W.X.Y.Z
ns IN A W.X.Y.Z
mail IN A W.X.Y.Z
www IN CNAME mondomaine.fr.
ftp IN CNAME mondomaine.fr.
ownercheck 3600 TXT "198f4bfc"
Fichier db.135
;
; BIND reverse data file for local loopback interface
;
$TTL 12H
@ IN SOA vpsxxxxx.ovh.net. admin.mondomaine.fr. (
2014091302 ; Serial
8H ; Refresh
30M ; Retry
3W ; Expire
8H ; Minimum TTL
)
IN NS vpsxxxxx.ovh.net.
IN NS sdns2.ovh.net.
IN PTR mondomaine.fr.
Iptables :
Chain INPUT (policy DROP)
...
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
Chain FORWARD (policy ACCEPT)
...
Chain OUTPUT (policy ACCEPT)
....
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
Tests fait depuis le serveur:
root@vpsxxxxx:/etc/bind# nslookup mondomaine.fr.
Server: W.X.Y.Z
Address: W.X.Y.Z#53
Name: mondomaine.fr
Address: W.X.Y.Z
root@vpsxxxxx:/etc/bind# host ns.mondomaine.fr
ns.mondomaine.fr has address w.x.y.z
root@vpsxxxxx:/etc/bind# dig TXT @vpsxxxxx.ovh.net ownercheck.mondomaine.fr
; <<>> DiG 9.9.3-rpz2+rl.13214.22-P2-Ubuntu-1:9.9.3.dfsg.P2-4ubuntu1.1 <<>> TXT @vpsxxxxx.ovh.net ownercheck.mondomaine.fr
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37813
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ownercheck.mondomaine.fr. IN TXT
;; ANSWER SECTION:
ownercheck.mondomaine.fr. 3600 IN TXT "198f4bfc"
;; AUTHORITY SECTION:
mondomaine.fr. 43200 IN NS vpsxxxxx.ovh.net.
mondomaine.fr. 43200 IN NS sdns2.ovh.net.
;; Query time: 0 msec
;; SERVER: w.x.y.z#53(w.x.y.z)
;; WHEN: Sat Sep 13 18:34:15 CEST 2014
;; MSG SIZE rcvd: 128
root@vpsxxxxx:/etc/bind# ping ns.mondomaine.fr
PING ns.mondomaine.fr (w.x.y.z) 56(84) bytes of data.
64 bytes from vpsxxxxx.ovh.net (w.x.y.z): icmp_seq=1 ttl=64 time=0.021 ms
64 bytes from vpsxxxxx.ovh.net (w.x.y.z): icmp_seq=2 ttl=64 time=0.067 ms
Bien entendu, rien de tout cela ne marche depuis l'extérieur du serveur... Qu'ai-je loupé?
Dernière modification par castrogne (Le 17/09/2014, à 18:58)
Hors ligne
#2 Le 16/09/2014, à 12:44
- bruno
Re : [RESOLU] Bind9 non fonctionnel depuis l'extérieur
Bonjour,
Or je reste bloqué car lorsque je choisis "Ajouter un DNS Secondaire"
et dans ta configuration il y a :
type master;
Tu ne vois pas comme une contradiction ?
#3 Le 16/09/2014, à 19:16
- castrogne
Re : [RESOLU] Bind9 non fonctionnel depuis l'extérieur
Bonjour,
Merci pour la réponse.
Comme je le disais, c'est la première fois que je fais la manip. Et effectivement, ça me semble étrange, mais j'ai suivi le tuto qui parle bien de DNS secondaire au début, puis "type master;"
Quoi qu'il en soit, c'est bien un master que je souhaite faire. J'ai également déclaré le serveur comme DNS du nom de domaine, je viens d'avoir la confirmation, mais pas mieux. Le problème me semble de toute façon venir de la connexion à ma machine, qui semble rejetée par bind9.
Voici d'ailleurs un log dans /var/log/messages, en réponse au dig depuis une machine extérieure :
Sep 16 20:12:31 vps55883 kernel: [5336855.933899] paquet IPv4 inattendu IN=venet0 OUT= MAC= SRC=monip DST=W.X.Y.Z LEN=76 TOS=0x00 PREC=0x00 TTL=56 ID=25780 PROTO=UDP SPT=14734 DPT=53 LEN=56
étrange comme log je trouve
Hors ligne
#4 Le 16/09/2014, à 20:08
- sechanbask
Re : [RESOLU] Bind9 non fonctionnel depuis l'extérieur
Bonjour,
Est-ce que tu autorises les requêtes extérieures ?
moi j'ai sur le fichier /etc/bind/named.conf.options
allow-query {
any;
};
Hors ligne
#5 Le 16/09/2014, à 20:42
- castrogne
Re : [RESOLU] Bind9 non fonctionnel depuis l'extérieur
Merci,
Je viens d'ajouter la ligne et de relancer bind9 : même résultat depuis l'exterieur. :
Sur la machine distante :
$ dig TXT @vpsxxxxx.ovh.net ownercheck.mondomaine.fr
; <<>> DiG 9.8.1-P1 <<>> TXT @vpsxxxxx.ovh.net ownercheck.mondomaine.fr
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
sur le serveur, log messages :
Sep 16 21:39:37 vps55883 kernel: [5342082.457503] paquet IPv4 inattendu IN=venet0 OUT= MAC= SRC=ipclient DST=W.X.Y.Z LEN=531 TOS=0x00 PREC=0x00 TTL=113 ID=23201 DF PROTO=UDP SPT=53 DPT=39628 LEN=511
J'ai mis à jour mon names.conf.option du premier post en ajoutant ta ligne. Selon ce site, de toute façon, c'est la valeur par défaut :
http://www.zytrax.com/books/dns/ch7/que … llow-query
Retour à la case départ...
Hors ligne
#6 Le 17/09/2014, à 08:44
- bruno
Re : [RESOLU] Bind9 non fonctionnel depuis l'extérieur
Ce que tu vois dans tes logs ressemble bien à un paquet rejeté par iptables.
Commence par désactiver ton pare-feu avant de refaire un test depuis l'extérieur.
#7 Le 17/09/2014, à 19:03
- castrogne
Re : [RESOLU] Bind9 non fonctionnel depuis l'extérieur
Salut,
Alors effectivement, c'était bien iptables... J'avais déjà pensé avoir écarté cette solution car j'avais ajouté la commande suivante :
iptables -P INPUT ACCEPT
Or cela ne marchait toujours pas, J'ai fait aujourd'hui un script pour totalement vider iptables :
#!/bin/sh
/sbin/iptables -t filter -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
/sbin/iptables -t raw -F
/sbin/iptables -t filter -P INPUT ACCEPT
/sbin/iptables -t filter -P OUTPUT ACCEPT
/sbin/iptables -t filter -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT
/sbin/iptables -t mangle -P PREROUTING ACCEPT
/sbin/iptables -t mangle -P OUTPUT ACCEPT
/sbin/iptables -t mangle -P POSTROUTING ACCEPT
/sbin/iptables -t mangle -P FORWARD ACCEPT
/sbin/iptables -t mangle -P INPUT ACCEPT
/sbin/iptables -t raw -P OUTPUT ACCEPT
/sbin/iptables -t raw -P PREROUTING ACCEPT
Une fois ceci réalisé, j'ai pu faire mon dig distant sans souci. J'ai donc analysé mon script iptables et j'ai remarqué que j'avais plassé mes règles du port 53 après les règles suivantes:
-A INPUT -j LOG --log-prefix "paquet IPv4 inattendu "
-A INPUT -j REJECT --reject-with icmp-port-unreachable
Donc tout ce qui suit était rejeté, avec le fameux message "paquet IPV4 inattendu"... mes règles étaient inutiles, tout comme ma commande mettant par défaut accept. J'ai donc redéplacé mes règles de rejet en fin de script, et maintenant tout fonctionne, du point de vue de mon serveur en tout cas. Le reste est du ressort de la configuration OVH, je ne vous embêterait donc pas avec ça .
Merci!
Hors ligne
Pages : 1