• Serveurs
  • [Discussion] Mettre en place un serveur DNS avec Bind9 et DNSSEC

  • [supprimé]

Super franchement ! Jolie travail. De plus j'en avais besoin. Juste une remarque, tu as mit ":" au lieux de ";" dans un fichier de conf du coup j'avais une erreur.
: Sous-domaines - Seedbox
plex                IN                CNAME                hostname3
torrent             IN                CNAME                hostname3
...
Merci !
  • [supprimé]

Salut,

J'ai suivi le tuto hier soir. Ce matin je n'ai plus accès à mon dédié par SSH car j'ai du mal faire quelque choses.. Je peux en premier lieux de fournir les configuration de mon hebergeur (Kimsufi) et de mon domaine (OVH). Je pense que c'est une erreur con mais.. sa me bloque.



Mon nom de domaine chez OVH
Mon registrar
Mon dédié chez Kimsufi

Mon Hebergeur
Voila.. Je pense que le soucis viens d'ici, pour le moment j'ai pas accès à mon serveur, pour cela je devrais remettre à zéro les config ci-dessus mais si le problème viens de la..

Merci
Je pense que tu peux te connecter par SSH en utilisant l'ip de ton serveur, regarde la conf de Bind et assure toi que le service est bien démarré. Envoie moi ton nom de domaine par MP pour que je regarde les réponses de ton serveur DNS.
17 jours plus tard
salut,
j'ai un soucis avec bind
des que je teste j'ai cette erreur...
named-checkzone mondomaine.fr.cr db.mondomaine.fr.cr
zone mondomaine.fr.cr/IN: loading from master file db.mondomaine.fr.cr failed: file not found
pourtant le fichier existe bien...
ça vous dis qque chose ?
j’ai trouvé !!
La commande « named-checkzone » doit être lancée sur le serveur dans le répertoire /etc/bind

Merci pour ton implication en tout cas et pour ce tuto clair !
quentin garnier wrote:salut,
j'ai un soucis avec bind
des que je teste j'ai cette erreur...
named-checkzone mondomaine.fr.cr db.mondomaine.fr.cr
zone mondomaine.fr.cr/IN: loading from master file db.mondomaine.fr.cr failed: file not found
pourtant le fichier existe bien...
ça vous dis qque chose ?
8 jours plus tard
Si j'applique pas à mes propres serveurs ce que je mets dans mes tutoriels maintenant mais où va le monde ? x'D
un mois plus tard
Bonsoir,

J'ai procéder a l'installation en suivant le tuto. Par contre je n'arrive pas a accéder au site via les sous-domaine.
exmple: phpmyadmin.ndd.tld ou dashboard.ndd.tld

pourtant j'ai mis cela dans mon fichier
phpmyadmin IN CNAME mon hostname
dashboard IN CNAME mon hostname

quelqu'un a une idée pour m'aider
Peux-tu me donner le résultat des commandes suivantes :
dig +short A phpmyadmin.ndd.tld
dig +short A dashboard.ndd.tld

dig +short A phpmyadmin.ndd.tld @8.8.8.8
dig +short A dashboard.ndd.tld @8.8.8.8

dig +short A phpmyadmin.ndd.tld @208.67.222.222
dig +short A dashboard.ndd.tld @208.67.222.222
Si tu es sous windows, cette commande est pas disponible, essaye avec nslookup :
nslookup
> set type=A
> phpmyadmin.ndd.tld
[résultat...]
> dashboard.ndd.tld
[résultat...]
> exit

nslookup - 8.8.8.8
...

nslookup - 208.67.222.222
...
Envoie moi le contenu de ton fichier de zone par MP.
un mois plus tard
bonjour,

une petite question

j'ai un ami en allemagne qui voudrait un vpn pour sa télé samsung....

Apparemment sur la télé il peut changer le DNS pour accèder aux chaines françaises.

Est ce qu'en suivant ton tuto et en lui filant l'ip du dns de mon serveur se sera good?
Non parce que ton serveur n'est pas un résolveur ouvert, il résout uniquement les adresses provenant de ton domaine. Ton ami doit utiliser un serveur DNS public, comme ceux de Google ou autre.
un mois plus tard
bonjour,

