Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Installation de Bind
Bind (Berkeley Internet Name Daemon, parfois Berkeley Internet Name Domain)
étant disponible dans les dépots CentOS, nous allons donc l’installer via la
commande suivante :
Configuration de Bind
Avant de modifier le fichier de configuration de Bind nous allons le sauvegarder
via la commande suivante :
1 cp /etc/named.conf{,.ori}
1 vi /etc/named.conf
1 //
2 // named.conf
3 //
4 // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
5 // server as a caching only nameserver (as a localhost DNS resolver only).
6 //
7 // See /usr/share/doc/bind*/sample/ for example named configuration files.
8 //
9
10 options {
11 // On indique à bind d’écouter sur l’adresse IP externe en plus l’adresse IP
12 // de loopbak
13 listen-on port 53 { 127.0.0.1; 192.168.0.1; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 // On indique à Bind de répondre aux requêtes locale ainsi que celle venant
20 // du réseau local
21 allow-query { localhost; 192.168.0.0/24; };
22 // On indique à Bind d’envoyer la demande aux serveurs de Google s’il n’a
23 // pas l’information demandée
24 forwarders { 8.8.8.8; 8.8.4.4; };
25
26 /*
27 - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
28 - If you are building a RECURSIVE (caching) DNS server, you need to enable recursion.
29 - If your recursive DNS server has a public IP address, you MUST enable access
30 control to limit queries to your legitimate users. Failing to do so will
31 cause your server to become part of large scale DNS amplification
32 attacks. Implementing BCP38 within your network would greatly
33 reduce such attack surface
34 */
35 recursion yes;
36
37 dnssec-enable yes;
38 dnssec-validation yes;
39
40 /* Path to ISC DLV key */
41 bindkeys-file "/etc/named.iscdlv.key";
42
43 managed-keys-directory "/var/named/dynamic";
44
45 pid-file "/run/named/named.pid";
46 session-keyfile "/run/named/session.key";
47 // On indique que le version de Bind ne soit pas indiqué pour limiter les
48 // risques d’attaques
49 version none;
50 ;
51
52 logging {
53 channel default_debug {
54 file "data/named.run";
55 severity dynamic;
56 };
57 };
58
59 zone "." IN {
60 type hint;
61 file "named.ca";
62 };
63
64 zone "mon-domaine.fr" IN {
65 type master;
66 file "/var/named/mon-domaine.fr.zone";
67 allow-update { none; };
68 };
69 zone "0.168.192.in-addr.arpa" IN {
70 type master;
71 file "/var/named/mon-domaine.fr.reverse";
72 allow-update { none; };
73 ;
74
75 include "/etc/named.rfc1912.zones";
76 include "/etc/named.root.key";
1 vi /var/named/mon-domaine.fr.zone
On y inscrit les lignes suivantes (les points après le domaine sont obligatoires) :
1 $TTL 3600
2 @ IN SOA srv1.mon-domaine.fr. root.mon-domaine.fr. (
3 2016071901 ; Serial
4 3600 ; Refresh [1h]
5 600 ; Retry [10m]
6 86400 ; Expire [1d]
7 600 ) ; Negative Cache TTL [1h]
8 ;
9 @ IN NS srv1.mon-domaine.fr.
10 @ IN MX 10 srv1.mon-domaine.fr.
11
12 srv1 IN A 192.168.0.1
13 srv2 IN A 192.168.0.2
14
15 mail IN CNAME srv1
16 pop IN CNAME srv1
17 www IN CNAME srv2
1 vi /var/named/mon-domaine.fr.reverse
On y inscrit les lignes suivantes (les points après le domaine sont obligatoires) :
1 $TTL 3600
2 @ IN SOA srv1.mon-domaine.fr. root.mon-domaine.fr. (
3 2016071901 ; Serial
4 3600 ; Refresh [1h]
5 600 ; Retry [10m]
6 86400 ; Expire [1d]
7 600 ) ; Negative Cache TTL [1h]
8 ;
9 @ IN NS srv1.mon-domaine.fr.
10 @ IN PTR mon-domaine.fr.
11
12 centos IN A 192.168.0.1
13 1 IN PTR srv1.mon-domaine.fr.
14 2 IN PTR srv2.mon-domaine.fr.
Maintenant que nous avons créer nos fichiers de zone et de zone inverse, je vais
vous expliquer à quoi correspondent les différents champs :
$TTL : (Time To Live) exprime la durée (en secondes) de validité, pendant
laquelle sont conservées en cache les réponses. 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 « srv1.mon-domaine.fr. » et l’adresse mail du
contact technique (root.mon-domaine.fr. ; 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 ->
2016071901, pour la seconde 2016071902.
2. Refresh : définit la période de rafraîchissement des données (s’exprime en
secondes)
3. Retry : défini le délai que doivent attendre les ou les serveurs secondaires
pour réessayer si une erreur survient au cours du dernier rafraîchissement
(s’exprime en secondes)
4. Expire : défini le délai au bout duquel la zone sera considéré comme non
disponible si le ou les serveurs secondaires ne peuvent pas joindre le serveur
primaire (s’exprime en secondes)
5. Negative cache TTL : définit la durée de conservation des réponses pour des
enregistrements inexistants (s’exprime en secondes)
NS (Name Server) : renseigne le nom des serveurs de noms pour le domaine
MX (Mail eXchanger): 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 (Address) : associe une nom d’hôte à une adresse ipv4 (32 bits)
AAAA (Address IPv6): associe une nom d’hôte à une adresse ipv6 (128 bits)
CNAME (Canonical NAME) : identifie le nom canonique d’un alias (un nom
pointant sur un autre nom)
PTR (Pointer Record) : c’est simplement la résolution inverse (le contraire du
type A)
Maintenant que nous avons configuré et créé les différents fichiers de zone,
nous allons vérifier que nous n’avons pas oublié un caractère ou fait d’erreur de
frappe afin de pouvoir démarrer Bind.
Pour vérifier la configuration de Bind proprement dite, nous allons taper la
commande suivante :
1 named-checkconf -z
Pour vérifier les fichiers de zone, nous allons taper les commandes suivantes :
Voici ce que devrait respectivement retourner les commandes si tout est bon :
et
Si tout est bon, nous pouvons lancer le service Bind via les commandes
suivantes :
1 vi /etc/sysconfig/network-scripts/ifcfg-XXXX
1 TYPE="Ethernet"
2 BOOTPROTO="none"
3 DEFROUTE="yes"
4 IPV4_FAILURE_FATAL="no"
5 IPV6INIT="yes"
6 IPV6_AUTOCONF="yes"
7 IPV6_DEFROUTE="yes"
8 IPV6_FAILURE_FATAL="no"
9 NAME="eno16777736"
10 UUID="d3f499e2-8908-4464-ba1b-4243c8c011c1"
11 DEVICE="eno16777736"
12 ONBOOT="yes"
13 IPADDR="192.168.0.1"
14 PREFIX="16"
15 GATEWAY="192.168.0.254"
16 DNS1="192.168.0.1"
17 SEARCH="mon-domaine.fr"
18 IPV6_PEERDNS="yes"
19 IPV6_PEERROUTES="yes"
20 IPV6_PRIVACY="no"
Afin d’autoriser les requêtes DNS sur notre serveur, nous devons ouvrir les ports
correspondant sur le firewall. Pour cela nous tapons les commandes suivantes :
Nous pouvons maintenant vérifier que notre serveur DNS répond bien aux
requêtes.
Vérifions le fonctionnement du MX :
1 host -t MX mon-domaine.fr
Résultat :
1 mon-domaine.fr mail is handled by 10 srv1.mon-domaine.fr.
1 dig -x 192.168.0.1
Résultat :
1 nslookup srv1.mon-domaine.fr
Résultat :
1 Server: 192.168.0.1
2 address: 192.168.0.1#53
3
4 Name: srv1.mon-domaine.fr
5 Address: 192.168.0.1
Tutoriel 2 :
Introduction
Le DNS (Domain Name Service) est un service Internet qui trace les adresses IP en
fonction du FQDN (Fully Qualified Domain Names) et vice versa.
BIND signifie Berkley Internet Naming Daemon.
BIND est le programme le plus communément utilisé pour faire la maintenance d’un serveur
DNS sous Linux.
Dans cet article, nous verrons comment installer et configurer un serveur DNS.
Informations réseau
Nous allons mettre en place un serveur local DNS pour le réseau montré sur le schéma ci -
dessous.
Nous utiliserons le domaine « supinfo.net » comme exemple pour cette installation DNS. «
mail », « web », « ns » sont les hôtes qui sont sur le domaine.
Il est possible de configurer un simple système pour agir en tant que serveur DNS cache,
Primaire/Master (Le serveur Primaire/Master est le serveur principale qui fonctionne tout le
temps) et Secondaire/Slave (Le serveur Secondaire/Slave est un serveur qui peut être
utiliser pour déléguer des tâches du serveur principale ou encore prendre le relais si le
principale meurt). Nous configurons ce serveur DNS en tant que Master ainsi qu’en tant
que serveur DNS cache.
Nous installerons les serveurs DNS sur l’adresse « 10.42.0.83 ».
Installation de Bind
Installez le package bind9 en utilisant le package approprié pour votre distribution Linux.
Sur Debian/Ubuntu utilisez la commande suivante :
$ sudo apt-get install bind9
Sur Red Hat/cent OS/Fedora utilisez la commande suivante :
# yum install bind9
Toutes les configurations DNS sont stockées sous le répertoire /etc/bind. La configuration
primaire est /etc/bind/named.conf, laquelle inclura les autres fichiers nécessaires. Le fichier
nommé /etc/bind/db.root décrit les serveurs DNS racines du monde.
Conclusion
Maintenant que nous avons configuré le serveur DNS pour notre domaine. Nous allons
tester notre serveur DNS en faisant un ping vers mail.supinfo.net depuis web.supinfo.net.
Si le ping s’effectue avec succès, alors le serveur DNS est bien configuré
Tutoriel 3 :
Cet article décrit la mise en place d’un serveur DNS avec BIND sur un serveur dédié tournant
sous CentOS 7. Le système de noms de domaine ou DNS (Domain Name System)
permet d’établir une correspondance entre les adresses IP et les noms de domaine. Le DNS évite
ainsi d’avoir à se rappeler des adresses IP.
Prérequis
Installation
Serveur cache DNS
Configurer la journalisation
Désactiver l’IPv6
Utiliser les DNS de base de chez Online
Serveur maître primaire
DNS secondaire
Reverse DNS
Quelques vérifications
Téléchargement
Prérequis
Dans le pare-feu, ouvrir le port 53 en TCP et en UDP. Les gourous de la
sécurité ont longtemps conseillé d’ouvrir le port 53 en UDP seulement pour
les requêtes DNS. Or, ces dernières peuvent également utiliser le port 53
en TCP si l’UDP n’est pas accepté.
Installation
Outre le serveur bind à proprement parler, on installera le paquet bind-utils,
qui fournit une collection d’outils comme dig, host et nslookup.
$ cd /etc
$ sudo mv named.conf named.conf.orig
// /etc/named.conf
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
Active: active (running) since Fri 2019-02-08 09:47:39 CET; 31s ago
...
;; ANSWER SECTION:
centos.org. 60 IN A 85.12.30.226
;; AUTHORITY SECTION:
;; ADDITIONAL SECTION:
Le temps de réponse devrait être bien plus court après une deuxième
invocation de dig.
...
Configurer la journalisation
Dans notre configuration actuelle, les logs inondent /var/log/messages. Pour
éviter ça, on va configurer une journalisation propre à BIND en ajoutant la
stance correspondante à /etc/named.conf.
options {
directory "/var/named";
};
logging {
channel single_log {
severity info;
print-time yes;
print-severity yes;
print-category yes;
};
category default {
single_log;
};
};
Désactiver l’IPv6
Si l’on n’utilise pas l’IPv6, on peut désactiver le protocole en
éditant /etc/sysconfig/named.
OPTIONS="-4"
options {
directory "/var/named";
filter-aaaa-on-v4 yes;
};
options {
directory "/var/named";
filter-aaaa-on-v4 yes;
forwarders {
62.210.16.6;
62.210.16.7;
};
};
À partir de là, on pourra utiliser notre propre serveur cache DNS par défaut.
# /etc/resolv.conf
nameserver 127.0.0.1
// /etc/named.conf.local
zone "slackbox.fr" {
type master;
file "zone.slackbox.fr";
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.conf.local";
; /var/named/zone.slackbox.fr
$TTL 86400
$ORIGIN slackbox.fr.
2019020801 ; sn
IN NS ns.slackbox.fr.
IN NS nssec.online.net.
IN MX 10 mail.slackbox.fr.
slackbox.fr. A 163.172.220.174
ns IN A 163.172.220.174
mail IN A 163.172.220.174
OK
DNS secondaire
La présence d’un serveur DNS secondaire est nécessaire pour les noms de
domaine en .fr. Ce n’est pas la peine de louer un deuxième serveur, Online
met gracieusement un DNS secondaire à disposition.
Dans la console Online, afficher les données du serveur. Dans le menu à
gauche, cliquer sur DNS secondaires et définir une nouvelle entrée.
Éditer /etc/named.conf.local et autoriser le transfert de la zone vers le DNS
secondaire d’Online.
// /etc/named.conf.local
...
zone "slackbox.fr" {
type master;
allow-transfer { 62.210.16.8; };
file "zone.slackbox.fr";
};
Reverse DNS
Il ne reste plus qu’à configurer les reverse DNS. Pour une configuration
correcte du serveur, il faut que son adresse IP pointe vers le résultat de la
commande hostname --fqdn. En l’occurrence, nous devons faire
pointer 163.172.220.174 vers sd-100246.dedibox.fr. Là aussi, il faut se rendre
dans la console Online > Liste de vos serveurs > Serveur > Réseau >
Modifier les reverses et fournir le nom d’hôte souhaité. Pour la prise en
compte des modifications, il faudra patienter un peu.
Quelques vérifications
Voici une série de commandes pour tester la configuration correcte d’un
domaine. On procédera à ces vérifications sur le serveur aussi bien que sur
une machine externe.
1. Configuration du DNS
$ host slackbox.fr
$ host 163.172.220.174
sd-100246.dedibox.fr.
$ host -t mx slackbox.fr
slackbox.fr mail is handled by 10 mail.slackbox.fr.
$ host mail.slackbox.fr
Téléchargement
Des modèles de fichiers named.conf, named.conf.local et zone.exemple.fr sont
disponibles dans mon dépôt Github, dans le répertoire el7/config/bind.
Autre tutoriel :
https://www.supinfo.com/articles/single/1005-configuration-dns-centos
https://www.supinfo.com/articles/single/1982-intstallation-configuration-serveur-dns-bind
https://www.unixmen.com/setting-dns-server-centos-7/
Tutoriel vidéo :
https://www.youtube.com/watch?v=is-eg2X5ru4
https://www.youtube.com/watch?v=ZCG12vQnJ0s