Vous allez certainement être interloqués par ce titre : nos serveurs DNS deviennent de plus en plus intelligent en automatisant de plus en plus les réponses aux requêtes DNS. Il ne s’agit pas d’une intelligence artificielle mais bien d’un développement interne sur lequel nos serveurs DNS s’appuient
Plus d’automatisation pour moins d’erreur
Habituellement basés sur des fichiers plats, des bases de données, les données des zones DNS sont stockées mais rien ne garantit une certaine homogénéité entre ces zones. Chaque zone peut avoir ses spécificités mais au lieu de répéter le stockage de tout ce qui est commun, il est préférable de mettre en commun ce qui est commun et de stocker les différences.
Des champs automatiquement appliqués
Nous avions une problématique qui était la suivante ? comment appliquer simplement et garantir à chaque fois que la configuration DKIM, SPF, MX est bien appliquée à tous les noms de domaine que nous gérons, surtout ceux où ces champs ne sont pas définis (rappelez-vous, si un champs est défini, il fait foi) ?
La réponse est dans notre développement qui va vérifier qu’un champs n’existe pas, si celui-ci n’existe pas, il applique un champs par défaut. En fonction de certain champs (comme par exemple le SPF), nous ajoutons nos entrées au champs existant. En effet, hébergeant le site internet des clients, il faut que notre infrastructure puisse effectuer les envois et soit autorisée.
Comment ça fonctionne ?
Nous avons pris le partie de faire ceci, en changeant de système grâce à un développement interne, au lieu de taper dans la base de données directement. Nos serveurs DNS consultent des micro-services qui leur donnent les réponses à fournir. Ces réponses DNS sont mises en cache au moyen de reverse proxy cache DNS et notre développement est également optimisé pour gérer une forte charge.
Les données qui ne changent jamais sont elles directement chargées / écrites en LUA dans le reverse proxy cache DNS, ainsi, beaucoup moins de requêtes sont réalisées
Plus de flexibilité
Cette solution nous apporte également plus de flexibilité. Il nous faut juste changer une configuration à chaud pour que les nouveaux paramètres soient pris en compte. Plus besoin de modifier / supprimer des données en base de données, avec toutes les problématiques que cela peut engendrer.
Nous pouvons également ajouter des vérifications entre les serveurs DNS et les serveurs Web et ainsi faire par exemple de la répartition de charge dynamiquement, faire fonctionner un site dans un mode particulier. Le serveur Web peut réagir à ce que le serveur DNS lui indique.
Les idées sont multiples et nous avons la main sur la requête DNS, ce qui nous laisse un champs des possibles infini