user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 11-11-2014 18:42:57

WarLocG
#! modo de compet

[Infra-reseau] Bind9 {à completer !!}

{à completer !!}

{suggestion : Créer une section Infrastructure réseau pour tout ce qui est installation, configuration et sécurisation de services d'entreprises}

{Ce tuto sert de base pour le mémo de caymus sur les infrastructures réseaux, toute aide via des ajouts d'information sont les bienvenues
  Ce tuto viendra avec d autres tuto sur les sujets suivants:
  - parefeu iptables
  - dnssec
  - postfix / dovecot / exim4
  - openvpn / openssh
  - apache / nginx
  - squid (deja abordé par koorosh)
  - ldap / kerberos
  ... liste non exhaustive, à voir avec notre ami caymus smile
}

Bind:
  Acronyme de Berkeley Internet Name Domain.
 

https://wiki.debian.org/fr/Bind9 a écrit :

La mise en place d'un serveur DNS sur un réseau permet de remplacer les adresses IP des machines par un nom. Ainsi, il est même possible d'associer plusieurs noms à la même machine pour mettre en évidence les différents services possibles. Du coup, www.example.com et pop.example.com, peuvent pointer sur le serveur principal où sont présents le serveur de mail et l'intranet de l'entreprise dont le domaine serait example.com. C'est tout de même plus facile que de se rappeler que ces deux services tournent sur la machine dont l'adresse IP est 192.168.0.1.

Installation:
  apt-get isntall bind9 (*)

*: bind9utils sera installé en complément par défaut.

Configuration:
  Les fichiers de configurations se situeront dans le dossier /etc/bind/

  Fichiers:
  * named.conf
  * named.conf.options
  * named.conf.local
  * named.conf.default-zones
  * zones.rfc1918
  * bind.keys
  * rndc.key
  * db.0
  * db.127
  * db.255
  * db.empty
  * db.local
  * db.root

Le fichier named.conf:

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the 
// structure of BIND configuration files in Debian, *BEFORE* you customize 
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

Il s'agit du fichier principal contenant toutes la configuration du service bind9. A la base, on insérait tout dans ce même fichier mais pour une meilleur organisation les responsables de ce package ont décidé de le découper en 3 parties:
-> named.conf.options pour les options (dont forward et forwarders)
-> named.conf.default-zones contenant les zones par défaut (localhost, broadcast)
-> named.conf.local pour y insérer nos propres zones, selon les recommandations décrites dans ce même fichier.

Cela étant, qu'on les insère dans local, default-zones, ici ou même un nouveau fichier custom qu'on aurait importé via le mot include, cela n'a pas d'impact sur le fonctionnement du service, tant que le fichier ne contient pas d'erreurs (vérifiable depuis la commande named-checkconf).

Le fichier named.conf.default-zones:

// prime the server with knowledge of the root servers
zone "." {
	type hint;
	file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

// localost
zone "localhost" {
	type master;
	file "/etc/bind/db.local";
};

// zone inversée sur localhost
zone "127.in-addr.arpa" {
	type master;
	file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
	type master;
	file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
	type master;
	file "/etc/bind/db.255";
};

// nouvelle zone rajoutée pour le laboratoire bind9
zone "forma1110.be" {
	type master;
	file "/etc/bind/db.forma1110.be";
};

La création d'une zone se fait selon:
zone " nom de la zone " {
  type master | slave ;
  file " chemin vers le fichier db.xxx contenant la configuration de la zone " ;
};
Remarque importante : les ; finaux sont extrêment important, un oubli pourra résulter d'une erreur dans le fichier.

Une zone se compose d'un nom de référence, une zone reverse se composera de l'adresse ip a l'envers suivi de .in-addr.arpa
par exemple:
une adresse ip de la range 192.168.1.x se fera de la manière suivante ' zone "1.168.192.in-addr.arpa" {};  On va rajouter la zone de reverse dans le fichier named.conf.default-zones à la suite de celle de forma1110.be

zone "11.10.10.in-addr.arpa"{
  type master;
  file "/etc/bind/db.forma1110.be.inv";
};

Le fichier db.forma1110.be créé sera construit ainsi:

; BIND reverse data file for empty rfc1918 zone
;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL	3600
@	IN	SOA	dns.forma1110.be. root.forma1110.be. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			  3600 )	; Negative Cache TTL
;
@		IN		NS	dns.forma1110.be.
dns		IN		A	10.10.11.130                      ; service bind9 (dns)
www		IN		A	10.10.11.130                      ; service apache2 / vhost firefox (http)
webmail		IN		A	10.10.11.130                      ; service apache2 / vhost firefox (http)
proxy		IN		A	10.10.11.130                      ; service squid (proxy)
mx-01		IN		A	10.10.11.130                      ; services postfix, dovecot ou exim4 (mail)
		IN		MX 10	mx-01.forma1110.be.

{proposition de correction vu que tous les services utilisent la meme adresse}

;
; DO NOT EDIT THIS FILE - it is used for multiple zones.
; Instead, copy it, edit named.conf, and use that copy.
;
$TTL	3600
@	IN	SOA	dns.forma1110.be. root.forma1110.be. (
			      1		; Serial
			 604800		; Refresh
			  86400		; Retry
			2419200		; Expire
			  3600 )	; Negative Cache TTL
;
@            IN    NS    dns.forma1110.be.
@            IN    MX    10    mx-01.forma1110.be. ; service de messagerie postfix, dovecot, exim4 (mail)

dns          IN    A        10.10.11.130                  ; service bind9 (dns)
mx-10        IN    A        10.10.11.130                  ; service postfix / dovecot / exim4 (mail)
www          IN    CNAME    dns                           ; service apache2 / vhost firefox (http)
webmail      IN    CNAME    dns                           ; service apache2 / vhost firefox (http)
proxy        IN    CNAME    dns                           ; service squid (proxy)
https://wiki.debian.org/fr/Bind9 a écrit :

$TTL : (Time To Live) exprime la duree (en secondes) de validité, par défaut, des informations que contiennent les RRs. Une fois ce délai expiré, il est nécessaire de vérifier à nouveau les données. Les différents types :

    SOA : permet de définir les informations relatives à la zone. En l'occurrence le nom du serveur DNS primaire "sid.example.com." et l'adresse mail du contact technique (root.example.com. ; le @ est remplace par un point). Il est compose de plusieurs champs :

        1. Serial : est un entier non signé 32 bits. C'est le numéro de série à incrémenter à chaque modification du fichier. Il permet au serveur secondaire de recharger les informations qu'ils ont. L'usage général vient à le formater de cette manière YYYYMMDDXX, soit pour la première modification du 01/04/2007 -> 2007040101, pour la seconde 2007040102.

        2. Refresh : définit la période de rafraîchissement des données.

        3. Retry : si une erreur survient au cours du dernier rafraîchissement, celle-ci sera répétée au bout du délai Retry.

        4. Expire : le serveur sera considéré comme non disponible au bout du délai Expire.

        5. Negative cache TTL : définit la durée de vie d'une réponse NXDOMAIN de notre part.

    NS : renseigne le nom des serveurs de noms pour le domaine.

    MX : renseigne sur le serveur de messagerie. Plusieurs peuvent être définis. Ainsi, il est possible de leur donner une priorité en leur affectant un numéro. Plus bas est le numéro, plus haute est la priorité.

    A : associe une nom d'hôte à une adresse ipv4 (32 bits)

    AAAA : associe une nom d'hôte à une adresse ipv6 (128 bits)

    CNAME : identifie le nom canonique d'un alias (un nom pointant sur un autre nom)

    PTR : c'est simplement la résolution inverse (le contraire du type A).

Le fichier de zone inverse db.forma1110.be.inv:

@ IN SOA        dns.forma1110.be. root.forma1110.be. (
                   2007010401           ; Serial
                         3600           ; Refresh [1h]
                          600           ; Retry   [10m]
                        86400           ; Expire  [1d]
                          600 )         ; Negative Cache TTL [1h]
;
@         IN      NS      dns.forma1110.be.

130       IN      PTR     dns.forma1110.be.

Note: prenez garde de ne pas oublier le . final au bout de chaque nom composant le domaine.

Les outils de diagnostic:
* named-checkconf
* named-checkzone
* dig
* nslookup

Commande named-checkconf:
Cette commande permet de tester les fichiers named.conf, named.conf.local, named.conf.default-zones et named.conf.options. Si vos fichiers ne contiennent pas d'erreur, elle ne retournera aucun résultat, autrement affichera les lignes contenant des erreurs.

Commande named-checkzone:
Cette commande permet de tester vos fichiers db.*

Synthaxe:
usage: named-checkzone [-djqvD] [-c class] [-f inputformat] [-F outputformat] [-t directory] [-w directory] [-k (ignore|warn|fail)] [-n (ignore|warn|fail)] [-m (ignore|warn|fail)] [-r (ignore|warn|fail)] [-i (full|full-sibling|local|local-sibling|none)] [-M (ignore|warn|fail)] [-S (ignore|warn|fail)] [-W (ignore|warn)] [-o filename] zonename filename

Si la commande s'est corretement déroulée, elle affichera OK

Enter command here -> sudo named-checkzone forma1110.be db.forma1110.be 
zone forma1110.be/IN: loaded serial 2
OK

Réferences:
  https://wiki.debian.org/fr/Bind9
  (pdf) http://www.bind9.net/arm910.pdf


Avant de poser vos questions, jeter un oeil ici
Mon CodeVault et Wiki : ici
Les messages privés envers le staff sont uniquement pour les cas d'urgence ou affaires privées (personnelles). Les demandes se feront exclusivement sur le forum. Merci de respecter cette clause sous peine de sanctions.

Hors ligne

#2 12-11-2014 14:40:06

Yzeew
Membre d'or

Re : [Infra-reseau] Bind9 {à completer !!}

Bonjour,

Pourquoi ne pas ouvrir une section "Infra-Réseau" dédié à cela ?


>> Good things come to those who, Wait.. <<

>> sip:yzeew@ekiga.net << and >> #Pouni3 <<

Hors ligne

Pied de page des forums