[CENTOS] Construction du serveur DNS interne (enregistrement A / enregistrement PTR uniquement)

Cette fois, la procédure consiste à créer un serveur DNS dans l'environnement de vérification et à effectuer une recherche directe / inverse sur l'enregistrement A / PTR.

Déployer une machine virtuelle

Commencez par configurer les paramètres du matériel virtuel pour la machine virtuelle. -Connectez-vous à la destination de déploiement ESXi. -Stockez le fichier ISO dans n'importe quel emplacement à partir de Storage> Datastore> Datastore Browser. -Depuis la création / l'enregistrement de la machine virtuelle, définissez les éléments suivants et terminez. ● Sélection du type de création -Créer une nouvelle machine virtuelle ● Sélectionnez le nom et le système d'exploitation invité ・ Le nom est CentOS7 (facultatif) · La compatibilité est la machine virtuelle ESXi 6.x -Guest OS famille est linux, la version invité OS est CentOS 7 (64 bits) ● Sélection de stockage ・ Sélectionnez n'importe quel magasin de données ● Personnaliser les paramètres ・ CPU / mémoire / disque dur / adaptateur réseau en option -Sélectionnez le fichier ISO stocké à n'importe quel emplacement dans le magasin de données sur le lecteur CD / DVD 1 et sélectionnez-le. Mettez ☑ dans la connexion lors de la mise sous tension

Ensuite, démarrez la machine virtuelle et installez le système d'exploitation. Les paramètres d'installation sont facultatifs, mais la sélection de logiciels choisit une installation minimale. Après l'installation, redémarrez.

Voir ci-dessous pour créer un référentiel local. https://qiita.com/fooot4/items/6e7ec0df51ac18abfb2b

Installer bind

# yum --disablerepo=* --enablerepo=local install bind
Plug-in chargé:fastestmirror
Loading mirror speeds from cached hostfile
Résolution des dépendances
-->Effectuer la confirmation de transaction.
--->Liaison de package.x86_64 32:9.9.4-29.installer el7
-->J'ai affaire à des dépendances: bind-libs = 32:9.9.4-29.paquet el7: 32:bind-9.9.4-29.el7.x86_64
-->J'ai affaire à des dépendances: liblwres.so.90()(64bit)Paquet: 32:bind-9.9.4-29.el7.x86_64
-->J'ai affaire à des dépendances: libisccfg.so.90()(64bit)Paquet: 32:bind-9.9.4-29.el7.x86_64
-->J'ai affaire à des dépendances: libisccc.so.90()(64bit)Paquet: 32:bind-9.9.4-29.el7.x86_64
-->J'ai affaire à des dépendances: libisc.so.95()(64bit)Paquet: 32:bind-9.9.4-29.el7.x86_64
-->J'ai affaire à des dépendances: libdns.so.100()(64bit)Paquet: 32:bind-9.9.4-29.el7.x86_64
-->J'ai affaire à des dépendances: libbind9.so.90()(64bit)Paquet: 32:bind-9.9.4-29.el7.x86_64
-->Effectuer la confirmation de transaction.
--->Liaison de package-libs.x86_64 32:9.9.4-29.installer el7
-->Résolution des dépendances terminée.

Résolution de la dépendance

================================================================================
Architecture du package
Capacité du référentiel de versions
================================================================================
Pendant l'installation:
 bind              x86_64         32:9.9.4-29.el7           local         1.8 M
Installation liée aux dépendances:
 bind-libs         x86_64         32:9.9.4-29.el7           local         1.0 M

Récapitulatif des transactions
================================================================================
Paquet d'installation 1(+1 package dépendance)

Capacité totale de téléchargement: 2.8 M
Capacité d'installation: 6.9 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
115 Mo au total/s | 2.8 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Pendant l'installation: 32:bind-libs-9.9.4-29.el7.x86_64                1/2
Pendant l'installation: 32:bind-9.9.4-29.el7.x86_64                     2/2
Pendant la vérification: 32:bind-9.9.4-29.el7.x86_64                     1/2
Pendant la vérification: 32:bind-libs-9.9.4-29.el7.x86_64                2/2

Installation:
  bind.x86_64 32:9.9.4-29.el7

Dépendance installée liée:
  bind-libs.x86_64 32:9.9.4-29.el7

A completé!

Modification de /etc/named.conf

-Définissez le serveur DNS dans named.conf.

# vi /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

