Modifications entre les versions 1 et 6 (s'étendant sur 5 versions)
Version 1 à la date du 2007-06-26 23:42:55
Taille: 1355
Éditeur: ThomasNoël
Commentaire: ebauche...
Version 6 à la date du 2010-02-23 15:45:34
Taille: 4063
Éditeur: WillyManga
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 1: Ligne 1:
Pour mettre en place un serveur DNS, le logiciel recommandé à l'AUF est BIND version 9. Le paquet Debian correspondant est {{{bind9}}}. Pour mettre en place un service DNS, le logiciel recommandé à l'AUF est BIND version 9. Le paquet Debian correspondant est {{{bind9}}}.
Ligne 3: Ligne 3:
<!> Cette page a été écrite à toute vitesssssse, merci aux DNSmen de la ré-écrire un peu plus proprement et plus en détail. /!\ Cette page a été écrite à toute vitesssssse, merci aux DNSmen de la ré-écrire un peu plus proprement et plus en détail.
Ligne 7: Ligne 7:
 {{{# aptitude install bind9}}} L'installation du service se fait simplement avec :
{{{
# aptitude install bind9
}}}
Ligne 9: Ligne 12:
Cela installe le démon ''named''. BIND (''Berkeley Internet Name Daemon'') est le nom du système global, ''named'' le nom du logiciel serveur DNS associé. Cependant il est fortement recommandé (voir obligatoire !) de [[/Sécurisation|sécuriser le service DNS]].
Ligne 11: Ligne 14:
<!> Attention, le paquet {{{bind}}} est la version 8.x de BIND, ce n'est pas la même chose ! Veillez à bien installer {{{bind9}}} (avec un 9 à la fin). {i} Le nom du logiciel effectuant le service DNS (et donc du processus) est `named`, tandis que BIND (''Berkeley Internet Name Daemon'') est le nom du projet.
Ligne 13: Ligne 16:
/!\ Veillez à bien installer `bind9` (avec un 9 à la fin). Le paquet `bind` fournit quant à lui la version 8.x de BIND, ce qui n'est pas la même chose !
Ligne 16: Ligne 20:
 * ajouter une zone : créer le fichier /etc/bind/db.nom.de.la.zone puis référencer la zone dans /etc/bind/named.conf.local  * Ajouter une zone : créer le fichier `/etc/bind/db.nom.de.la.zone` puis référencer la zone dans `/etc/bind/named.conf.local`
Ligne 18: Ligne 22:
Quand une zone est ajoutée ou mise à jour : {{{/etc/init.d/bind reload}}}. Cependant {{{rndc}}} (''remote name daemon control'') permet d'être plus fin dans les ordres envoyés à named. Voir {{{man rndc}}}. Quand une zone est ajoutée ou mise à jour, lancez `invoke-rc.d bind9 reload` ou encore `rndc reload`.

{i} L'outil `rndc` (''remote name daemon control'') permet d'être plus fin dans les ordres envoyés à `named`, voir `man rndc`.

== view/recursion ==

Il y a peu, en testant des outils en ligne de vérification de DNS, j'ai remarqué une erreur importante dans mon DNS, j'étais en "Open Server". Autrement dit, n'importe qui, dans le monde, peut utiliser mon DNS pour effectuer des requêtes autre que demander des informations sur mon réseau interne. Au passage, on peut utiliser cette propriété pour fournir de mauvaises informations au cache de Bind. Une documentation était fournit pour éviter d'être en "Open Server" : [[http://www.cymru.com/Documents/secure-bind-template.html]].
Le livre de Bind fournit aussi une bonne documentation : [[http://www.oreillynet.com/pub/a/oreilly/networking/news/views_0501.html]]

 * Les "view" servent a présenter différentes visions de notre réseau, suivant la "personne" qui interroge notre serveur DNS. Par exemple, vous pouvez vouloir réserver certaines machines d'une partie de votre réseau à un usage interne et donc qu'elles ne soient pas visibles de l'extérieur, ou bien vouloir que votre réseau FOAD puissent voir une machine qui ne doit pas être vu de votre réseau grand publique.
 * L'option "recursion", qui porte la valeur yes/no, autorise ou non votre serveur DNS à interroger les autres serveurs DNS. Ce qui fait qu'on est "Open Server" ou non.

De manière basique, on peut donc créer une vue "interne" pour notre réseau, notre dmz, notre vpn, etc... qui autorise les requête récursives, et une vue "externe" qui n'autorise pas ce genre de requête.

{{{
// fichier /etc/bind/named.conf.local

acl "rezointerne" {
   192.168.1.0/24; // notre réseau interne
   10.XX.0.0/24; // notre rpv
   XX.XX.XX.XX/28; // notre plage d'adresse publique
};

view "interne" {
   match-clients { rezointerne; };
   recursion yes;

   zone "refer.ga" {
        type master;
        file "/etc/bind/local/interne.refer.ga.hosts";
   };
};

view "externe" {
   match-clients { any; };
   recursion no;

   zone "refer.ga" {
        type master;
        file "/etc/bind/local/externe.refer.ga.hosts";
   };
};
}}}

 * Il est possible que le fichier soit le même, mais il est aussi possible d'avoir deux fichiers différents.

/!\ toutes vos zones doivent être définit dans toutes les vues (pour si vous en avez plus de 2). Donc si vous avez 2 vues, mais 15 zones, par exemple, vous pouvez intégrer vos zones dans un fichier à part utiliser un ''include'' pour que ce soit plus lisible.
Ligne 23: Ligne 74:
 * le site de BIND : http://www.isc.org/sw/bind/  * le site de BIND : http://www.isc.org/software/bind/ 
Ligne 28: Ligne 79:
CatégorieEbauche CatégorieEbauche [[CatégorieRecommandationsARI]]

Pour mettre en place un service DNS, le logiciel recommandé à l'AUF est BIND version 9. Le paquet Debian correspondant est bind9.

/!\ Cette page a été écrite à toute vitesssssse, merci aux DNSmen de la ré-écrire un peu plus proprement et plus en détail.

Installation

L'installation du service se fait simplement avec :

# aptitude install bind9

Cependant il est fortement recommandé (voir obligatoire !) de sécuriser le service DNS.

{i} Le nom du logiciel effectuant le service DNS (et donc du processus) est named, tandis que BIND (Berkeley Internet Name Daemon) est le nom du projet.

/!\ Veillez à bien installer bind9 (avec un 9 à la fin). Le paquet bind fournit quant à lui la version 8.x de BIND, ce qui n'est pas la même chose !

Configuration

  • Ajouter une zone : créer le fichier /etc/bind/db.nom.de.la.zone puis référencer la zone dans /etc/bind/named.conf.local

Quand une zone est ajoutée ou mise à jour, lancez invoke-rc.d bind9 reload ou encore rndc reload.

{i} L'outil rndc (remote name daemon control) permet d'être plus fin dans les ordres envoyés à named, voir man rndc.

view/recursion

Il y a peu, en testant des outils en ligne de vérification de DNS, j'ai remarqué une erreur importante dans mon DNS, j'étais en "Open Server". Autrement dit, n'importe qui, dans le monde, peut utiliser mon DNS pour effectuer des requêtes autre que demander des informations sur mon réseau interne. Au passage, on peut utiliser cette propriété pour fournir de mauvaises informations au cache de Bind. Une documentation était fournit pour éviter d'être en "Open Server" : http://www.cymru.com/Documents/secure-bind-template.html. Le livre de Bind fournit aussi une bonne documentation : http://www.oreillynet.com/pub/a/oreilly/networking/news/views_0501.html

  • Les "view" servent a présenter différentes visions de notre réseau, suivant la "personne" qui interroge notre serveur DNS. Par exemple, vous pouvez vouloir réserver certaines machines d'une partie de votre réseau à un usage interne et donc qu'elles ne soient pas visibles de l'extérieur, ou bien vouloir que votre réseau FOAD puissent voir une machine qui ne doit pas être vu de votre réseau grand publique.
  • L'option "recursion", qui porte la valeur yes/no, autorise ou non votre serveur DNS à interroger les autres serveurs DNS. Ce qui fait qu'on est "Open Server" ou non.

De manière basique, on peut donc créer une vue "interne" pour notre réseau, notre dmz, notre vpn, etc... qui autorise les requête récursives, et une vue "externe" qui n'autorise pas ce genre de requête.

// fichier /etc/bind/named.conf.local

acl "rezointerne" {
   192.168.1.0/24; // notre réseau interne
   10.XX.0.0/24; // notre rpv
   XX.XX.XX.XX/28; // notre plage d'adresse publique
};

view "interne" {
   match-clients { rezointerne; };
   recursion yes;

   zone "refer.ga" {
        type master;
        file "/etc/bind/local/interne.refer.ga.hosts";
   };
};

view "externe" {
   match-clients { any; };
   recursion no;

   zone "refer.ga" {
        type master;
        file "/etc/bind/local/externe.refer.ga.hosts";
   }; 
};
  • Il est possible que le fichier soit le même, mais il est aussi possible d'avoir deux fichiers différents.

/!\ toutes vos zones doivent être définit dans toutes les vues (pour si vous en avez plus de 2). Donc si vous avez 2 vues, mais 15 zones, par exemple, vous pouvez intégrer vos zones dans un fichier à part utiliser un include pour que ce soit plus lisible.

Pour aller plus loin

Quelques liens :


CatégorieEbauche CatégorieRecommandationsARI

DNS (dernière édition le 2012-01-30 08:49:53 par NacerAdamouSaidou)