Vous pouvez spécifier les serveurs DNS qui seront utilisés pour des domaines spécifiques, mais à ma connaissance, cela nécessite que vous exécutiez BIND (named
) sur votre machine. Dans cette situation, votre ordinateur exécuterait un processus named
et aurait son fichier de configuration configuré pour transférer les requêtes DNS pour la plupart des requêtes à votre fournisseur d'accès Internet (c'est-à-dire les serveurs DNS que vous utilisiez avant d'utiliser Open DNS de Google). Cela vous permet également de spécifier les domaines dans lesquels vous aimeriez que le serveur DNS 'alternatif' soit interrogé. Une fois que vous avez configuré named
, vous pourriez alors configurer les Préférences Système pour utiliser votre adresse de bouclage (127.0.0.1) pour les recherches DNS. Le fichier /etc/named.conf
pour cette configuration (basée sur le named.conf
par défaut d'Apple) ressemblerait à ceci :
//
// Inclure le fichier de clés
//
include "/etc/rndc.key";
// Déclare les canaux de contrôle à utiliser par l'utilitaire rndc.
//
// Il est recommandé que 127.0.0.1 soit la seule adresse utilisée.
// Cela permet également aux utilisateurs non privilégiés sur l'hôte local de gérer
// votre serveur de noms.
//
// Contrôles par défaut
//
controls {
inet 127.0.0.1 port 953 allow {any;}
keys { "rndc-key"; };
};
options {
directory "/var/named";
/*
* S'il y a un pare-feu entre vous et les serveurs de noms que vous souhaitez
* contacter, vous devrez peut-être décommenter le
* la directive query-source ci-dessous. Les versions précédentes de BIND ont toujours posé
* des questions en utilisant le port 53, mais BIND 8.1 utilise un port non privilégié
* par défaut.
*/
// query-source address * port 53;
// *** transférer toutes les recherches DNS à ces serveurs
forwarders { 8.8.8.8; 8.8.4.4; };
};
Configuration de named
Avant de démarrer named
, il peut être nécessaire de générer la clé rndc qui est utilisée pour le contrôle rndc :
sudo rndc-confgen -a
Remarque : la seule partie du fichier /etc/named.conf
par défaut qui a été modifiée ci-dessus est la ligne dans "options" qui spécifie les serveurs DNS forwarder (ceux qui répondront à la plupart de vos requêtes), ainsi qu'une entrée de zone pour la zone "spéciale" pour laquelle vous souhaitez effectuer des recherches de type horizon partagé.
Dans cet exemple, toutes les requêtes sont transférées aux serveurs DNS 8.8.8.8 et 8.8.4.4 (Google Open DNS) à l'exception des requêtes pour les enregistrements dans le domaine "test.example.com" (qui sont transférées à 10.0.0.5 et 10.0.0.6).
Options de transfert
// *** transférer toutes les recherches DNS à ces serveurs
forwarders { 8.8.8.8; 8.8.4.4; };
Zone à transférer
// *** les demandes d'enregistrements dans cette zone seront transférées à 10.0.0.5 et 10.0.0.6
zone "test.example.com" IN {
type forward;
forwarders { 10.0.0.5; 10.0.0.6; };
forward only;
};
Tester la configuration locale de named
Ensuite, vous pouvez tester votre installation de named
en l'exécutant en premier plan (avant de vous engager dans la configuration) :
sudo /usr/sbin/named -g
Dans une autre fenêtre Terminal, interrogez votre serveur DNS local pour confirmer qu'il fonctionne :
nslookup apple.com 127.0.0.1
Assurez-vous que votre zone de transfert "spéciale" est utilisée :
nslookup test.example.com 127.0.0.1
Configurer le processus named pour démarrer au démarrage
Une fois que vous voyez que les recherches fonctionnent comme prévu, vous pouvez arrêter le processus named
qui s'exécute en premier plan de la première fenêtre Terminal en envoyant une interruption en utilisant la commande clavier "Control" + "C" (^C
).
Il est possible de démarrer le serveur DNS à chaque démarrage de la machine en activant le travail de daemon de lancement pour ce processus :
sudo launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
Enfin, vous configurerez l'adresse de bouclage de la machine locale comme serveur DNS dans Préférences Système -> Réseau.
Comment supprimer la configuration et la mise en place
Cette configuration pourrait potentiellement causer des problèmes réseau (si elle n'est pas configurée correctement). Voici quelques instructions sur la manière d'annuler cette configuration :
1.) Supprimez le serveur DNS (127.0.0.1) de l'interface réseau que vous avez configurée dans Préférences Système.
2.) Désactivez le travail launchd
qui fait démarrer named
au démarrage :
sudo launchctl unload /System/Library/LaunchDaemons/org.isc.named.plist