PowerDNS recursor est une open source, haut de gamme, libre, serveur de noms portable de résolution et de haute performance, un logiciel en ligne de commande qui permet aux administrateurs système un ensemble riche en fonctionnalités et complète technologies liées à l'email et au nommage Internet. Il fait partie de la suite logicielle PowerDNS bien connue.
PowerDNS est un logiciel de serveur de noms de démon open source écrite à partir de zéro que fournir une haute performance, moderne et avancée seule autorité nameserver. Il s'interface avec presque toutes les bases de données, et en conformité avec tous les documents standards DNS pertinents (Domain Name System).
Caractéristiques en un coup d'oeil
Les principales caractéristiques comprennent un support complet pour tous les goûts populaires, soutien DNS64, la possibilité de reconfigurer sans interruption de service, le soutien aux mesures de sécurité et des listes de blocs, l'accès à distance et locales, puissantes mesures anti-usurpation d'identité, reconditionner réponse, question interception, NXDOMAIN redirection, fichiers de zone BIND simples, API de contrôle direct et intégré génération de réponse scénarisé basé sur Lua.
De plus, il inclut des fonctions de premier ordre communes à tous les produits PowerDNS, notamment la prise en charge d'IPv4 (UDP et TCP), IPv6 (UDP et TCP), haute performance, SNMP (Simple Network Management Protocol) en lecture seule statistiques, ainsi que des graphiques en temps réel grâce à des statistiques à interroger à distance.
PowerDNS Recursor est un logiciel très puissant capable de gérer des centaines de millions de résolutions DNS, soutenu par plusieurs processeurs et la même fonctionnalité de script de pointe utilisée sur le produit PowerDNS Authoritative Server. C'est un programme de résolution DNS très flexible et performant écrit spécialement pour les systèmes GNU / Linux.
Sous le capot et la disponibilité
PowerDNS est disponible sur toutes les principales distributions Linux et utilise une architecture backend flexible, spécialement conçue pour permettre l'accès aux informations DNS à partir de n'importe quelle source de données. Le logiciel est entièrement écrit dans le langage de programmation C ++ et il est disponible en téléchargement en tant qu'installateur natif pour les systèmes d'exploitation Ubuntu / Debian et Red Hat / Fedora, ainsi qu'une archive source. Il a été testé avec succès sur des plates-formes matérielles 32 bits et 64 bits.
Quoi de neuf dans cette version:
- Améliorations:
- # 6550, # 6562: ajout d'une option de sous-arborescence au noeud final de vidage de cache de l'API.
- # 6566: utilisez un canal distinct et non bloquant pour distribuer les requêtes.
- # 6567: Déplacez la gestion de carbon / webserver / control / stats dans un thread séparé.
- # 6583: Ajoutez les versions _raw de QName / ComboAddresses à l'API FFI.
- # 6611, # 6130: Mettre à jour les années de copyright jusqu'en 2018 (Matt Nordhoff).
- # 6474, # 6596, # 6478: Correction d'un avertissement sur botan & gt; = 2.5.0.
- Corrections de bugs:
- # 6313: Comptez une recherche dans une zone d'authentification interne comme un échec de cache.
- # 6467: N'augmentez pas les compteurs de validations DNSSEC lors de l'exécution avec process-no-validate.
- # 6469: Respectez le délai d'attente AXFR lors de la connexion au serveur RPZ.
- # 6418, # 6179: Augmentez la taille de paquet de MTasker pour éviter le crash lors du déroulement de l'exception (Chris Hofstaedtler).
- # 6419, # 6086: Utilisez l'heure SyncRes dans nos tests unitaires pour vérifier la validité du cache (Chris Hofstaedtler).
- # 6514, # 6630: Ajoutez -rdynamic à C {, XX} FLAGS lorsque nous construisons avec LuaJIT.
- # 6588, # 6237: Retardez le chargement des zones RPZ jusqu'à ce que l'analyse soit terminée, en corrigeant une condition de concurrence.
- # 6595, # 6542, # 6516, # 6358, # 6517: Réorganiser inclut pour éviter le conflit L.
Nouveautés dans la version:
- Corrections de bogues:
- # 5930: Ne supposez pas que l'enregistrement TXT est le premier enregistrement pour secpoll
- # 6082: N'ajoutez pas d'enregistrements non-IN au cache
Nouveautés dans la version 4.0.6:
- Corrections de bugs:
- Utiliser l'ECS entrant pour la recherche de cache si use-incoming-edns-subnet est défini
- lors de la création d'un masque de réseau à partir d'une comboaddress, nous avons négligé de mettre à zéro le port. Cela pourrait conduire à une prolifération de masques de réseau.
- Ne prenez pas la source ECS initiale pour une portée si EDNS est désactivée
- définit également d_requestor sans Lua: la logique ECS en a besoin
- Correction de IXFR ignorant la partie des ajouts de la dernière séquence
- Traite la taille de la charge utile du demandeur inférieure à 512 égale à 512
- crée des entiers URI 16 bits, corrige le ticket # 5443
- citation d'unbreak; corrige le ticket # 5401
- Améliorations:
- avec cela, le sous-réseau client EDNS devient compatible avec le cache de paquets, en utilisant la fonction de réponse variable existante.
- Supprimez juste assez d'entrées du cache, pas une de plus que demandé
- Déplacer les entrées de cache expirées vers l'avant pour qu'elles soient supprimées
- a changé l'adresse IPv6 de b.root-servers.net
- e.root-servers.net a maintenant IPv6
- bonjour décaféins (ED25519 et ED448) Test d'algorithme 15: 'Decaf ED25519' - & gt; 'Decaf ED25519' - & gt; 'Decaf ED25519' Signature & vérifier ok, signature 68usec, vérifier 93usec Test d'algorithme 16: 'Decaf ED448' - & amp; 'Decaf ED448' - & gt; 'Decaf ED448' Signature & vérifier ok, signature 163usec, vérifier 252usec
- n'utilisez pas le signataire libdecaf ed25519 lorsque libsodium est activé
- ne pas hacher le message dans le signataire ed25519
- Désactiver use-incoming-edns-subnet par défaut
Quoi de neuf dans la version 4.0.4:
- Corrections de bugs:
- commit 658d9e4: Vérification de la signature de TSIG sur IXFR (Security Advisory 2016-04)
- commit 91acd82: Ne pas analyser les RRs parasites dans les requêtes lorsque nous n'en avons pas besoin (Security Advisory 2016-02)
- commit 400e28d: Correction d'une vérification de longueur incorrecte dans DNSName lors de l'extraction de qtype ou de qclass
- commit 2168188: rec: Attend après démoniser pour démarrer les threads RPZ et protobuf
- commit 3beb3b2: En (ré) amorçant, récupère les enregistrements NS racine
- commit cfeb109: rec: Corrige src / dest inversion dans le message protobuf pour les requêtes TCP
- commit 46a6666: optionnel NSEC3 et correctifs forward non sécurisés
- commit bb437d4: Sur RPZ customPolicy, suivez le CNAME résultant
- commit 6b5a8f3: DNSSEC: ne pas faire de faux sur les DS configurés à zéro
- commit 1fa6e1b: Ne plante pas sur une boucle de requête vide
- commit bfb7e5d: Définit le résultat à NoError avant d'appeler preresolve
- Ajouts et améliorations:
- commit 7c3398a: Ajoute max-récursion-depth pour limiter le nombre de récursivité interne
- commit 3d59c6f: Correction de la construction avec le support ECDSA désactivé dans libcrypto
- commit 0170a3b: Ajoute requestorId et quelques commentaires au fichier de définition protobuf
- commit d8cd67b: Rendre les zones redirigées négcache
- commit 46ccbd6: Les enregistrements de cache pour les zones qui ont été déléguées à partir d'une zone redirigée
- commettre 5aa64e6, valider 5f4242e et valider 0f707cd: DNSSEC: Implémenter la recherche de clé en fonction des coupures de zone
- commit ddf6fa5: rec: Ajout du support pour boost :: context & gt; = 1.61
- commit bb6bd6e: Ajoute getRecursorThreadId () à Lua, identifiant le thread courant
- commit d8baf17: Gère les CNAME au sommet des zones sécurisées vers d'autres zones sécurisées
Nouveautés dans la version 4.0.0:
- Nous avons changé beaucoup de choses en interne au serveur de noms:
- Déplacé vers C ++ 2011, une version plus puissante de C ++ qui nous a permis d'améliorer la qualité de l'implémentation dans de nombreux endroits.c
- Implémenter une infrastructure dédiée pour traiter les noms DNS qui est entièrement "DNS Native"; et a besoin de moins s'échapper et de ne pas s'échapper.
- Basculé vers le stockage binaire des enregistrements DNS dans tous les emplacements.
- Déplacement des listes de contrôle d'accès dans un arbre de masque réseau dédié.
- Implémente une version de RCU pour les changements de configuration
- Instrumenté notre utilisation de l'allocateur de mémoire, réduit le nombre d'appels malloc sensiblement.
- L'infrastructure du crochet Lua a été refaite en utilisant LuaWrapper; Les anciens scripts ne fonctionneront plus, mais les nouveaux scripts sont plus faciles à écrire sous la nouvelle interface.
- En raison de ces changements, PowerDNS Recursor 4.0.0 est presque un ordre de grandeur plus rapide que la branche 3.7.
- Traitement DNSSEC: si vous demandez des enregistrements DNSSEC, vous les obtiendrez.
- Validation DNSSEC: si configuré, PowerDNS effectue la validation DNSSEC de vos réponses.
- L'API de script Lua complètement remaniée est "DNSName". natif et donc beaucoup moins sujette aux erreurs, et probablement plus rapide pour les scénarios les plus couramment utilisés. Charge et indexe une liste de règles personnalisées de 1 million de domaine en quelques secondes.
- Nouvelle adresse asynchrone par domaine, par adresse IP, moteur de recherche. Cela permet à PowerDNS de consulter un service externe en temps réel pour déterminer l'état du client ou du domaine. Cela pourrait par exemple signifier rechercher l'identité réelle d'un client à partir d'un serveur DHCP basé sur l'adresse IP (option 82 par exemple).
- Support RPZ (à partir du fichier, via AXFR ou IXFR). Cela charge la plus grande zone de Spamhaus en 5 secondes sur notre matériel, contenant environ 2 millions d'instructions.
- Tous les caches peuvent maintenant être effacés sur les suffixes, en raison de l'ordre canonique.
- Beaucoup, beaucoup plus de métriques de performance pertinentes, y compris les mesures de performance faisant autorité en amont ('est-ce moi ou le réseau qui est lent').
- Prise en charge du sous-réseau client EDNS, y compris la connaissance du cache des réponses variant sous le réseau.
- DNSSEC:
- Comme indiqué dans la section des fonctionnalités ci-dessus, le Récursif PowerDNS dispose désormais d'un traitement DNSSEC et d'un support expérimental de validation DNSSEC. Le traitement DNSSEC signifie que le serveur de noms renvoie les enregistrements RRSIG lorsque le client le demande (au moyen du bit DO) et récupère toujours les RRSIG même si le client ne le demande pas. Il effectuera la validation et définira le bit AD dans la réponse si le client demande la validation. En DNSSEC-mode fullblown, le Récursif PowerDNS va valider les réponses et définir le bit AD dans les réponses validées si le client le demande et SERVFAIL sur des réponses bidon à tous les clients.
- Le support DNSSEC est marqué expérimental, mais fonctionnel pour l'instant, car il a 2 limitations:
- Les réponses négatives sont validées mais la preuve NSEC n'est pas entièrement vérifiée.
- Les zones qui ont un CNAME à l'apex (ce qui est 'faux' de toute façon) valident comme Bogus.
- Si vous exécutez DNSSEC et notez des domaines brisés, faites un problème.
Quoi de neuf dans la version 3.7.2:
- La partie la plus importante de cette mise à jour est un correctif pour CVE-2015-1868.
Nouveautés dans la version 3.6.2:
- commit ab14b4f: accélère la génération de servfails pour les échecs de type ezdns (annule totalement la résolution de la requête si nous touchons plus de 50 outqueries)
- commit 42025be: PowerDNS interroge maintenant l'état de sécurité d'une version au démarrage et périodiquement. Plus de détails sur cette fonctionnalité, et comment l'éteindre, peuvent être trouvés dans la section 2, "Sondage de sécurité".
- commit 5027429: Nous n'avons pas transmis l'adresse de socket 'locale' correcte à Lua pour les requêtes TCP / IP dans le récurseur. En outre, nous tenterions de rechercher un fichier de texte qui n'était pas présent sur une carte déverrouillée, ce qui pourrait entraîner des plantages. Ferme le ticket 1828, merci Winfried pour avoir signalé
- commit 752756c: Synchroniser la copie yahttp intégrée. API: remplacer l'authentification HTTP Basic avec la clé statique dans l'en-tête personnalisé
- commit 6fdd40d: ajoute #include manquant à rec-channel.hh (cela corrige le problème sous OS X).
Quoi de neuf dans la version 3.5.3:
- 3.5 a remplacé notre requête ANY par A + AAAA pour les utilisateurs avec IPv6 activé. Des mesures détaillées de Darren Gamble ont montré que ce changement avait un impact sur les performances non négligeable. Nous faisons maintenant la requête ANY comme avant, mais revenons aux requêtes A + AAAA individuelles si nécessaire. Changement dans commit 1147a8b.
- L'adresse IPv6 de d.root-servers.net a été ajoutée dans le commit 66cf384, merci Ralf van der Enden.
- Nous abandonnons maintenant les paquets avec un opcode différent de zéro (c'est-à-dire des paquets spéciaux comme DNS UPDATE) plus tôt. Si l'indicateur expérimental pdns-distributes-queries est activé, ce correctif évite un plantage. Les configurations normales n'ont jamais été sensibles à ce crash. Code dans la validation 35bc40d, ferme le ticket 945.
- La gestion TXT était quelque peu améliorée dans le commit 4b57460, fermant le ticket 795.
Quoi de neuf dans la version 3.3:
- Cette version corrige un certain nombre de problèmes, petits mais persistants off le support IPv6, et ajoute une fonctionnalité importante pour de nombreux utilisateurs des scripts Lua.
- En outre, l'évolutivité de Solaris 10 a été améliorée.
- Cette version est identique à RC3.
Quoi de neuf dans la version 3.3 RC3:
- Cette version corrige un certain nombre de problèmes mineurs mais persistants, complète le support IPv6 et ajoute une fonctionnalité importante pour de nombreux utilisateurs des scripts Lua.
- En outre, l'évolutivité de Solaris 10 a été améliorée.
- Depuis RC2, un message inoffensif mais effrayant sur une racine expirée a été supprimé.
Quoi de neuf dans la version 3.3 RC2:
- Cette version corrige un certain nombre de problèmes mineurs mais persistants, arrondit le support IPv6 et ajoute une fonctionnalité importante pour de nombreux utilisateurs des scripts Lua.
- En outre, l'évolutivité de Solaris 10 a été améliorée.
- Depuis RC1, la compilation sur RHEL5 a été corrigée.
Commentaires non trouvées