Configuration de liaison du serveur DNS Linux

Configuration de liaison du serveur DNS Linux

Le logiciel Bind DNS est l'un des moyens les plus fiables et éprouvés de configurer la résolution du nom sur un système Linux. Ayant existé depuis les années 1980, il reste le serveur de noms de domaine le plus populaire (DNS) actuellement utilisé. Cet article sert de manuel de configuration rapide d'un serveur DNS Linux à l'aide de Bind.

Cet article n'est pas une introduction au DNS ou une explication du fonctionnement du protocole. Nous allons plutôt nous concentrer simplement sur une configuration simple d'une zone personnalisée et d'un fichier de configuration pour un domaine / hôte donné prenant en charge www et services de courrier. Suivez les instructions ci-dessous pour obtenir la configuration et la configuration de Bind DNS sur votre propre serveur.

AVERTISSEMENT
Avant de poursuivre l'installation et la configuration de Bind NameServer, assurez-vous que Bind DNS Server est exactement ce que vous voulez. La configuration et l'exécution par défaut de liaison sur Debian ou Ubuntu peuvent prendre environ 200 Mo de RAM sans zones ajoutées au fichier de configuration. Sauf si vous réduisez l'utilisation de la mémoire d'une liaison via divers paramètres de configuration «Options» de liaison, soyez prêt à avoir un RAM de rechange disponible uniquement pour ce service. Ce fait est encore plus important si vous payez pour votre propre serveur VPS.

Dans ce tutoriel, vous apprendrez:

  • Comment installer un lien sur les principales distros Linux
  • Comment créer un fichier de zone DNS
  • Comment configurer l'adresse pour nommer des mappages
  • Comment vérifier le fichier et la configuration de la zone de liaison
  • Comment démarrer ou redémarrer le service Bind DNS
  • Comment tester une configuration de liaison avec creuser commande
Configurer et tester un serveur de noms de liaison sur Linux Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Toute distribution Linux
Logiciel LIER
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Notre environnement de test



Avant de plonger dans toute la configuration de Bind, il est utile d'avoir un contexte de la façon dont nous configurons notre réseau. Reportez-vous à la liste suivante pour voir comment les adresses IP sont affectées à divers systèmes de notre réseau.

  • Adresse IP de NameServer: 192.168.135.130
  • Exemple de domaine / hôte: LinuxConfig.org
  • Des serveurs de noms faisant autorité pour un LinuxConfig.Zone d'organes: NS1.linuxconfig.org (192.168.0.10) et NS2.linuxconfig.org (192.168.0.11)
  • www et services de courrier que LinuxConfig.org pointera vers: 192.168.0.dix

Installez la liaison sur les principales distros Linux

La façon la plus simple d'installer la dernière version de Bind (Bind9) est d'utiliser le gestionnaire de packages de votre système.

Sur un serveur Debian ou Ubuntu Linux, vous pouvez installer un serveur de noms Bind avec la commande Linux suivante:

$ sudo apt install bind9 dnsutils 

Ou avec cette commande sur Centos, Fedora, Almalinux et d'autres distros basés sur RHEL:

$ sudo dnf install bind dnsutils 

Le logiciel DNSUTILS n'est pas un package obligatoire pour exécuter Bind Namesserver, mais nous utiliserons le creuser Commande qui fait partie de ce package en tant qu'outil de test de votre configuration de liaison.

Création d'un fichier de zone DNS