options {
        listen-on port 53 { 127.0.0.1; x.x.x.i; };
        listen-on-v6 port 53 { none; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-query     { localhost; x.x.x.z/nn; };

        /*
         - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
         - If you are building a RECURSIVE (caching) DNS server, you need to enable
           recursion.
         - If your recursive DNS server has a public IP address, you MUST enable access
           control to limit queries to your legitimate users. Failing to do so will
           cause your server to become part of large scale DNS amplification
           attacks. Implementing BCP38 within your network would greatly
           reduce such attack surface
        */
        recursion no;

        dnssec-enable no;
        dnssec-validation no;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";

        pid-file "/run/named/named.pid";
        session-keyfile "/run/named/session.key";
};

logging {
        channel named_log {
                file "/var/log/named_messages";
                severity dynamic;
                print-time yes;
                print-severity yes;
                print-category yes;
        };

        category queries { "named_log"; };
        category security { "named_log"; };
        category default { "named_log"; };
};

zone "local" IN {
        type master;
        file "local.zone";
};

zone "x.x.x.in-addr.arpa" IN {
        type master;
        file "local.revzone";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

À propos du paramètre named.conf

・ Réglez les éléments suivants.

paramètre Explication
listen-on port 53 { 127.0.0.1; x.x.x.i; }; x.x.x.J'écoute je/Spécifiez l'adresse IPv4 de F
listen-on-v6 port 53 { none; }; Écoute je/Spécifiez l'adresse IPv6 de F(Aucun car ce n'est pas nécessaire cette fois)
allow-query { localhost; x.x.x.z/nn; }; Spécifiez le réseau qui accepte les requêtes(Pour l'hôte, adresse IP uniquement)
recursion no; Ne faites pas de requêtes récursives
dnssec-enable no; dnssec désactivé
dnssec-validation no; dnssec désactivé
channel named_log { Définir le nom du canal(Le nom du canal est arbitraire, cette fois nommé_Enregistrons)
file "/var/log/named_messages"; Spécifiez la destination de sortie du journal(Cette fois nommée_Faire des messages)
severity dynamic; Niveau de journal(importance)Spécifier(Cette fois c'est tout)
print-time yes; Enregistrez l'horodatage dans le journal
print-severity yes; Niveau de journalisation à journaliser(importance)Enregistrer
print-category yes; Enregistrez la catégorie dans le journal
category queries { "named_log"; }; Sortie de journal(Enregistrement de requête de requête)Spécifier
category security { "named_log"; }; Sortie de journal(Registre d'approbation / refus de demande)Spécifier
category default { "named_log"; }; Sortie de journal(Autre que spécifié intentionnellement dans la catégorie)Spécifier
zone "local" IN { Définir une zone
type master; Définir être le maître de cette zone
file "local.zone"; Spécifiez le nom du fichier de zone auquel faire référence
zone "x.x.x.in-addr.arpa" IN { Définir une zone
type master; Définir être le maître de cette zone
file "local.revzone"; Spécifiez le nom du fichier de zone auquel faire référence
Catégorie Explication
database Enregistrements liés à la base de données, tels que les informations de zone et les informations de cache
security Registre d'approbation / refus de demande
config Analyse de la syntaxe du fichier de configuration et enregistrement de traitement
resolver Un enregistrement des résolutions DNS telles que les recherches récursives, représenté par le comportement des serveurs de cache s'exécutant pour le compte des clients.
xfer-in Enregistrement des transferts de zone reçus par le serveur
xfer-out Un enregistrement des transferts de zone envoyé par le serveur
notify Enregistrement du protocole NOTIFY
client Traitement de l'enregistrement de la demande du client
network Enregistrement de l'exploitation du réseau
update Enregistrement DDNS
queries Enregistrement de requête de requête
dispatch Enregistrement de l'allocation (répartition) du processeur pour traiter les paquets entrant dans le module serveur
dnssec Enregistrement des traitements DNSSEC et TSIG
lame-servers Enregistrement d'une mauvaise configuration (lame) trouvée sur d'autres serveurs pendant la résolution DNS
general De nombreux journaux autres que ceux ci-dessus ne sont pas classés et sont classés comme généraux
default Les catégories autres que celles intentionnellement spécifiées dans la catégorie sont définies ici

-Créer un fichier journal. Vous devez donner l'autorisation d'exécution pour que le service nommé puisse écrire.

# touch /var/log/named_messages
# chown named:named /var/log/named_messages
# ll /var/log/named_messages
-rw-r--r--.1 nommé nommé 0 novembre 15 11:59 /var/log/named_messages

Créer un fichier de zone

Cette fois, nous allons créer un fichier de zone avant / arrière. -Créer un fichier de zone avant * Veuillez établir un lien avec le nom de domaine / nom d'hôte / adresse IP.

# /var/named/local.zone
$TTL 86400
@    IN   SOA   ns.local.   root.local. (
  2014010101     ;Serial
  3600           ;Intervalle de transfert de zone(Secondes)
  300            ;Intervalle de relance en cas d'échec du transfert(Secondes)
  360000         ;Temps de rétention des fichiers de zone(Secondes)
  86400     )    ;Temps mis en cache sur d'autres serveurs(Secondes)

;  Zone NS records
          IN   NS          ns.local.

;  Zone records
host01            IN   A            x.x.x.x
ns                IN   A            x.x.x.i

-Créer un fichier de zone inversée * Veuillez établir un lien avec le nom de domaine réel / FQDN / adresse IP / masque de sous-réseau.

# /var/named/local.revzone
$TTL 86400
@    IN   SOA   ns.local.   root.local. (
  2014010101     ;Serial
  3600           ;Intervalle de transfert de zone(Secondes)
  300            ;Intervalle de relance en cas d'échec du transfert(Secondes)
  360000         ;Temps de rétention des fichiers de zone(Secondes)
  86400     )    ;Temps mis en cache sur d'autres serveurs(Secondes)

;  Zone NS records
          IN   NS          local.

;  Zone records
        IN   PTR          local.
        IN   A            y.y.y.y
x       IN   PTR          host01.local.
i       IN   PTR          ns.local.

Vérifiez le fichier named.conf / zone

-Vérifier named.conf

# named-checkconf

・ Vérifiez le fichier de la zone avant

# named-checkzone local. /var/named/local.zone
zone local/IN: loaded serial 2014010101
OK

-Vérifiez le fichier de zone inversée * Veuillez établir un lien avec l'adresse IP réelle.

# named-checkzone x.x.x.in-addr.arpa. /var/named/local.revzone
zone x.x.x.in-addr.arpa/IN: loaded serial 2014010101
OK

paramètres du pare-feu

-Définissez l'ouverture du port de service de pare-feu ci-dessous.

# firewall-cmd --permanent --add-service=dns
success

# firewall-cmd --reload
success

# firewall-cmd --list-all
public (default, active)
  interfaces: eno16780032
  sources:
  services: dhcpv6-client dns ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

démarrage du service nommé

# systemctl start named
# systemctl status named
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
   Active: active (running)depuis le jour 2020-11-15 12:23:38 JST; 36s ago
  Process: 1471 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 1468 ExecStartPre=/bin/bash -c if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Checking of zone files is disabled"; fi (code=exited, status=0/SUCCESS)
 Main PID: 1473 (named)
   CGroup: /system.slice/named.service
           mq1473 /usr/sbin/named -u named

15 novembre 12:23:38 dns.local named[1473]: using default UDP/IPv4 port range: [1024, 65535]
15 novembre 12:23:38 dns.local named[1473]: using default UDP/IPv6 port range: [1024, 65535]
15 novembre 12:23:38 dns.local named[1473]: listening on IPv4 interface lo, 127.0.0.1#53
15 novembre 12:23:38 dns.local named[1473]: listening on IPv4 interface eno16780032, x.x.x.i#53
15 novembre 12:23:38 dns.local named[1473]: generating session key for dynamic DNS
15 novembre 12:23:38 dns.local named[1473]: sizing zone task pool based on 7 zones
15 novembre 12:23:38 dns.local named[1473]: set up managed keys zone for view _default, file '/var/named/dynamic/managed-keys.bind'
15 novembre 12:23:38 dns.local named[1473]: command channel listening on 127.0.0.1#953
15 novembre 12:23:38 dns.local named[1473]: command channel listening on ::1#953
15 novembre 12:23:38 dns.local systemd[1]: Started Berkeley Internet Name Domain (DNS).

-Vérifiez si le nom peut être résolu à partir du client DNS. Vérifiez également si le journal est généré à partir de cat / var / log / named_messages.

Recommended Posts

Construction du serveur DNS interne (enregistrement A / enregistrement PTR uniquement)
Procédure de construction du serveur Serveur Ubuntu18.04
Essayez de déployer l'application Rails sur EC2-Part 2 (Server Construction) -
Ubuntu18.04 LTS Build Minecraft Server Mémorandum de l'édition Java
Construction du serveur DNS interne (enregistrement A / enregistrement PTR uniquement)