Configurer un serveur DNS avec BIND sur CentOS 7 – Microlinux Blog 2.0 – Serveur d’impression
Cet article décrit la configuration d'un serveur DNS avec BIND sur un serveur dédié exécutant CentOS 7. Le système de noms de domaine ou DNS (Système de noms de domaines) vous permet de faire correspondre les adresses IP aux noms de domaine. Le DNS évite ainsi d'avoir à mémoriser les adresses IP.
Sommaire
Conditions préalables
Dans le pare-feu, ouvrez le port 53 dans TCP et UDP pour les requêtes DNS.
$ sudo firewall-cmd --permanent --add-service = dns $ sudo firewall-cmd --reload $ sudo firewall-cmd --list-all public (actif) cible: par défaut icmp-block-inversion: non interfaces: eth0 sources: prestations de service: DNS ssh ports: protocoles: mascarade: non ports de transfert: ports source: blocs icmp: règles riches:
Installation
Outre le serveur lier
à proprement parler, nous installerons le package bind-utils
, qui fournit une collection d'outils tels que creuser
, hôte
et nslookup
.
$ sudo yum install bind bind-utils
Serveur de cache DNS
La configuration par défaut fournie par Red Hat est déjà assez sophistiquée. Nous allons l'enregistrer pour continuer sur quelque chose de plus simple.
$ cd / etc $ sudo mv named.conf named.conf.orig
Éditer /etc/named.conf
comme ça.
// /etc/named.conf
options
répertoire "/ var / named";
;
"." DANS
type d'indice;
fichier "named.ca";
;
inclure "/etc/named.rfc1912.zones";
Définissez les autorisations pour ce fichier.
$ racine chown sudo: nommé /etc/named.conf $ sudo chmod 0640 /etc/named.conf
Activez et démarrez BIND.
$ sudo systemctl enable nommé --now
Vérifiez si le service fonctionne correctement.
$ état systemctl nommé ● named.service - Berkeley Internet Name Domain (DNS) Chargé: chargé (/usr/lib/systemd/system/named.service; activé; préréglage fournisseur: désactivé) Actif: actif (en cours d'exécution) depuis le mercredi 2020-03-11 09:47:39 CET; Il y a 31 ans
Exécuter creuser
sur un domaine externe en vérifiant l'heure de la demande.
$ dig centos.org @localhost
...
;; SECTION RÉPONSE:
centos.org. 60 DANS UN 85.12.30.226
;; SECTION DE L'AUTORITÉ:
centos.org. 14400 EN NS ns4.centos.org.
centos.org. 14400 EN NS ns1.centos.org.
centos.org. 14400 EN NS ns3.centos.org.
;; SECTION SUPPLÉMENTAIRE:
ns4.centos.org. 86400 DANS UN 62.141.54.220
ns3.centos.org. 86400 DANS UN 88.208.217.170
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: Wed Mar 11 11:13:02 CEST 2017
;; MSG SIZE rcvd: 157
Le temps de réponse devrait être beaucoup plus court après une deuxième invocation de creuser
.
$ dig centos.org @localhost ... ;; Temps de requête: 1 msec
Configurer la journalisation
Dans notre configuration actuelle, les journaux inondent / var / log / messages
. Pour éviter cela, nous allons configurer une journalisation spécifique à BIND en ajoutant la position correspondante à /etc/named.conf
.
options répertoire "/ var / named"; ; journalisation channel single_log fichier "/var/log/named/named.log" versions 3 taille 2m; informations sur la 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 à sa place, en attribuant les bonnes autorisations.
$ sudo mkdir / var / log / named $ sudo touch /var/log/named/named.log $ sudo chown -R named: named / var / log / named / $ sudo chmod 0770 / var / log / named
Si vous utilisez SELinux en mode amélioré, vous devez renommer le répertoire / var / log / named
et son contenu.
$ sudo restorecon -R -v / var / log / named
Rechargez la configuration de 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"
Vous devrez également ajouter une option à /etc/named.conf
.
options répertoire "/ var / named"; filtre-aaaa-sur-v4 oui; ;
Redémarrez BIND pour prendre en compte les modifications.
$ sudo systemctl restart named
Utilisation du DNS de base en ligne
Online propose deux serveurs DNS de base que nous utiliserons de préférence.
options répertoire "/ var / named"; filtre-aaaa-sur-v4 oui; transitaires 62.210.16.6; 62.210.16.7; ; ;
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 de BIND.
$ sudo systemctl reload nommé
Serveur maître principal
Nous allons maintenant configurer BIND comme serveur maître principal pour le domaine slackbox.fr
. Le nom de domaine sera réservé au bureau d'enregistrement (greffier) BookMyName.com.
Pour ajouter une zone DNS à BIND afin de la transformer en serveur maître principal, vous devez d'abord indiquer l'emplacement du fichier de zone à /etc/named.conf
. Pour plus de lisibilité, nous allons créer un fichier /etc/named.conf.local
.
// /etc/named.conf.local
Espace "slackbox.fr"
type de maître;
fichier "zone.slackbox.fr";
;
Le fichier named.conf.local
aura les mêmes autorisations que named.conf
.
$ racine chown sudo: nommé /etc/named.conf.local $ sudo chmod 0640 /etc/named.conf.local
Éditer /etc/named.conf
y compris ce fichier.
"." DANS type d'indice; fichier "named.ca"; ; inclure "/etc/named.rfc1912.zones"; inclure "/etc/named.conf.local";
Le fichier /var/named/zone.slackbox.fr
devrait être modifié comme ceci.
; /var/named/zone.slackbox.fr
TTL 86400 $
$ ORIGINE slackbox.fr.
@ IN SOA ns.slackbox.fr. hostmaster.slackbox.fr. ((
2020031101; sn
10800; rafraîchissement (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.
DANS MX 10 mail.slackbox.fr.
slackbox.fr. A 163.172.220.174
ns DANS A 163.172.220.174
mail IN A 163.172.220.174
www CNAME slackbox.fr.
Définissez des autorisations appropriées.
$ racine chown sudo: nommé /var/named/zone.slackbox.fr $ sudo chmod 0640 /var/named/zone.slackbox.fr
Quelques remarques sur la syntaxe et les options utilisées.
- La directive
$ TTL
((Temps de vivre) définit la durée en secondes pendant laquelle un enregistrement peut être mis en cache par un autre serveur de noms. - La directive
$ ORIGINE
définit le nom de domaine ajouté automatiquement à tous les noms de domaine incomplets (c'est-à-dire "non qualifiés") définis dans un enregistrement DNS. Le nom de domaine est toujours un nom de domaine complet (Nom de domaine complet) et se termine par un délai en conséquence. - L'enregistrement
SOA
((Début de l'autorité) définit les principales caractéristiques de la zone ou du domaine avec un certain nombre de paramètres. - Le symbole
@
remplace la valeur de$ ORIGINE
, spécifiquement pourslackbox.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 e-mail de l'administrateur de zone. L'adressehostmaster
est recommandé, mais toute adresse e-mail valide peut être définie ici. Depuis le symbole@
a une signification particulière dans le contexte, nous utilisons des points comme séparateurs, ce qui explique la syntaxe bizarre. L'adresse e-mail définie ici est donchostmaster@slackbox.fr
.2020031101
définit le numéro de série associé à la zone. Par convention, nous utilisons le formatYYYYMMDDSS
. 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 d'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 peut 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 période 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 conservé en cache par le serveur de noms esclave. Cette valeur sera comprise entre 0 et 3 heures (10800
). - L'enregistrement
NS
((Enregistrement des ressources NS) définit le ou les serveurs de noms pour le domaine ou la zone. - L'enregistrement
À
((Un enregistrement de ressource) définit l'adresse IPv4 d'un hôte dans le domaine ou la zone.
Vérifiez la bonne définition de la zone.
$ sudo named-checkzone slackbox.fr /var/named/zone.slackbox.fr slackbox.fr/IN zone: série chargée 2020031101 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), vous devez 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 domaine, puis sur Éditer 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 .Fr
. Pas besoin de louer un deuxième serveur, Online fournit gratuitement un DNS secondaire.
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.
Éditer /etc/named.conf.local
et autoriser le transfert de la zone vers le DNS secondaire d'Online.
// /etc/named.conf.local ... Espace "slackbox.fr" type de maître; allow-transfer 62.210.16.8; ; fichier "zone.slackbox.fr"; ;
DNS inversé
Il ne reste plus qu'à configurer la recherche DNS inversée (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 pointer 163,172,220,174
vers sd-100246.dedibox.fr
. Encore une fois, accédez à la console en ligne > Liste de vos serveurs > Serveur > Réseau > Modifier les revers et indiquez le nom d'hôte souhaité. Pour prendre en compte les modifications, vous devrez attendre un peu.
Quelques chèques
Voici une série de commandes pour 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 slackbox.fr est géré par 10 mail.slackbox.fr.
2. Configuration du DNS inversé
$ 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 slackbox.fr est géré par 10 mail.slackbox.fr.
4. Adresse IP du serveur de messagerie.
$ héberger mail.slackbox.fr mail.slackbox.fr a l'adresse 163.172.220.174
La rédaction de cette documentation nécessite du temps et des quantités importantes de café expresso. Vous aimez ce blog? Offrez à l'éditeur un café en cliquant sur la tasse.
Commentaires
Laisser un commentaire