GoldZone Web Hosting

Rédigé par Gaëtan Trellu (goldyfruit)

Outils pour utilisateurs

Outils du site


configuration_et_optimisations_de_bind

Configuration et optimisations de Bind.

Rappels.

Après chaque modification, il est nécessaire de relancer le service Bind.

# rndc reload

La commande “rndc” est normalement la “seule” commande à utiliser pour administrer Bind. Toutes les distributions permettent de démarrer/arrêter/relancer le service via le script présent dans l'initd et cela fonctionne; cependant garder à l'esprit que “rndc” fournie plusieurs options et que c'est la méthode la plus sûr (nous verrons pourquoi plus tard). :-)

# rndc --help
Pour information, rndc signifie : Remote Name Daemon Control.

Configuration.

Bind possède plusieurs fichiers de configuration (sous Debian tout du moins), ces fichiers se trouvent dans le répertoire “/etc/bind/”. En voici la liste (non-exhaustive):

  • /etc/bind/named.conf
  • /etc/bind/named.conf.local
  • /etc/bind/named.conf.options

- Le fichier “named.conf” contient la configuration par générale de Bind.

- Le fichier “named.conf.local” doit contenir toutes les déclarations de zone. En effet dès qu'une zone (nous en reparlerons plus tard ici) est créée ce fichier doit être mis à jour afin d'inclure cette zone dans la configuration de Bind.

- Le fichier “named.conf.options” va contenir toutes les options citées ici (récursivité, forwarding, etc…), les ACL (que nous verrons ici), les vues, la gestion des logs (que nous verrons aussi ici), etc…

Fichier "named.conf.local".

Comme indiqué juste au dessus, lorsque une zone DNS est créée il est nécessaire de la déclarer dans le fichier “/etc/bind/named.conf.local”. Ce fichier est découpé en sections (options et zone).

zone "goldzoneweb.info" {
	type master;
	file "goldzoneweb.info.conf";
};

Ce qui veut dire que la zone s'appelle “goldzoneweb.info”, elle est de type “master” et fait appel au fichier “goldzoneweb.info.conf”.

Par défaut Bind va chercher les zones dans le répertoire “/var/cache/bind/” via la directive “directory ”/var/cache/bind“;” présente dans le fichier “named.conf.options”, si la zone se trouve ailleurs il est nécessaire d'indiquer le chemin complet vers cette dernière. Comme par exemple :

file "/etc/bind/zones/goldzoneweb.info.conf";

Une zone peut-être de type “master”, “slave”, “stub” ou “forward”.

  • master : Indique à Bind qu'il est autoritaire sur la zone.
  • slave : Inquique à Bind qu'il n'est pas autoritaire sur la zone.
  • stub : Indique à Bind qu'il n'est pas autoritaire sur la zone et qu'il ne doit répliquer que les serveurs de noms et non la totalité de la zone.
  • forward : Indique à Bind qu'il doit rediriger les requêtes de la zone vers un autre serveur DNS (cf. forwarders).

Transfert d'une zone.

Bind est capable de transférer la zone dont il est autoritaire (master) vers des serveurs DNS secondaires (slave).

zone "goldzoneweb.info" {
	type master;
	file "goldzoneweb.info.conf";
        allow-transfer { 192.168.0.10; };
        notify yes;
};

La directive “allow-transfer” permet le transfert d'une zone vers un serveur DNS esclave (ici 192.168.0.10). Si vous souhaitez envoyer la zone sur plusieurs serveurs la syntaxe exacte est la suivante :

allow-transfer { 192.168.0.10; 10.11.2.65; };

Bind possède deux protocoles de transfert :

  • AXFR : Protocole par défaut, il est utilisé pour envoyer la totalité de la zone vers les serveurs esclaves.
  • IXFR : Ce protocole n'envoie que les modifications effectuées sur la zone, l'avantage est un transfert peu gourmand en bande passante. N'est utilisable uniquement avec le Dynamic DNS (DDNS).

Gestion des requêtes.

La directive “allow-query” autorise (ou pas) un serveur distant à effectuer une ou plusieurs requêtes DNS (pour obtenir la version du version, le SOA, etc…) sur notre serveur.
La valeur de cette option sera différente dans le cas d'un serveur DNS local d'entreprise et dans le cas d'un serveur DNS internet.

Si les restrictions de votre serveur dédié à l'internet sont trop bloquantes, un site tel que l'AFNIC vous dira que votre serveur est mal configuré car il n'arrivera pas à récupérer les informations dont il a besoin pour valider votre configuration.

Configuration d'une zone DNS dédiée à l'internet.

zone "goldzoneweb.info" {
	type master;
	file "goldzoneweb.info.conf";
        allow-transfer { 192.168.0.10; };
        notify yes;
        allow-query { any; };
};

Vous pouvez voir le mot clés “any” qui signifie que le serveur accepte toutes les requêtes, certains diront que ce n'est pas la meilleure solution (et ils n'auront pas tout à fait tord) mais comment être sûr que les adresses IP des serveurs de l'AFNIC par exemple ne changeront pas ?

Configuration d'une zone DNS dédiée à l'intranet.

zone "goldzoneweb.info" {
	type master;
	file "goldzoneweb.info.conf";
        allow-transfer { 192.168.0.10; };
        notify yes;
        allow-query { 192.168.0.10; 192.168.0.11 };
};

Ici nous autorisons les serveurs DNS192.168.0.10” et “192.168.0.11” à envoyer des requêtes à notre serveur, ces serveurs font partis de notre intranet il n'y a donc pas de gros risques.

Pour interdire les requêtes DNS il suffit d'ajouter le mot clés “none”.

allow-query { none; };

Relance du service Bind.

Ne surtout pas oublier de relancer le service Bind afin que les modifications soient prises en compte.

# rndc reload

Voir le lien suivant pour de plus amples informations.

Changelog.

configuration_et_optimisations_de_bind.txt · Dernière modification: 2011/01/05 16:05 (modification externe)