Split brain DNS sur macOS 🤯

Cet article est là pour donner une astuce rapide si vous souhaitez éviter de commuter d'un résolveur DNS à un autre (lorsque vous changez d'environnement).

A noter qu'il également possible d'utiliser des outils comme Unbound localement sur votre poste, le but de cet article est de montrer comment le faire directement avec les outils proposés par Apple. 😌

Apple macOS fournit l'outil scutil qui va nous permettre de modifier la configuration système.

Pour spécifier à votre système d'utiliser un résolveur spécifique pour un domaine donné, il faut utiliser la syntaxe suivante :

sudo echo 'nameserver 10.0.0.1' > /etc/resolver/example.org
sudo echo 'nameserver 10.0.0.2' >> /etc/resolver/example.org

A noter que la commande dig ne prendra pas les résolveurs déclarés de cette sorte. Il faudra donc spécifier l'adresse du résolveur lors de la tentative de résolution. 😎

Exemple :

dig @10.0.0.1 -t A example.org

Sinon, vous pouvez utiliser l'outil directement fournit par Apple pour réaliser une résolution DNS :

dscacheutil -q host -a name example.org

Et voilà ! C'était ma petite astuce du jours. 🤓