BIND/Guide

From Gentoo Wiki
< BIND
Jump to:navigation Jump to:search
This page is a translated version of the page BIND/Guide and the translation is 100% complete.

Ce guide explique l'installation et la configuration de BIND pour un domaine et un réseau local

Introduction

BIND est le serveur DNS le plus utilisé sur Internet. Ce guide expliquera comment configurer BIND pour un domaine à l'aide de différentes configurations, une pour un réseau local et une pour le reste du monde. Deux vues seront utilisées :

  1. Vue de la zone interne (le réseau local).
  2. Vue de la zone externe (reste du monde).

Données utilisées dans les exemples

Mot clé Explication Exemple
VOTRE_DOMAINE Votre nom de domaine gentoo.org
VOTRE_AD_IP_PUBLIQUE L'adresse IP que vous attribue votre ISP 204.74.99.100
VOTRE_AD_IP_LOCALE L'adresse IP locale 192.168.1.5
VOTRE_RESEAU_LOCAL Le réseau local 192.168.1.0/24
SERVEUR_DNS_ESCLAVE L'adresse IP de votre serveur DNS esclave pour votre domaine 209.177.148.228
ADMIN Le nom de l'administrateur du serveur DNS. root
MODIFICATION La date de modification du fichier zone, avec un nombre ajouté 2009062901

Configurer BIND

Installation

Tout d'abord, installez net-dns/bind .

root #emerge --ask net-dns/bind

Configurer /etc/bind/named.conf

La première chose à configurer est /etc/bind/named.conf . La première partie de cette étape est de spécifier le répertoire racine de bind, le port d'écoute avec les adresses IP, le fichier pid, et une ligne pour le protocole ipv6.

FILE /etc/bind/named.confsection sur les options
options {
        directory "/var/bind";
  
        listen-on-v6 { none; };
        listen-on port 53 { 127.0.0.1; YOUR_LOCAL_IP; };
  
        pid-file "/var/run/named/named.pid";
};

La deuxième partie de named.conf est la vue interne utilisée pou notre réseau local.

FILE /etc/bind/named.confVue interne
view "internal" {
        match-clients { VOTRE_RESEAU_LOCAL; localhost; };
        recursion yes;
  
        zone "VOTRE_DOMAINE" {
                type master;
                file "pri/VOTRE_DOMAINE.internal";
                allow-transfer { any; };
        };
};

La troisième partie de named.conf est la vue externe pour résoudre votre nom de domaine pour le reste du monde et pour résoudre tous les autres noms de domaine pour vous (et pour tous ceux qui veulent utiliser votre serveur DNS).

FILE /etc/bind/named.confVue externe
view "external" {
        match-clients { any; };
        recursion no;
  
        zone "." IN {
                type hint;
                file "named.ca";
        };
  
        zone "127.in-addr.arpa" IN {
                type master;
                file "pri/127.zone";
                allow-update { none; };
                notify no;
        };
  
        zone "VOTRE_DOMAINE" {
                type master;
                file "pri/VOTRE_DOMAINE.external";
                allow-query { any; };
                allow-transfer { SERVEUR_DNS_ESCLAVE; };
        };
};

La dernière partie de named.conf est la politique de connexion.

FILE /etc/bind/named.confVue externe
logging {
        channel default_syslog {
                file "/var/log/named/named.log" versions 3 size 5m;
                severity debug;
                print-time yes;
                print-severity yes;
                print-category yes;
        };
       category default { default_syslog; };
};

Le répertoire /var/log/named/ doit exister et apparteni à named :

root #mkdir -p /var/log/named/
root #chmod 770 /var/log/named/
root #touch /var/log/named/named.log
root #chmod 660 /var/log/named/named.log
root #chown -R named /var/log/named/
root #chgrp -R named /var/log/named/

Créer le fichier de zone interne

Nous utilisons les noms d'hôtes et les adresses IP de l'image exemple de réseau. Notez que presque tous (pas tous) les noms de domaines se terminent par un "." (point).