dans la partie "Configuration du fichier de zone :"

les ip des "serveurs" (ns et hostnames) c'est les ips publiques ou ip du lan qu'il faut mettre (j'ai un vps sur lequel j'ai plusieurs VMs), donc du coup, je confond un peu entre ip lan et ip wan...

merci
Même moi j'ai pas eu de problèmes, donc tout le monde peut réussir 8)

Merci pour le tuto
oki, merci

Donc, si j'ai plusieurs VMs, y aura qu'une seule ip wan (si j'ai qu'une seule ip wan)

c'est bien cela?
Salutations,

J'ai suivi avec assiduité le tutoriel d'installation de DNS mais je bloque au niveau de DNSSEC, à l'étape où il faut générer la clé KSK et la donner au registrar.

Je suis chez Online.net. Je les ai contacté, mais il semble qu'ils ne gèrent pas ce type d'enregistrement. Je suis donc presque arrivé à la fin du process, mais ai au final un DNS pas complètement sécurisé.

J'aurais donc voulu savoir comment faire pour "contourner" ce pb et ainsi pouvoir finir le tuto.

Bien cordialement.

V.
Seule solution : changer de registrar.

OVH et Gandi supportent bien DNSSEC. Ça m'étonne de la part de Online, regarde bien si tu as pas la possibilité de leur fournir ta clé, ça me semble étrange, mais c'est possible qu'ils ne prennent pas encore en charge DNSSEC complètement.
Salut Hardware et merci pour ta réponse

Justement, Online ne le supporte pas et c'est vraiment dommage. En plus, à la Hotline, ils ne font pas de support pour tout ce qui touche au DNS... en gros, c'est démerde-toi. Dommage parce que les prix sont vraiment intéressants sinon.

Bref, je viens de regarder chez GANDI... c'est cher un nom de domaine chez eux ! 2x le prix de chez Online !!! Oo'

Je me vois pas tout transférer ailleurs, ou alors Kimsufi ! Mais là, pareil, les boxes 1er prix sont toutes prises... grrr


Je continue mes recherches


Cordialement

++

V.
Tu peux retrouver la liste des registrars prennant en charge DNSSEC sur le site de l'ICANN :

https://www.icann.org/resources/pages/deployment-2012-02-25-en

Comme tu peux le voir, il y en a très peu vu que ce standard est assez récent. Les serveurs racines et la zone root "." ont leur signature depuis 2010, ensuite on suivi les domaines de haut-niveau NET, ORG, COM dans la même année. Pour moi un bon Registrar se doit de proposer DNSSEC, au moins pour les professionnels et les entreprises.
RE Salut Hardware, et encore merci pour ta réponse

Juste une question, comme ça : si je prends un serveur Kimsufi à 5€, vu que c'est du OVH Low Cost, le DNSSEC est aussi pris en charge ? ou faut vraiment prendre un serveur OVH ?

Si je demande, c'est juste que je n'ai pas "envie de m'embêter" à avoir 1 serveur hébergé ici (en l’occurrence Online.net), un domaine géré là-bas (GANDI ou OVH), etc. Le mieux pour moi serait de tout regrouper en un seul endroit.

Donc si KimSufi gère le DNSSEC, je dirai banco !

Au plaisir.

V.
La prise en charge de DNSSEC est complètement indépendante de l'offre d'hébergement ou de l'hébergeur, le plus important c'est de prendre un nom de domaine chez un registrar qui dispose bien de ce standard. Ton serveur tu peux le prendre n'importe où, peut importe l'hébergeur, ça n'a aucune importance.

Donc dire :
virgo77 wrote:Si KimSufi gère le DNSSEC, je dirai banco !
C'est incorrect.

