Journal Le serveur DNS Knot

Posté par (page perso) . Licence CC by-sa
Tags :
35
4
jan.
2014

Tiens, il semble qu'il y ait très peu de contenu sur LinuxFr à propos des serveurs DNS « alternatifs » (c'est-à-dire pas BIND que tant d'admin' paresseux utilisent sans avoir évalué les autres possibilités) ? Rien sur NSD et rien sur Knot ? Attaquons-nous à ce manque. D'abord, Knot. C'est un serveur en logiciel libre (évidemment) qui tourne entre autre sur Linux (évidemment) et assure les fonctions de serveur faisant autorité. Question rapidité, il se compare avec NSD (et est donc beaucoup plus rapide que BIND) mais avec une plus grande richesse fonctionnelle (canal de contrôle, ajout de zones en vol, mises à jour dynamiques du contenu des zones).

Le site officiel : https://www.knot-dns.cz/

Un article (en français) des auteurs de Knot à JRES : https://conf-ng.jres.org/2013/planning.html#article_160

Et mon article à moi : http://www.bortzmeyer.org/knot.html

  • # Commentaire supprimé

    Posté par . Évalué à 0.

    Ce commentaire a été supprimé par l'équipe de modération.

    • [^] # Re: Plus de fonctions ????

      Posté par (page perso) . Évalué à 9.

      mais avec une plus grande richesse fonctionnelle

      Cela m'étonnerait très fort… Cela ne semble pas du tout le cas pour les points cités.

      Il me semble que la comparaison était par rappord à nsd (http://www.nlnetlabs.nl/nsd/), pas par rapport à bind. Et donc Knot apporte la rapidité de nsd, tout en ayant certaines des fonctionnalités "avancées" de bind.

      • [^] # Commentaire supprimé

        Posté par . Évalué à 6.

        Ce commentaire a été supprimé par l'équipe de modération.

      • [^] # Re: Plus de fonctions ????

        Posté par (page perso) . Évalué à 3.

        Knot apporte la rapidité de nsd, tout en ayant certaines des fonctionnalités "avancées" de bind.

        Il me semble qu'historiquement NSD a été conçu pour introduire de la diversité dans les serveurs de premier et de second niveau (racines, TLD).

        Jusqu'à présent il n'était pas vraiment utilisable sur un grand nombre de zones et avec beaucoup de changements. Du moins c'est ce que j'ai pu en conclure la dernière fois que j'ai fais des tests soit il y a environ deux ans. Il est pourtant essentiel pour avoir une architecture autoritaire solide d'introduire de la diversité à tous les niveaux (réseau, système d'exploitation, service). C'est pourquoi Knot me semble aujourd'hui important.

        • [^] # Re: Plus de fonctions ????

          Posté par . Évalué à 2.

          Mais quand on a un seul domaine et qu'on veut être son propre DNS, quel serveur faut-il choisir ? Est-ce qu'il y a un serveur facile à mettre en place, à configurer et à maintenir pour un seul domaine ?

          • [^] # Re: Plus de fonctions ????

            Posté par (page perso) . Évalué à 4.

            Perso, j'ai nsd et c'est assez simple. Ma config fait 15 lignes pour 2 zones et 2 slaves ( en comptant les lignes vides ). Ça prends directement en compte les zones bind, ç'est dispo sur centos, fedora, debian.

            • [^] # Re: Plus de fonctions ????

              Posté par (page perso) . Évalué à 10.

              "Zone BIND" n'a pas de sens. Le format des fichiers de zone n'a rien à voir avec BIND, il est normalisé dans le RFC 1035.

              • [^] # Re: Plus de fonctions ????

                Posté par . Évalué à 5.

                en meme temps pour un non-sachant, comme moi par exemple,

                je comprends mieux le terme "fichier zone bind9" que fichier de configuration conforme à la RFC1035
                et ca me permet ainsi d'envisager ce nouveau service DNS avec plus de serenité en me disant que je peux l'installer et lui donner mes fichiers existants sans avoir à tout refaire depuis zero.

          • [^] # Re: Plus de fonctions ????

            Posté par (page perso) . Évalué à 7.

            Aussi bien NSD que BIND et Knot ont une configuration très simple dans ce cas, en quatre ou cinq lignes (l'exemple Knot donné dans mon article est complet et marche).

            C'est plutôt la supervision qu'il faut soigner.

            • [^] # Re: Plus de fonctions ????

              Posté par . Évalué à 4.

              C'est plutôt la supervision qu'il faut soigner.

              C'est-à-dire ?

              • [^] # Re: Plus de fonctions ????

                Posté par (page perso) . Évalué à 7.

                La supervision est l'ensemble des mécanismes qui teste régulièrement l'état d'un système ou réseau et alerte s'il y a un problème. Par exemple, si on a deux serveurs DNS pour une zone (le minimum recommandé), la panne d'un des deux serveurs n'est pas visible par les utilisateurs, en raison de la redondance du DNS. La supervision permettra à l'admin' système de se dire « ah, il faut réparer ns2.example.com, BIND a encore crashé »

      • [^] # Re: Plus de fonctions ????

        Posté par . Évalué à 6.

        Par curiosité, c'est quoi l'intérêt des performances, pour un déploiement lambda ?

        • [^] # Commentaire supprimé

          Posté par . Évalué à 4. Dernière modification le 05/01/14 à 21:59.

          Ce commentaire a été supprimé par l'équipe de modération.

          • [^] # Re: Plus de fonctions ????

            Posté par (page perso) . Évalué à 3.

            Outre l'argument « petite machine qu'on veut économiser », il y a un argument de sécurité/résilience : les attaques par déni de service étant fréquentes, il faut de la marge. Les serveurs racine ou des TLD ont typiquement une marge de 20 à 40 (pouvoir encaisser 20 à 40 fois le trafic habituel).

    • [^] # Re: Plus de fonctions ????

      Posté par (page perso) . Évalué à 3.

      L'article sur le blog de Stéphane Bortzmeyer est très intéressant, tu y trouveras la réponse à tes questions (tu as saisi l'appeau a trolls un peu vite :-)

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Commentaire supprimé

        Posté par . Évalué à -2.

        Ce commentaire a été supprimé par l'équipe de modération.

        • [^] # Re: Plus de fonctions ????

          Posté par . Évalué à 10.

          Je ne suis pas sûr que le blog de Stéphane Bortzmeyer ait besoin de linuxfr. Moi, j'aime bien ces journaux parce qu'ils donnent suffisamment d'informations et pour ceux qui veulent un peu plus, ils vont sur le blog. C'est bien dosé, c'est pas un journal bookmark, ça me convient.

          • [^] # Re: Plus de fonctions ????

            Posté par . Évalué à 3.

            Personnellement dire qu'un logiciel existe et qu'il est aussi rapide qu'un autre mais qu'il a des fonctionnalités en plus, je n'appellerais pas ça suffisant. C'est un journal bookmark. C'est probablement intéressant que je ne trouve pas que ça ai sa place dans les journaux. Il faudrait une sorte de twetter sur linuxfr pour ce genre de choses (ou alors simplement les donner sur la tribune comme d'autres le font déjà).

            Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: Plus de fonctions ????

          Posté par (page perso) . Évalué à 10.

          Mettre quelque chose sur LinuxFr procure un bon référencement ? Ça m'intéresse, alors :-)

          • [^] # Re: Plus de fonctions ????

            Posté par (page perso) . Évalué à 9.

            Tant que l'encoding de la page liée est correct, ça passe.

            « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # Paquets

    Posté par (page perso) . Évalué à 9.

    En même temps, il n'est pas disponible par défaut dans Debian Wheezy (ni dans CentOS pour ce que j'ai trouvé), ça refroidit beaucoup l'adoption. Par contre, il est dans testing, il faudra comparer l'utilisation dans 2 ans.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Paquets

      Posté par (page perso) . Évalué à 3.

      Il est dans les backports.

      Tout le monde a un cerveau. Mais peu de gens le savent.

      • [^] # Re: Paquets

        Posté par (page perso) . Évalué à 7.

        Vu que l'équipe sécurité de Debian ne bosse pas sur les backports, ce n'est pas super intéressant pour un truc critique comme un DNS.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

        • [^] # Re: Paquets

          Posté par . Évalué à -5. Dernière modification le 05/01/14 à 09:40.

          Quel dommage, pas de patch made-in-debian pour créer des failles de sécurité :)

          *edit : ceci est un troll assumé

        • [^] # Re: Paquets

          Posté par . Évalué à 2.

          Ça ne remplace pas un bon suivi mais tu peux déjà utiliser un MAC type AppArmor, c'est bien intégré dans Wheezy et il est relativement simple d'écrire un profil.

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: Paquets

      Posté par (page perso) . Évalué à 3.

      Je pense que tu peux demander une inclusion dans epel pour knot. Visiblement, c'était prévu d’après les branches dans git, mais pas fait. Au vue du paquet, il manque ragel pour epel6, et je viens de tester, ça compile sans souci.

      Donc, je pense que le seul souci va être d'écrire un initscript pour epel6, donc rien d'insurmontable.

      • [^] # Re: Paquets

        Posté par (page perso) . Évalué à 3.

        Je ne pense pas que ce soit insurmontable (surtout qu'il y a un paquet fedora) mais le fait que ce ne soit pas par défaut doit refroidir beaucoup les gens qui n'ont pas un grand avantage à le choisir.

        « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # PowerDNS

    Posté par (page perso) . Évalué à 6.

    Bonsoir,

    il y a aussi Power DNS, (paquet pdns dans Debian) dont les fonctions sont séparée dans différents programmes.
    On y trouve le récursif, celui qui est autoritaire, et il y a un paquet pour pouvoir utiliser le langage Lua.

    J'essayerai tantôt celui-là, DNS Knot.

    Bonne soirée
    G

    • [^] # Re: PowerDNS

      Posté par (page perso) . Évalué à 7.

      Un adjudant est autoritaire mais un serveur DNS fait autorité.

    • [^] # Re: PowerDNS

      Posté par (page perso) . Évalué à 3.

      PowerDNS, c'est un serveur qui utilise une base de données SQL il me semble ? C'est là une caractéristique notable, parce qu'éliminatoire pour pas mal de gens.

      • [^] # Re: PowerDNS

        Posté par (page perso) . Évalué à 3.

        Il fonctionne parfaitement bien avec des fichiers de zone.
        C'est le mode par défaut.

        • [^] # Re: PowerDNS

          Posté par . Évalué à 3.

          Du coup c'est quoi l'avantage par rapport à Bind ?

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

          • [^] # Re: PowerDNS

            Posté par (page perso) . Évalué à 2.

            C'est plutôt la question inverse qu'il faut se poser.
            Bind a un historique dégueux question sécurité (certains prétendent que ça s'améliore, je n'ai pas vérifié). Il consomme (nettement) plus de ressources que les autres. Les rôles ne sont pas séparés. J'oublie sûrement des choses plus importantes vu que je ne l'utilise pas.

            Les autres DNS ont leur lot de problèmes, mais BIND est franchement le pire.
            Il « juste marche » lorsqu'on n'est pas regardant sur la qualité. Les tutos sont abondants, ça suffit à en faire la référence.

            Le plus épatant que j'ai rencontré est djbdns. Mais un gros inconvénient purement humain le rendait moyennement attractif :-)
            Il y a peut-être des dérivés maintenant, je n'ai pas vérifié non plus.

            • [^] # Re: PowerDNS

              Posté par (page perso) . Évalué à 6. Dernière modification le 07/01/14 à 17:32.

              Le plus épatant que j'ai rencontré est djbdns.

              Ça doit être le pire que j'ai rencontré au contraire. Logiciel non maintenu : de nouvelles fonctionnalités peuvent apparaître dans le DNS (IPv6, DNSSEC), il ne les prendra pas en charge puisque son auteur ne le mettra jamais à jour. Il utilise une syntaxe parfaitement non standard pour ses fichiers de zone. Il utilise un système de démarrage et de supervision de service alien.

              Bref, c'est le serveur DNS qui était génial le jour où on a décidé de l'utiliser, puis qui devient au fil du temps une plaie donc il est dur de se débarrasser.

              • [^] # Re: PowerDNS

                Posté par . Évalué à 6. Dernière modification le 07/01/14 à 17:59.

                Le plus épatant que j'ai rencontré est djbdns.

                Ça doit être le pire que j'ai rencontré au contraire. […]

                Et d'une manière générale, l'auteur étant plus intelligent que tout le monde, tout est re-fait a sa manière, pas seulement les mécanismes de démarrage ou la gestion des zones mais aussi les RFC qu'il choisit d'implémenter ou non et comment (de mémoire, TSIG, IPv6, DNSSEC, EDNS0, Notify pour les AXFR, wildcard…) … comme pour l'immense majorité de ses softs.

                Certains forks adressent (partiellement) ces problèmes. Partiellement, car le FUD de l'auteur semble avoir eu un impact non négligeable sur sa communauté d'utilisateurs, qui continue a suivre certains de ses choix.

                • [^] # Re: PowerDNS

                  Posté par (page perso) . Évalué à 7.

                  Tu peux ajouter à ta liste : service de nom faisant autorité en TCP. Oui, tinydns n'écoute qu'en UDP, parce qu'en TCP, « ça ne sert à rien ».

            • [^] # Re: PowerDNS

              Posté par (page perso) . Évalué à 3.

              Les rôles ne sont pas séparés.

              Tu penses au service de nom et au service de résolution récursive ? Cette non séparation est parfois un immense avantage au contraire, lorsque, disons, on est derrière un NAT : avec des services séparés, il faut configurer explicitement le résolveur pour interroger le serveur de nom avec son adresse locale pour les noms de domaines qu'on sert, sinon il essaiera une résolution récursive, et échouera à contacter l'autre serveur qui est derrière le même NAT que lui.

  • # Tiens, encore cz.nic

    Posté par . Évalué à 5.

    Apparemment, c'est fait par des collègues des développeurs de l'excellent BIRD http://bird.network.cz/, au sein du labo de l'association qui gère le TLD .cz : https://labs.nic.cz/. Balaises ces thèques !

  • # dnsmask

    Posté par . Évalué à 2.

    Personnellement, j'utilise dnsmask.

    Ça me permet de donner des noms à mes machines locales, ce qui est uniquement ce dont j'ai besoin.

    C'est très simple à configurer puisque ça prend simplement les entrées de /etc/hosts. On lui dit ensuite où se trouve un dns source pour le vrai internet et ça roule.

    • [^] # Re: dnsmasq

      Posté par . Évalué à 2.

      Ce n'est pas vraiment le même type de logiciel.

      Knot ne fait pas DNS récursif, dnsmasq si (même si, en réalité, il ne fait que transférer les requêtes DNS qu'il ne peut résoudre vers un vrai serveur DNS récursif)…

      • [^] # Re: dnsmasq

        Posté par . Évalué à 2.

        En effet, mais ça reste une alternative à BIND pour ceux qui veulent gérer un petit réseau domestique sans se prendre la tête.

        Avant de connaître ce petit bijou, j'étais persuadé d'être obligé de me cogner la configuration de BIND. Pour un truc aussi bête que donner un nom à 3 machines, j'ai été réellement soulagé de découvrir dnsmask.

        • [^] # Re: dnsmasq

          Posté par (page perso) . Évalué à 2.

          Dnsmask fonctionne très bien avec pdns_recursor (PowerDNS reccursif).

        • [^] # Re: dnsmasq

          Posté par (page perso) . Évalué à 4.

          Avant de connaître ce petit bijou, j'étais persuadé d'être obligé de me cogner la configuration de BIND.

          Comment ça, te cogner la configuration de BIND ? Dans les distributions bien conçues, il est livré avec une configuration tout à fait fonctionnelle, et il faut trois lignes et un fichier de zone pour ajouter une zone.

  • # Yadifa ?

    Posté par . Évalué à 2.

    A propos, Stephane, sais tu ou en est le développement de http://www.yadifa.eu/ ? Celui-ci semblait prometteur apres les premières annonces. Malheureusement la roadmap semble peu suivie et seuls des correctifs mineurs semblent avoir été publiés.

    • [^] # Re: Yadifa ?

      Posté par (page perso) . Évalué à 2.

      Oui, j'ai en effet l'impression que c'est pas mal endormi. Mais, bon, pour les serveurs faisant autorité, entre BIND, NSD et Knot, on a déjà un bon choix.

Suivre le flux des commentaires

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