FILE /var/bind/pri/VOTRE_DOMAINE.internal
$TTL 2d
@	IN SOA	ns.VOTRE_DOMAINE.	ADMIN.VOTRE_DOMAINE. (
	MODIFICATION	; serial
	3h	; refresh
	1h	; retry
	1w	; expiry
	1d )	; minimum
  
VOTRE_DOMAINE.		IN MX	0 mail.VOTRE_DOMAINE.
VOTRE_DOMAINE.		IN TXT	"v=spf1 ip4:OTRE_AD_IP_PUBLIQUE/32 mx ptr mx:mail.VOTRE_DOMAINE ~all"
VOTRE_DOMAINE.		IN NS	ns.VOTRE_DOMAINE.
VOTRE_DOMAINE.		IN NS	SERVEUR_DNS_ESCLAVE
www.VOTRE_DOMAINE.	IN A	192.168.1.3
ns.VOTRE_DOMAINE.	IN A	192.168.1.5
mail.VOTRE_DOMAINE.	IN A	192.168.1.3
router.VOTRE_DOMAINE.	IN A	192.168.1.1
hell.VOTRE_DOMAINE.	IN A	192.168.1.3
heaven.VOTRE_DOMAINE.	IN A	192.168.1.5
desktop.VOTRE_DOMAINE.	IN A	192.168.1.4

Créer le fichier de zone externe

Ici nous avons les sous-domaines que nous voulons pour les clients externes (www, mail et ns).

FILE /var/bind/pri/VOTRE_DOMAINE.external
$TTL 2d
@	IN SOA	ns.VOTRE_DOMAINE.	ADMIN.VOTRE_DOMAINE. (
	MODIFICATION	;serial
	3h	;refresh
	1h	;retry
	1w	;expiry
	1d )	;minimum
  
VOTRE_DOMAINE.		IN MX	0 mail.VOTRE_DOMAINE.
VOTRE_DOMAINE.		IN TXT	"v=spf1 ip4:VOTRE_AD_IP_PUBLIQUE/32 mx ptr mx:mail.VOTRE_DOMAINE ~all"
VOTRE_DOMAINE.		IN NS	ns.VOTRE_DOMAINE.
VOTRE_DOMAINE.		IN NS	SERVEUR_DNS_ESCLAVE
www.VOTRE_DOMAINE.	IN A	VOTRE_AD_IP_PUBLIQUE
ns.VOTRE_DOMAINE.		IN A	VOTRE_AD_IP_PUBLIQUE
mail.VOTRE_DOMAINE.	IN A	VOTRE_AD_IP_PUBLIQUE

Terminer la configuration

Vous devez ajouter named au niveau d'exécution par défaut :

root #rc-update add named default

Configurer les clients

Maintenant vous pouvez utiliser votre propre serveur DNS dans toutes les machines de votre réseau local pour résoudre les noms de domaine. Modifiez le fichier /etc/resolv.conf de toutes les machines de votre réseau local.

FILE /etc/resolv.conf
search VOTRE_DOMAINE
nameserver AD_IP_DE_VOTRE_SERVEUR_DNS

Notez que l'AD_IP_DE_VOTRE_SERVEUR_DNS est la même que VOTRE_AD_IP_LOCALE utilisée dans ce document. Dans l'exemple donné c'est 192.168.1.5.

Tester

Vous pouvez tester votre nouveau serveur DNS. Tout d'abord il faut lancer le service.

root #/etc/init.d/named start

Nous allons maintenant faire quelques commandes host vers quelques domaines. Nous pouvons utiliser n'importe quel ordinateur de notre réseau local pour effectuer ce test. Si vous n'avez pas net-dns/host installé, vous pouvez utiliser ping à la place. Sinon, installez d'abord host en exécutant emerge host .

user $host www.gentoo.org
www.gentoo.org has address 209.177.148.228
www.gentoo.org has address 209.177.148.229
user $host hell
hell.VOTRE_DOMAINE has address 192.168.1.3
user $host router
router.VOTRE_DOMAINE has address 192.168.1.1

Protéger le serveur avec des iptables

Lors de l'exécution du service DNS, iptables peut être configuré avec ces règles pour plus de sécurité:

CODE Règles iptables
iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Vicente Olivert Riera, nightmorph
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.