Moi par exemple, j'ai choisis Gandi en tant que registrar et SoYouStart (OVH) en tant qu'hébergeur, ça fonctionne très bien. Si tu préfère regrouper tout chez le même prestataire, tu peux transférer ton nom de domaine de Online.net vers OVH puis choisir une offre kimsufi pour l'hébergement.
7 jours plus tard
J'ai un soucis avec la vérification "TXT de chez Kimsufi ... donc je configure le db.domain.tld comme il faut et sous la ligne :
@                   IN                NS                   ns.kimsufi.com.
j'ajoute
ownercheck          IN                TXT                  "1234abcd"
Je valide chez Kimsufi ... et ... Non ça veux pas .... une idée ?

Ps / C'est un NDD, de chez OVH ...
Tu peux me passer ton enregistrement SOA ?
Comme je ne sais pas exactement ce que tu veux je te met toute le db.domain.tld:
(si j'ai bien compris, c'est la lign "SOA" ?
; ZONE : nomdedomaine.ovh
; ------------------------------------------------------------------
$TTL 7200

@       IN      SOA    ns12346.ip-00-00-000.eu. hostmaster.nomdedomaine.ovh. (
                                        2015030401 ; Serial
                                        7200       ; Refresh
                                        1800       ; Retry
                                        1209600    ; Expire - 1 week
                                        86400 )    ; Minimum

; NAMESERVERS

@                   IN                NS                   ns123456.ip-00-000-000.eu.
@                   IN                NS                   ns.kimsufi.com.
ownercheck    IN                TXT                 "1234abcd"
Voila pourquoi ça ne marche pas, OVH cherche le sous domaine ownercheck.nomdedomaine.tld et toi dans ta zone tu indiques ownercheck.ns12346.ip-00-00-000.eu., il faut que tu corriges ta zone DNS comme ceci :
; ZONE : domain.tld
; ------------------------------------------------------------------
$TTL 7200

@       IN      SOA    hostname.domain.tld. hostmaster.domain.tld. (
                                        2014102001 ; Serial
                                        7200       ; Refresh
                                        1800       ; Retry
                                        1209600    ; Expire - 1 week
                                        86400 )    ; Minimum

; Serveurs de noms

@                   IN                NS                hostname.domain.tld.
@                   IN                NS                ns.kimsufi.com.

; Enregistrements A

@                   IN                A                 IPv4 serveur
hostname            IN                A                 IPv4 serveur

; Vérification OVH
ownercheck          IN                TXT               "1234abcd"
hostname = Nom d'hôte de ton serveur
J'ai fait ce que tu ma='a dis je crois ... mais ... ça veux pas !
; ZONE : nomdedomaine.ovh
; ------------------------------------------------------------------
$TTL 7200

@       IN      SOA    ns123456.ip-00-000-000.eu. hostmaster.nomdedomaine.ovh. (
                                        2015030402 ; Serial
                                        7200       ; Refresh
                                        1800       ; Retry
                                        1209600    ; Expire - 1 week
                                        86400 )    ; Minimum

; Serveurs de noms

@                   IN                NS                ns123456.ip-00-000-000.eu.
@                   IN                NS                ns.kimsufi.com.

; Enregistrements A

@                   IN                A                 10.20.30.40
nomdedomaine.ovh       IN                A                 10.20.30.40

; Vérification OVH
ownercheck          IN                TXT               "1234abcd"
Non tu as pas compris. Je vais expliquer simplement :

Ton serveur DNS doit être identité sur le réseau avec un adresse unique qui lui est propre. Ton serveur dispose d'un nom d'hôte ou hostname en anglais permettant de le retrouver sur le réseau local, tu peux voir son nom en regardant dans le fichier /etc/hostname.

Tu peux bien entendu changer son nom à ta convenance, par exemple si tu décides de nommer ton serveur 'serveur1', dans /etc/hostname tu dois mettre :
serveur1
Il faut aussi que ton serveur soit identifiable sur internet, pour ce faire tu dois lui assigner un FQDN (Fully Qualified Domain Name) ou nom de domaine complètement qualifié. Dans cet exemple, le FQDN associé à ton serveur sera :
serveur1.tondomaine.tld.
Le point final est important, il désigne la racine DNS. Donc cette adresse révèle la position absolue du noeud dans l'arborescence DNS, elle identifie de manière unique ton serveur sur le réseau. Une fois que tu possèdes le FQDN, tu peux mettre à jour le fichier /etc/hosts :
127.0.0.1     localhost.localdomain   localhost
IP DU SERVEUR serveur1.tondomaine.tld serveur1
Il faut modifier uniquement la seconde ligne.

Une fois que c'est fait, un redémarrage du serveur est nécessaire. La zone DNS devra être comme ceci :
; ZONE : tondomaine.tld.
; ------------------------------------------------------------------
$TTL 7200

@       IN      SOA    serveur1.tondomaine.tld. hostmaster.tondomaine.tld. (
                                        2014102001 ; Serial
                                        7200       ; Refresh
                                        1800       ; Retry
                                        1209600    ; Expire - 1 week
                                        86400 )    ; Minimum

; Serveurs de noms

@                   IN                NS                serveur1.tondomaine.tld.
@                   IN                NS                ns.kimsufi.com.

; Enregistrements A

@                   IN                A                 IPv4 serveur
hostname            IN                A                 IPv4 serveur

; Vérification OVH
ownercheck          IN                TXT               "1234abcd"
J'espère que c'est clair, j'ai essayé d'expliquer simplement.
Super, c'est cool ça fonctionne merci encore je passe a DNSeCC !
19 jours plus tard
Hello @Harware,

Dis, je suis entrain de regarder ton tuto, de le décortiquer, avant de me lancer dans l'install de bind et dnssec sur mon vps, qui actuellement n'a pour fonction que d'être un vpn.

N'étant pas du tout expert dans le domaine des dns, loin de là, j'avoue que j'suis un peu perdu. Même si tes explications, notamment la dernière sur ce post, sont cool pour la compréhension.

Pour expliquer vite fait ma situation :
-J'ai un serveur seedbox avec une IP X
-Un vps-vpn avec IP Y
-Un nom de domaine chez gandi

Actuellement, chez gandi, j'ai deux enregistrements sur ma zone, et vue que j'suis noob, j'ai fait court et simple : un A pour chacune de mes IP ( serv et vps ), afin d'avoir deux sous-domaines (s.domain.tld ; point.domain.tld).



Si je me lance dans l'installation d'un resolveur sur mon vps qui me sert actuellement de vpn, comment faire dans le fichier de zone pour conserver mes deux sous-domaines de l'image ci-dessus ? A priori je dirais rien de particulier, mais sait-on jamais !

Y a t-il des manip particulières pour que les résolutions dns soient bien "encapsulées" à l'intérieur du vpn, quand j'accéderai au web depuis mon client ?

Quels sont les avantages de Bind par rapport à Unbound ?

Désolé si mes interrogations sont débiles ou si j'prends le problème dans le mauvais sens.
Le vpn tourne bien actuellement, j'voudrais pas tout casser. :>
AlkaSeltZer wrote: Si je me lance dans l'installation d'un resolveur sur mon vps qui me sert actuellement de vpn, comment faire dans le fichier de zone pour conserver mes deux sous-domaines de l'image ci-dessus ? A priori je dirais rien de particulier, mais sait-on jamais !

Y a t-il des manip particulières pour que les résolutions dns soient bien "encapsulées" à l'intérieur du vpn, quand j'accéderai au web depuis mon client ?
Tout ce que tu as à faire c'est de reprendre la zone qui se trouve chez ton registrar et de remettre les enregistrements dans la zone que tu as indiqué à Bind. Les résolutions DNS à l'intérieur de ton VPN se feront sans problème si la configuration DNS est correcte et qu'un résolveur est configuré dans resolv.conf.
AlkaSeltZer wrote: Quels sont les avantages de Bind par rapport à Unbound ?
Les deux sont bons, historiquement le plus utilisé c'est Bind, on le retrouve partout, après côté fonctionnalité Unbound reprend tout ce que fait Bind, de ce que j'ai entendu dire il serait même plus performant et fiable.
Oki merci. (:

J'attends que gandi prenne en compte les modifications de serveur de nom, ils mettent du temps ..
Et pour info, en tout cas dans mon cas, le dnssec n'est pas pris en charge par gandi en ce moment.

edit : Bon, tout à l'air ok ! ( en ayant mis push "dhcp-option DNS IP LOCALE" dans la conf openvpn )
Dis moi, comment vérifier que c'est bien bind9 sur le serveur qui bosse pour les résolutions ?
SI tu as mis "dhcp-option DNS IP LOCALE" c'est forcément ton résolveur qui fait le boulot, il va agir comme un cache en envoyant des requêtes aux serveurs racines DNS pour les zones pour lesquelles il n'a pas autorité.

Tu as quoi comme TLD pour ne pas avoir DNSSEC ?
Bon, ça foire. ^^
Depuis 2 jours, j'arrive à faire "fonctionner" le truc, puis le lendemain, ça ne résoud plus rien, le navigateur cherche en boucle. C'doit fonctionner le temps du cache avec les dns externes.
Je pige pas trop, la zone est ok, le fichier de conf semble ok aussi..
ça ne peut pas marcher parce le serveur DNS décrit dans le tutoriel sert uniquement de serveur autoritaire sur une zone, ce n'est pas un cache ni un forwarder. Pour que ça fonctionne, il faut modifier un peu la configuration :
# /etc/bind/named.conf.options

# Liste des clients autorisés
acl localclients {
    localhost;
    localnets;
    IPs_RESEAU_LOCAL/24;
    ...
};

options {
    ...
    allow-recursion { localclients; };
    allow-query { localclients; };
    ...
}
Ok merci, je regarde de ce côté. (:
Maintenant que tu le dis, ça parait évident. (x Booon j'espère que cette fois sera la bonne, mine de rien j'suis là dessus depuis une semaine presque xD
Hello,

Encore moi o/

Toujours la même chose, le lendemain, plus rien. ^^
J'ai modifié named.conf.options comme tu me l'as expliqué, peut-être ai-je fait une boulette :
###################################
#named.conf.options for bind9
###################################

#Definition des clients locaux

acl localclients {

        localhost;
        localnets;
        LOCAL_NETWORK_IP;
};

#Options

options {
        directory "/var/cache/bind";
        dnssec-enable no;
# dnssec-validation auto;
        auth-nxdomain no; # RFC1035
        listen-on { any; };
        listen-on-v6 { any; };

# Autoriser les requêtes récursives locales uniquement
        allow-recursion { localclients; };

# Autoriser les query locales
        allow-query { localclients; };

# Autoriser le cache local
        allow-query-cache { localclients; };

# Ne pas transférer les informations des zones aux DNS secondaires
        allow-transfer { none; };

# Ne pas autoriser la mise à jour des zones maîtres
        allow-update { none; };

# Cacher la version de bind
        version "DNS domain.tld";
};

# Include logging configuration.
        include "/etc/bind/named.conf.logging";
et le 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";

zone "odomain.tld" IN {

        # Zone de type maître
        type master;

        # Fichier de zone
        file "/etc/bind/domain.tld/db.domain.tld";

        # On autorise le transfert de la zone aux serveurs DNS secondaires
        allow-transfer { IP.DNS.SLAVE.1; IP.DNS.SLAVE.2; 127.0.0.1; ::1; };

        # On autorise tout le monde à envoyer des requêtes vers cette zone
        allow-query { any; };

        # Prévenir les serveurs DNS secondaires qu'un changement a été effectué$
        notify yes;
};
La partie d'openvpn conf qui nous intéresse :
# Reseau

server 10.8.0.0 255.255.255.0

push "redirect-gateway def1 bypass-dhcp"

#push dns local
push "dhcp-option DNS 127.0.0.1"
#push "dhcp-option DNS 84.200.69.80"
#push "dhcp-option DNS 84.200.70.40"

keepalive 10 120
C'est peut-être juste dans cette dernière partie qu'il y a une erreur non ? Je ne sais vraiment pas si je dois mettre l'ip de l'interface lo ou autre ..

resolv.conf :
search domain.tld
nameserver 127.0.0.1
Une idée ? x)
Active "dnssec-validation auto" et vérifie que tu ais bien la trust key de la racine ".". Quand tu dis le lendemin ça veut dire quoi ? Que ça marche un jour et pas le lendemain ?