À ce stade, nous devrons créer un nouveau fichier de zone pour un domaine LinuxConfig.org. Suivez les étapes ci-dessous comme nous le faisons.

  1. Aller vers / etc / bind / répertoire puis exécuter la séquence suivante des commandes pour naviguer vers zones / maître /.
    $ cd / etc / bind $ sudo mkdir -p zones / maître $ cd zones / maître / 
  2. Le / etc / bind / zones / maître Le répertoire contiendra un fichier de zone pour le linuxconfig.org nom de domaine. Si vous préférez utiliser un autre répertoire pour maintenir ce fichier, vous êtes libre de le faire. Le fichier de zone suivant, nommé db.linuxconfig.org, détiendra un enregistrement DNS pour aider un serveur de nom pour résoudre un nom de domaine entièrement qualifié à une adresse IP. Créer le db.linuxconfig.org avec Nano ou votre éditeur de texte préféré.


    $ sudo nano / etc / bind / zones / maître / dB.linuxconfig.org 
  3. Ensuite, collez le modèle suivant dans le fichier:
    ; ; Lier le fichier de données pour LinuxConfig.org; $ Ttl 3h @ in soa ns1.linuxconfig.org. administrer.linuxconfig.org. (1; série 3H; actualiser après 3 heures 1H; réessayer après 1 heure 1W; expirer après 1 semaine 1H); Cache négative TTL de 1 jour; @ Dans NS NS1.linuxconfig.org. @ Dans NS NS2.linuxconfig.org. linuxconfig.org. Dans MX 10 Mail.linuxconfig.org. linuxconfig.org. Dans un 192.168.0.10 ns1 dans un 192.168.0.10 ns2 dans un 192.168.0.11 www dans cname LinuxConfig.org. Mail dans un 192.168.0.10 FTP dans CNAME LinuxConfig.org.
    Copie

    Enregistrez vos modifications et quittez ce fichier de configuration une fois terminé. Voici juste un examen rapide de certaines lignes du fichier de zone DNS Bind ci-dessus:

    Record de SOA: NameServer faisant autorité pour une zone LinuxConfig.L'organisation est NS1.linuxconfig.org et admin.linuxconfig.L'organisation est une adresse e-mail d'une personne responsable de cette zone DNS.
    NS Records: deux serveurs de noms pour le LinuxConfig.la zone de l'organisation est ns [1,2].linuxconfig.org
    MX (échange de courrier): LinuxConfig.Enregistrement d'exachange de courrier org. Le numéro 10 signifie une préférence pour rejeter les enregistrements a - A simplement signifie l'adresse ou en d'autres termes dans LinuxConfig.La zone de l'organisation A NS1 aurait une (adresse) 192.168.0.dix.
    CNAME Record (Record du nom canonique): redémarrez la requête en utilisant le nom canonique au lieu du nom d'origine

Le fichier de zone de liaison que nous avons configuré

Configurer l'adresse pour nommer des mappages

À ce stade, le serveur Bind DNS peut résoudre une adresse IP mappée à un LinuxConfig.hôte en org. Ce que nous devrions faire maintenant, c'est l'enseignement de notre nom de nom dans l'autre sens, c'est-à-dire pour résoudre un hôte à partir d'une adresse IP.

  1. Pour cela, nous allons avoir besoin d'un autre fichier et qui est nommé db.192.168.0.
    $ sudo nano / etc / bind / zones / maître / dB.192.168.0 
  2. À l'intérieur de ce fichier, collez le contenu suivant:
    ; ; Lignez le fichier de données inversé pour 0.168.192.indem.arpa; $ TTL 604800 0.168.192.indem.arpa. Dans SOA NS1.linuxconfig.org. administrer.linuxconfig.org. (1; série 3H; actualiser après 3 heures 1H; réessayer après 1 heure 1W; expirer après 1 semaine 1H); Cache négative TTL de 1 jour; 0.168.192.indem.arpa. Dans NS NS1.linuxconfig.org. 0.168.192.indem.arpa. Dans NS NS2.linuxconfig.org. dix.0.168.192.indem.arpa. Dans ptr LinuxConfig.org.
    Copie

    Ptr: un enregistrement NDS utilisé pour une cartographie d'une adresse IP à un nom d'hôte.

L'enregistrement de liaison inverse

Mise à jour d'un fichier de configuration de liaison

À ce stade, nous devrions avoir deux fichiers prêts:

  • / etc / bind / zones / maître / dB.linuxconfig.org
  • / etc / bind / zones / maître / dB.192.168.0
  1. Tout ce que nous devons faire maintenant est d'insérer les deux noms de fichiers de zone dans le fichier de configuration de liaison nommé.confli.local.
    $ sudo nano / etc / bind / nommé.confli.local 


  2. Ensuite, ajoutez des lignes suivantes dans ce fichier:
    Zone "LinuxConfig.org "type maître; fichier" / etc / bind / zones / maître / db.linuxconfig.org ";; zone" 0.168.192.indem.arpa "type maître; fichier" / etc / bind / zones / maître / db.192.168.0 ";;
    Copie
  3. Dire Bind où se trouvent nos fichiers de zone
  4. La dernière chose avant d'aller de l'avant et de vérifier la configuration est d'ajouter une adresse IP d'un serveur DNS stable au nommé.confli.options déposer. Cette adresse IP est utilisée dans le cas où un serveur DNS local ne connaît pas la réponse à une requête de résolution de nom. L'adresse IP d'un serveur DNS dans de nombreux cas est fournie par votre fournisseur Internet. Alternativement, vous pouvez utiliser les serveurs DNS publics de Google aux adresses IP 8.8.8.8 ou 8.8.4.4.
    $ sudo nano / etc / bind / nommé.confli.options 
  5. Remplacez l'adresse du transfert (par défaut, c'est 0.0.0.0) avec le 8.8.8.8 adresse IP.
     transitaires 8.8.8.8; ; 


  6. Configurez une adresse de transfert à un serveur DNS fiable à partir de votre FAI ou Google

