Où le cache DNS est-il stocké pour Ubuntu?

Où puis-je trouver le stockage de cache DNS réel sur un système de fichiers Ubuntu?

J’ai un script PHP qui utilise libcurl pour explorer plusieurs centaines de pages sur le même domaine, et je l’ai configuré pour utiliser un cache DNS global, et définir le délai d’attente du cache DNS à 5 minutes (300 secondes), car certains des appels étaient suspendus en raison de problèmes de résolution de noms (trop de demandes de résolution de noms pour le même domaine, le serveur devait en rejeter / en suspendre).

Une autre question que je me pose est la suivante: est-il possible d’avoir un espace de stockage permanent pour les mappages d’adresses de domaine à IP, de sorte que vous n’ayez même pas à utiliser la mise en cache DNS dans libcurl? puis-je utiliser /etc/resolv.conf pour stocker un nom de domaine externe et le mapper à son adresse IP, cela fonctionnerait-il?

J’ai été dans le développement web pendant un certain temps maintenant, donc je suis assez familier avec la ligne de commande Linux et de jouer avec les configurations / parameters, mais je n’ai pas été en mesure de trouver une réponse à cette question

Je suppose que je pourrais simplement faire en sorte que les requêtes libcurl utilisent l’adresse IP des sites Web que je tire, mais je préférerais qu’elle utilise le nom de domaine à des fins de journalisation afin de pouvoir surveiller tout problème lié aux demandes.

Tout d’abord, vous recherchez le cache DNS géré par curl (et non un cache global du système), car à moins d’exécuter un résolveur de mise en cache (serveur LDNS), la responsabilité de mettre en cache les enregistrements DNS incombe aux applications.

Deuxièmement, vous pouvez utiliser /etc/hosts pour stocker des mappages. Si votre bibliothèque de résolveurs ne préfère pas / etc / hosts sur une recherche DNS, vous devez changer l’ordre de recherche dans /etc/host.conf . Vous devriez voir une ligne comme:

 order hosts,bind 

hosts ici indique aux utilitaires de bibliothèque de résolveurs de gethostbyname , etc., de regarder d’abord le fichier /etc/hosts .

Vous devez utiliser /etc/hosts pour stocker les adresses IP et les hôtes