Alouit.fr

Menu

Cache DNS Mac OS

Cache DNS Mac OS
4.8 (95%) 4 vote[s]

Comment installer un Cache DNS sur Mac OS


Dans ce tutoriel, je vais vous expliquer comment mettre en place un cache DNS (prenons comme exemple un Mac faisant office de routeur).

Macports

Pré-requis: Macports (installation via .dmg sur http://www.macports.org/install.php, disponible pour Tiger, Leopard, Snow Leopard, et Lion).
A noter, Macports nécessite le kit développeur Apple (Apple Xcode Developer Tools), ainsi que X11. Une fois Macports installé, mettons-le à jour:
sudo port -v selfupdate

Il faut maintenant installer notre cache DNS, soit dnsmasq.
sudo port install dnsmasq

Configuration

Éditons le fichier de configuration

sudo nano /opt/local/etc/dnsmasq.conf

Vérifiez que dnsmasq va utiliser vos DNS définies (resolv-file=/etc/resolv.conf / ligne 29)

Définir l’interface réseaux qui acceptera les requêtes DNS (interface=en0 / ligne 85)

Définir les adresses d’écoutes (listen-address=127.0.0.1, 192.168.x.xxx / ligne 90)

  • Nous ne voulons pas utiliser le DHCP sur l’interface réseau en0 (no-dhcp-interface=en0 / ligne 94)
  • Si oui, laissez commenter no-dhcp-interface=, et définissez une plage dhcp (dhcp-range=192.168.X.XX,192.168.X.XXX 12h / ligne 136), créer le dossier /var/lib/misc/ (sudo mkdir /var/lib/misc/) et créer le dossier dnsmasq.leases sudo touch /var/lib/misc/dnsmasq.leases)

Le daemon dnsmasq doit-être lancé au démarrage de la machine
sudo port load dnsmasq
Si vous n’avez pas l’habitude de manipuler MacPorts, je vous conseille de lire son manuel (man macports!)

Pour tester le cache DNS, rien de plus simple, définissez l’adresse IP de la machine en serveur DNS, et essayer de naviguer.

Statistiques

Sans le cache DNS :
alex$ dig google.fr|grep "Query time"
Query time: 26 msec
alex$ dig google.fr|grep "Query time"
Query time: 38 msec
alex$ dig google.fr|grep "Query time"
Query time: 25 msec

Configuration

Avec le cache DNS :
alex$ dig google.fr|grep "Query time"
Query time: 25 msec
alex$ dig google.fr|grep "Query time"
Query time: 9 msec
alex$ dig google.fr|grep "Query time"
Query time: 9 msec

Conclusion

Nous pouvons clairement voir un gain de temps considérable de la mise en cache.

Cette méthode de mise en cache est particulièrement efficace quand un grand nombre de machines sont connectées, elle permet d’accroître la rapidité de navigation, et de réduire le trafic internet inutile (répétition de requêtes DNS).