Configurer un serveur DNS avec BIND sous CentOS 7 – Microlinux – Bien choisir son serveur d impression
Cet article explique comment configurer un serveur DNS avec BIND sur un serveur dédié exécutant CentOS 7. Le système de nom de domaine ou DNS (Système de noms de domaines) permet de mapper les adresses IP et les noms de domaine. Le DNS évite d'avoir à mémoriser les adresses IP.
Sommaire
Conditions préalables
Dans le pare-feu, ouvrez le port 53 dans TCP et UDP. Les gourous de la sécurité ont longtemps conseillé d'ouvrir le port 53 dans UDP uniquement pour les requêtes DNS. Cependant, ils peuvent également utiliser le port 53 dans TCP si le protocole UDP n'est pas accepté.
Installation
En plus du serveur lier
à proprement parler, nous installerons le paquet bind-utils
, qui fournit une collection d’outils comme creuser
, hôte
et nslookup
.
$ sudo yum installer bind bind-utils
Serveur de cache DNS
La configuration par défaut fournie par Red Hat est déjà assez sophistiquée. Nous allons économiser pour continuer quelque chose de plus simple.
$ cd / etc $ sudo mv named.conf named.conf.orig
modifier /etc/named.conf
comme ça.
// /etc/named.conf
Les options
répertoire "/ var / named";
;
zone "." DANS
type d'indice;
fichier "named.ca";
;
include "/etc/named.rfc1912.zones";
Définissez les autorisations de ce fichier.
$ sudo chown root: nommé /etc/named.conf $ sudo chmod 0640 /etc/named.conf
Activer et démarrer BIND.
$ sudo systemctl enable nommé $ sudo systemctl start nommé
Vérifiez si le service fonctionne correctement.
$ statut systemctl nommé ● named.service - Berkeley Internet Name Domain (DNS) Loaded: /usr/lib/systemd/system/named.service; activée; Présélection vendeur: désactivé Actif: actif (course à pied) depuis ven. 2019-02-08 09:47:39 CET; Il y a 31s
effectuer creuser
sur un domaine externe en vérifiant l'heure de la requête.
$ dig centos.org @localhost
...
;; SECTION RÉPONSE:
centos.org. 60 DANS UN 85.12.30.226
;; SECTION AUTORITÉ:
centos.org. 14400 IN NS ns4.centos.org.
centos.org. 14400 IN NS ns1.centos.org.
centos.org. 14400 IN NS ns3.centos.org.
;; SECTION ADDITIONNELLE:
ns4.centos.org. 86400 IN A 62.141.54.220
ns3.centos.org. 86400 DANS UN 88208217170
ns1.centos.org. 86400 DANS UN 199.187.126.93
;; Temps de requête: 141 msec
;; SERVEUR: 127.0.0.1 # 53 (127.0.0.1)
;; QUAND: lun. 17 avr. 11:13:02 CEST 2017
;; MSG TAILLE rcvd: 157
Le temps de réponse devrait être beaucoup plus court après une seconde invocation de creuser
.
$ dig centos.org @localhost ... ;; Temps de requête: 1 msec
Configurer la journalisation
Dans notre configuration actuelle, les journaux sont inondés / Var / log / messages
. Pour éviter cela, nous allons configurer une journalisation spécifique à BIND en ajoutant la strophe correspondante à /etc/named.conf
.
Les options répertoire "/ var / named"; ; enregistrement channel single_log fichier "/var/log/named/named.log" versions 3 taille 2m; informations de gravité; temps d'impression oui; gravité d'impression oui; catégorie d'impression oui; ; catégorie par défaut single_log; ; ;
BIND ne peut pas créer ce fichier à la volée. Nous allons donc le faire pour lui, en lui affectant les autorisations appropriées.
$ sudo mkdir / var / log / named $ sudo touch /var/log/named/named.log $ sudo chown -R nommé: named / var / log / named / $ sudo chmod 0770 / var / log / nommé
Si on utilise SELinux en mode renforcé, il est impératif de ré-étiqueter le répertoire / Var / log / named
et son contenu.
$ sudo restorecon -R -v / var / log / nommé
Rechargez la configuration BIND.
$ sudo systemctl reload nommé
Désactiver IPv6
Si vous n'utilisez pas IPv6, vous pouvez désactiver le protocole en modifiant / Etc / sysconfig / named
.
OPTIONS = "- 4"
Il faudra également ajouter une option pour /etc/named.conf
.
Les options répertoire "/ var / named"; filtre-aaaa-sur-v4 oui; ;
Redémarrez BIND pour prendre en compte les modifications.
$ sudo systemctl restart nommé
Utiliser le DNS de base en ligne
Online fournit deux serveurs DNS de base que nous utiliserons de préférence.
Les options répertoire "/ var / named"; filtre-aaaa-sur-v4 oui; expéditeurs 62.210.16.6; 62.210.16.7; ; ;
À partir de là, nous pouvons utiliser notre propre serveur de cache DNS par défaut.
# /etc/resolv.conf
serveur de noms 127.0.0.1
Rechargez la configuration BIND.
$ sudo systemctl reload nommé
Serveur maître primaire
Nous allons maintenant configurer BIND en tant que serveur maître du domaine principal. slackbox.fr
. Le nom de domaine sera réservé au registraire (greffier) BookMyName.com.
Pour ajouter une zone DNS à BIND afin de la transformer en serveur maître principal, vous devez d'abord spécifier l'emplacement du fichier de zone sur /etc/named.conf
. Pour plus de lisibilité, nous allons créer un fichier. /etc/named.conf.local
.
// /etc/named.conf.local
zone "slackbox.fr"
type de maître;
fichier "zone.slackbox.fr";
;
Le fichier named.conf.local
aura les mêmes autorisations que named.conf
.
$ sudo chown root: nommé /etc/named.conf.local $ sudo chmod 0640 /etc/named.conf.local
modifier /etc/named.conf
en incluant ce fichier.
zone "." DANS type d'indice; fichier "named.ca"; ; include "/etc/named.rfc1912.zones"; include "/etc/named.conf.local";
Le fichier /var/named/zone.slackbox.fr
devrait être édité comme ça.
; /var/named/zone.slackbox.fr
$ TTL 86400
$ ORIGIN slackbox.fr.
@ IN SOA ns.slackbox.fr. hostmaster.slackbox.fr. (
2019020801; sn
10800; rafraîchir (3 heures)
600; réessayer (10 minutes)
1814400; expiration (3 semaines)
10800); minimum (3 heures)
EN NS ns.slackbox.fr.
EN NS nssec.online.net.
EN MX 10 mail.slackbox.fr.
slackbox.fr. A 163.172.220.174
ns DANS A 163.172.220.174
mail DANS A 163.172.220.174
www CNAME slackbox.fr.
ftp CNAME slackbox.fr.
Définissez les autorisations qui vont bien.
$ sudo chown root: nommé /var/named/zone.slackbox.fr $ sudo chmod 0640 /var/named/zone.slackbox.fr
Quelques notes sur la syntaxe et les options utilisées.
- La directive
$ TTL
(Temps de vivre) définit le temps en secondes pendant lequel un enregistrement peut être conservé dans le cache par un autre serveur de noms. - La directive
$ ORIGINE
définit le nom de domaine ajouté automatiquement à tous les noms de domaine incomplets ("non qualifiés") définis dans un enregistrement DNS. Le nom de domaine est toujours un FQDN (Nom de domaine complet) et se termine en conséquence avec un point. - L'enregistrement
SOA
(Début de l'autorité) définit les caractéristiques principales de la zone ou du domaine avec un certain nombre de paramètres. - Le symbole
@
substitue à la valeur de$ ORIGINE
concrètementslackbox.fr
. DANS
définit la classe l'Internet. D'autres valeurs existent, mais elles sont rarement utilisées.- L'enregistrement
NS
définit le serveur de noms principal pour la zone. hostmaster.slackbox.fr
définit l'adresse email de l'administrateur de la zone. adressemaître d'hôte
est recommandé, mais toute adresse électronique valide peut être définie ici. Depuis le symbole@
a une signification spécifique dans le contexte, nous utilisons les points comme séparateurs, ce qui explique la syntaxe étrange. L'adresse email définie ici est donchostmaster@slackbox.fr
.2019020801
définit le numéro de série associé à la zone. Par convention, nous utilisons le formatAAAAMMJJSS
. Le numéro de série doit être mis à jour chaque fois que le domaine est modifié.- La valeur
rafraîchir
contrôle la mise à jour des informations du serveur de noms esclaves de la zone. Les valeurs typiques sont comprises entre 3 heures (10800
) et 24 heures (86400
). - La valeur
réessayez
définit le temps d'attente avant une deuxième tentative lorsque le serveur de noms esclave ne parvient pas à contacter le serveur maître pour actualiser les informations. Les valeurs typiques sont comprises entre 10 minutes (600
) et 60 minutes (3600
). - La valeur
expiration
définit la durée après laquelle les enregistrements de zone ne sont plus considérés comme faisant autorité. Nous choisirons une valeur assez élevée, située entre une semaine (604800
) à trois semaines (1814400
). - La valeur
le minimum
définit la période de temps pendant laquelle les réponses négatives (NXDOMAIN
) peut être mis en cache par le serveur de noms esclave. Cette valeur sera comprise entre 0 et 3 heures (10800
). - L'enregistrement
NS
(Enregistrement de ressources NS) définit le ou les serveurs de noms du domaine ou de la zone. - L'enregistrement
À
(Un enregistrement de ressource) définit l'adresse IPv4 d'un hôte du domaine ou de la zone.
Vérifiez la définition correcte de la zone.
$ sudo named-checkzone slackbox.fr /var/named/zone.slackbox.fr slackbox.fr/IN: numéro de série chargé 2019020801 d'accord
Chaque fois que vous modifiez le fichier de zone, vous devez incrémenter le numéro de série. N'oubliez pas de recharger la configuration BIND après chaque modification.
$ sudo systemctl reload nommé
Dans l'interface de gestion de BookMyName.com (entrée de menu Gérer), nous devrons indiquer que nous gérons nous-mêmes notre propre DNS. Pour ce faire, cliquez sur le nom de domaine dans la liste des noms de domaines, puis sur modifier dans l'entrée de menu Votre DNS. Notez que sur la deuxième ligne, l’adresse IP correspondant à nssec.online.net
est facultatif.
DNS secondaire
La présence d’un serveur DNS secondaire est nécessaire pour les noms de domaine dans .com
. Il n'est pas intéressant de louer un deuxième serveur, Online met à disposition un DNS secondaire gratuit.
Dans la console en ligne, affichez les données du serveur. Dans le menu de gauche, cliquez sur DNS secondaire et définir une nouvelle entrée.
modifier /etc/named.conf.local
et autoriser le transfert de la zone vers le DNS secondaire de Online.
// /etc/named.conf.local ... zone "slackbox.fr" type de maître; allow-transfer 62.210.16.8; ; fichier "zone.slackbox.fr"; ;
DNS inversé
Il ne reste plus qu'à configurer le DNS inversé. Pour une configuration correcte du serveur, son adresse IP doit pointer vers le résultat de la commande nom d'hôte --fqdn
. Dans ce cas, nous devons indiquer 163172220174
vers sd-100246.dedibox.fr
. Ici aussi, vous devez aller à la console en ligne > Liste de vos serveurs> Serveur> Réseau> Inverser les changements et indiquez le nom d'hôte souhaité. Pour prendre en compte les changements, il faudra attendre un peu.
Quelques chèques
Voici une série de commandes permettant de tester la configuration correcte d'un domaine. Ces vérifications seront effectuées sur le serveur ainsi que sur une machine externe.
1. configuration DNS
$ hôte slackbox.fr slackbox.fr a l'adresse 163.172.220.174 Le courrier de slackbox.fr est géré par 10 mail.slackbox.fr.
2. Configuration DNS inversée
$ hôte 163.172.220.174 174.220.172.163.in-addr.arpa pointeur de nom de domaine sd-100246.dedibox.fr.
3. Nom d'hôte du serveur de messagerie
$ hôte -t mx slackbox.fr Le courrier de slackbox.fr est géré par 10 mail.slackbox.fr.
4. Adresse IP du serveur de messagerie.
$ hôte mail.slackbox.fr mail.slackbox.fr a l'adresse 163.172.220.174
Téléchargement
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
.
$ le clone de git https://github.com/kikinovak/centos
Commentaires
Laisser un commentaire