Vérification des fichiers et configuration de la zone de Bind

Avant d'essayer de démarrer un serveur de noms de liaison avec une nouvelle zone et une nouvelle configuration, voici quelques outils pour vérifier pour nous assurer que nous n'avons pas fait de typo ou de confection erronée.

  1. Pour vérifier les fichiers de configuration, exécutez une commande Linux suivante:
    $ sudo nommé CheckConf 

    Avec ça Named-CheckConf Commande, la règle de base est: aucune nouvelle n'est une bonne nouvelle. Si aucune sortie n'a été produite, vos fichiers de configuration sont OK.

  2. Pour vérifier les fichiers DNS Zone que nous pouvons utiliser nommé-Checkzone commande:
    $ sudo nommé-Checkzone LinuxConfig.org / etc / bind / zones / maître / dB.linuxconfig.Zone d'organes LinuxConfig.org / in: série chargée 1 ok 
  3. Ou, pour vérifier le fichier de zone inverse:
    $ sudo nommé Checkzone 0.168.192.indem.arpa / etc / bind / zones / maître / db.192.168.0 Zone 0.168.192.indem.arpa / in: série chargée 1 ok 
Tester notre configuration de liaison pour les erreurs ou les erreurs de configuration

Démarrer ou redémarrer lier le serveur de noms

Étant donné que les commandes ci-dessus ont confirmé que notre configuration de liaison est valide, nous pouvons démarrer le service de liaison pour que toutes ces modifications prennent effet.

$ sudo systemctl start bind9 

Alternativement, si votre serveur Bind est déjà en cours d'exécution, utilisez la commande Linux suivante pour vous aider avec son redémarrage:

$ sudo systemctl redémarrer Bind9 

Tester une configuration de serveur Bind

Le creuser La commande du package DNSUTILS sera utile pour nous aider à tester une nouvelle configuration du serveur de noms Bind.

  1. Le creuser La commande peut être utilisée à partir de n'importe quel PC qui a un accès réseau à votre serveur DNS, mais de préférence vous devriez commencer vos tests à partir du localhost. Dans notre cas, l'adresse IP de notre serveur de nom est 192.168.135.130. Nous allons d'abord tester la résolution hôte-IP:
    $ DIG @ 192.168.135.130 www.linuxconfig.org 
  2. Utilisation de la commande Dig pour tester l'hôte à la résolution IP
  3. Ensuite, nous testons la résolution IP-Hôte:
    $ DIG @ 192.168.135.130 -x 192.168.0.dix 


  4. Utilisation de la commande DIG pour tester IP pour héberger la résolution

C'est tout ce qu'on peut en dire. Vous venez de créer et de configurer votre propre zone DNS en utilisant Bind Namesserver.

Réflexions de clôture

Dans ce guide, nous avons appris à créer et à configurer une zone DNS en utilisant Bind Namesserver sur les principales distros Linux. Bind est un excellent logiciel DNS avec une longue histoire de fiabilité. Comme nous l'avons vu ici, il ne faut qu'une petite configuration pour le mettre en marche et certains tests pour vérifier qu'il fonctionne correctement.

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Comment définir une zone de tout le monde personnalisé
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Téléchargement Linux
  • Linux: Configuration du serveur de messagerie
  • Fichiers de configuration Linux: 30 premiers
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Linux peut-il obtenir des virus? Exploration de la vulnérabilité de Linux…
  • Ubuntu 20.04 astuces et choses que vous ne savez peut-être pas