Comment effectuer une configuration complète du serveur DNS BIND9 avec un nom d'hôte?

52

J'ai besoin d’un guide complet, étape par étape, sur la manière de créer une telle configuration de serveur.

Quelqu'un peut-il m'aider?

    
posée Artemis 08.08.2013 - 15:17
la source

2 réponses

117

Serveur DNS complet sur le serveur Ubuntu 12.

Tout d’abord, changez l’adresse IP de votre serveur DHCP en STATIC pour utiliser la commande suivante

sudo nano /etc/network/interfaces

et ajoutez:

auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers

Redémarrez les processus réseau

sudo /etc/init.d/networking restart

Avant de configurer un serveur DNS sous Linux Ubuntu, vous devez d'abord créer un nom de domaine, puis continuer. Tout d'abord, vous vérifierez la commande de votre nom d'hôte pour cela est

sudo nano /etc/hostname

 nefitari       

(Ceci est mon nom d’hôte pour le serveur Ubuntu, votre nom peut être différent. Vous pouvez le changer en fonction de vos besoins)

Maintenant, après le nom d'hôte, vous devez créer un nom de domaine pour votre serveur. Dites servername.domain.com, il est préférable de ne pas utiliser .com, mais .hom ou .net ou tout ce que vous voulez lorsque vous configurez le serveur pour un usage domestique. Donnez la commande ci-dessous

  sudo nano /etc/hosts

ajoutez s'il ne l'a pas:

  127.0.0.1   localhost

  192.168.1.5     nefitari.autun.hom    nefitari

Dans mon fichier 127.0.0.1 est pour localhost et j'ai changé la deuxième adresse IP 127.0.1.1 avec mon IP de serveur qui est 192.168.1.5 maintenant je saisis mon nom de domaine ayant mon nom d’hôte nefitari puis mon nom de domaine autun.hom , puis l'alias nefitari . Vous pouvez sélectionner votre propre nom d'hôte.abc.net ou nomhôte.home.lan, etc., mais rappelez-vous que la modification de ce fichier nécessite de redémarrer votre serveur, puis de vous connecter. Le redémarrage est indispensable

Installez maintenant BIND9

 sudo apt-get install bind9

Après l'installation, configurez les fichiers ci-dessous étape par étape

  • Named.conf.options
  • Named.conf.local
  • /etc/resolv.conf

Configurez maintenant le fichier named.conf.options Ce fichier est utilisé pour les adresses IP DNS Cela signifie que votre serveur doit se connecter à certains DNS à l'extérieur. Lorsque vous achetez un nom de domaine auprès d'un fournisseur de services Internet, il vous donne normalement ses propres adresses IP DNS. Vous pouvez utiliser des adresses IP DNS ouvertes de Google ou plus. Dans mon cas, j'utilise mes propres adresses IP DNS pour les FAI.

 sudo nano /etc/bind/named.conf.options
 forwarders {
 # Give here your ISP DNS IP’s
192.168.1.1;    # gateway or router   
182.176.39.23;
182.176.18.13;
68.87.76.178;
  };

*** Enregistrez le fichier et quittez *** en utilisant le contrôle x appuyez sur y et écrasez le fichier

Maintenant, éditez le fichier nommé.conf.local C'est le fichier dans lequel nous définissons les zones avant et arrière. Cela signifie que lorsque nous entrerons un nom de domaine, il sera traduit en adresse IP et lorsque nous entrerons une adresse IP, il le convertira simplement en nom.

sudo nano /etc/bind/named.conf.local

montrera:

# Our forward zone
zone "autun.hom" {
 type master;
 file "/etc/bind/zones/db.autun.hom";
 };

# Our reverse Zone 
# Server IP 192.168.1.5 
zone "1.168.192.in-addr.arpa" {
  type master;
  file "/etc/bind/zones/db.192";
 };

*** Enregistrez le fichier et quittez *** en utilisant le contrôle x appuyez sur y et écrasez le fichier

Nous allons maintenant rendre ces deux fichiers de base de données db.autun.hom et db.192 dans le dossier des zones

Commencez par créer les zones de répertoire dans / etc / bind /

  sudo mkdir /etc/bind/zones

Avant de créer des fichiers, permettez-moi de vous dire que j'ai différents périphériques

Périphériques IP

  • Serveur lui-même 192.168.1.5
  • Passerelle 192.168.1.1
  • Win7pc 192.168.1.50

Maintenant, dans le répertoire des zones, nous allons d'abord créer deux fichiers db.autun.hom . Je ne fais que copier le db.local déjà présent dans le dossier / etc / bind dans le dossier des zones en changeant son nom en db.autun.hom . . Je vais mettre ces adresses IP dans mon fichier db.autun.hom. Commençons

sudo cp /etc/bind/db.local  /etc/bind/zones/db.autun.hom

Maintenant, utilisez la commande ci-dessous pour éditer le fichier

sudo nano /etc/bind/zones/db.autun.hom

 ;
 ; BIND data file for local loopback interface
 ;
 $TTL    604800
 @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
  ;
autun.hom.      IN  NS  nefitari.autun.hom.
autun.hom.      IN  A   192.168.1.5
   ;@               IN  A   127.0.0.1
   ;@               IN  AAAA    ::1
nefitari            IN  A   192.168.1.5
gateway         IN  A   192.168.1.1
win7pc          IN  A   192.168.1.50
www     IN  CNAME   autun.hom.

Enregistrer et quitter

  • Webuser.autun.hom. est l’e-mail qui accédera au serveur de noms. Vous pouvez écrivez n'importe quel nom à la place de l'utilisateur Web comme admin, root ou host master, etc.
  • Autun.hom. correspond à mon nom de serveur NS
  • Autun.hom en changeant l'adresse IP 192.168.1.5
  • @ IN A 127.0.0.1 et AAAA :: 1 peuvent être des commentaires dont vous ne devriez pas avoir besoin c'est parce que db.local est déjà présent dans / etc / bind c'est juste une copie de ce fichier. Donc pas besoin de pouvoir le supprimer
  • Changer Néfitari en IP 192.168.1.5
  • Passerelle vers IP 192.168.1.1
  • Win7pc vous pouvez attribuer un nom à vos PC Windows ou Linux Clients rappelez-vous que l'adresse IP de ce client doit être correctement insérée dans le fichier. Dans mon cas, j'ai donné l'adresse IP de Windows PC 192.168.1.50
  • Enfin, j'utilise le CNAME qui signifie nom canonique, c'est juste un alias pour néfitari. Signifie que vous pouvez accéder à votre serveur en entrant www.autun.hom au lieu de cela nefitari.autun.hom. Vous pouvez omettre ceci ou commenter C'est juste à vous.

Maintenant, créez un fichier de zone de recherche inversée

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

Maintenant, utilisez la commande ci-dessous pour éditer le fichier

sudo nano /etc/bind/zones/db.192

   ;
   ; BIND reverse data file for local loopback interface
   ;
   $TTL    604800
   @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
   ;
        IN  NS  nefitari.
1   IN  PTR gateway.autun.hom.
5   IN  PTR nefitari.autun.hom.
50  IN  PTR win7pc.autun.hom.

Enregistrer et quitter

Maintenant que vous avez terminé avec votre fichier de zone, vous devez vérifier s'il fonctionne correctement ou non en entrant la commande ci-dessous pour le fichier de zone directe

named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial   2
Ok

Maintenant, vérifiez le fichier de zone inverse

named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial   2
Ok 

Si la sortie de votre zone de contrôle nommée est la même que ci-dessus, elle fonctionne correctement, sinon vous avez commis des erreurs dans le fichier.

Maintenant, éditez le fichier resolv.conf

sudo nano /etc/resolv.conf

nameserver      192.168.1.5
domain      autun.hom
search      autun.hom

Entrez les lignes suivantes dans votre fichier resolv.conf et enregistrez-le

Redémarrez la liaison

sudo /etc/init.d/bind9 restart

Après le démarrage de la liaison, vérifiez vos paramètres dans le fichier journal

tail -f /var/log/syslog

il ne doit y avoir aucune erreur dans le journal

Vérification des zones avancées

host –l autun.hom

La sortie devrait aimer ça

 autun.hom name server nefitari.autun.hom.
 autun.hom has address 192.168.1.5
 gateway.autun.hom has address 192.168.1.1
 nefitari.autun.hom has address 192.168.1.5
 win7pc.autun.hom has address 192.168.1.50

Utilisez maintenant NSLOOKUP

nslookup autun.hom

SORTIE

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

Utilisez DIG

 dig gateway.autun.hom

 ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

 ;; QUESTION SECTION:
 ;gateway.autun.hom         IN  A

 ;; ANSWER SECTION:
 gateway.autun.hom      604800  IN  A   192.168.1.1

 ;; AUTHORITY SECTION:
 Autun.hom.     604800  IN      NS  nefitari.autun.hom. 

 ;; ADDITIONAL SECTION:
 Nefitari.autun.hom.    604800  IN      A   192.168.1.5

 ;; Query time: 12 msec
 ;; SERVER: 192.168.1.5#53(192.168.1.5)
 ;; WHEN: Thu Aug 8 01:56:25 2013
 ;; MSG SIZE  rcvd: 90

La sortie devrait être similaire à la précédente, vérifiez status: NOERROR signifie qu’elle résout la vérification SECTION REPONSE: gateway.autun.hom est résolu en 192.168.1.1

Vérification de la zone inverse

 host 192.168.1.1

Sortie

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

Si cela vous donne une erreur comme ci-dessous

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

Cela signifie que vous avez commis des erreurs dans le fichier /etc/bind/named.conf.local dans la zone inverse Si l'adresse IP de votre serveur est 192.168.1.5 , votre zone inversée ressemble à ceci

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

Parfois, les gens commettaient une erreur en inversant l’IP (juste un exemple)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

Utilisez NSLOOKUP

nslookup 192.168.1.1

Server: 192.168.1.5
Address: 192.168.1.5#53

1.1.168.192.in-addr.arpa    name=gateway.autun.hom

Si vous obtenez des erreurs de type NXDOMAIN ou SERVFAIL, cela signifie que l’un de vos fichiers de zone ne fonctionne pas correctement

Vous pouvez maintenant lancer un ping sur ubuntu.com ou creuser ubuntu.com pour la première fois, il faudra plusieurs secondes pour résoudre le nom ubuntu. .com mais quand vous le lancez second il faudra 1, 2 ou 3 secondes normalement de 1 à 10 millisecondes sont normales et que votre DNS fonctionne correctement

Configuration des clients

Windows

  • ouvrir les connexions réseau
  • sélectionnez Modifier les paramètres de l’adaptateur
  • sélectionnez propriétés
  • sélectionnez la version du protocole Internet IPv4

et donnez ici l’adresse IP (dans mon cas, c’est 192.168.1.50, vous vous souvenez de win7pc)

  • Adresse IP 192.168.1.50
  • Masque de sous-réseau 255.255.255.0
  • Passerelle par défaut 192.168.1.1
  • DNS primaire 192.168.1.5 (mon adresse IP du nouveau serveur DNS BIND)
  • dans la même fenêtre, sélectionnez Avance
  • sélectionnez l'onglet DNS
  • Tapez dans la zone de texte ci-dessous ici Dans Suffixe DNS pour cela connexion: autun.hom
  • cliquez sur ok
  • cliquez sur valider le paramètre à la sortie
  • cliquez sur ok

et vous en avez fini avec CMD ouvert

ping gateway

il doit vous donner quelques réponses

de même

ping 192.168.1.1 or 5

il doit vous donner quelques réponses

Testez votre serveur en dehors du monde

Maintenant, vous pouvez lancer un ping sur ubuntu.com ou creuser ubuntu.com pour la première fois, il faudra plusieurs millisecondes pour résoudre le nom ubuntu.com, mais lorsque vous le lancerez une deuxième fois, cela prendra entre 1 et 10 mil temps normal et cela signifie que votre DNS fonctionne correctement Configuration des clients

Windows

ouvrir les connexions réseau sélectionnez Modifier les paramètres de l'adaptateur sélectionner les propriétés sélectionnez la version du protocole Internet IPv4

et donnez ici l’adresse IP (dans mon cas, c’est 192.168.1.50, vous vous souvenez de win7pc)

Adresse IP 192.168.1.50

Masque de sous-réseau 255.255.255.0

Passerelle par défaut 192.168.1.1

DNS principal 192.168.1.5 (mon nouvel ip de serveur DNS BIND)

sélectionnez Avance (dans la même fenêtre)

sélectionnez l'onglet DNS

Tapez dans la zone de texte ci-dessous Dans le suffixe DNS pour cette connexion: autun.hom

cliquez sur ok

cliquez sur Valider les paramètres à la sortie

cliquez sur ok

et vous en avez fini avec CMD

Code:

 ping gateway

il doit vous donner quelques réponses

de même

Code:

 ping 192.168.1.1 or 5

il doit vous donner quelques réponses vous pouvez utiliser NSLOOKUP Code:

 nslookup gateway

CLIENTS LINUX

Code:

 sudo nano /etc/network/interfaces

tapez les lignes suivantes

Code:

 auto eth0
 iface eth0 inet dhcp

Maintenant, redémarrez Network Deamons

Code:

 sudo /etc/init.d/networking restart

pour forcer le client à renouveler la commande IP

Code:

 sudo dhclient -r

Maintenant, obtenez une nouvelle adresse IP:

Code:

 sudo dhclient

Si vous utilisez un serveur DHCP sur votre réseau, entrez le nom de domaine et le serveur de noms dans le fichier dhcpd.conf; par exemple, j'ai le serveur DNS nommé nefitari.autun.hom et l'adresse IP est 192.168.1.5 comme sous

Code:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

source

    
réponse donnée fossfreedom 17.07.2016 - 19:21
la source
1

La réponse est juste un ajout à l'excellente description ci-dessus.

Conseil de dépannage

Soyez très prudent avec les nombreux "." dans les fichiers de configuration comme chacun est important. Un seul manquant ". ' peut empêcher le serveur DNS de fonctionner. Vous ne devez pas compter sur des messages d'erreur clairs.

J'ai appris à utiliser un numéro de série plus précis. Il est très important d'incrémenter le numéro de série chaque fois que la configuration est modifiée, par ex. nouvelles entrées ajoutées. Si ce n'est pas incrémenté, un DNS secondaire ne parviendra pas à synchroniser les nouveaux paramètres. Le format suggéré est YYYYMMDDss , où ss est "l'ancien" numéro de série. Ainsi, lors de l'incrémentation, vous devez incrémenter ss de +1 et définir la date à la date actuelle. J'ai trouvé cela très utile dans le dépannage de la configuration. Dans le Syslog, vous voyez clairement la date et la série du fichier utilisé.

Dans Ubuntu 16.04, le changement de resolv.conf est obsolète. Comme jdthood écrit dans son commentaire, remplacez l'étape par la procédure suivante:  - Changer / etc / default / bind9: la nouvelle volonté devrait ressembler à ceci:

   # run resolvconf?
   RESOLVCONF=yes

   # startup options for the server
   OPTIONS="-u bind"

   # use this when you have trouble with IPV6
   #OPTIONS="-u bind -4"

voir le commentaire de not-a-patch pour les problèmes IPV6.

  • place un lien symbolique de /etc/resolv.conf dans /run/resolvconf/resolv.conf

     cd /etc
     sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
    

Installation hors ligne

La configuration est exactement la même, et même un peu plus facile, car vous pouvez simplement ignorer les sections de transfert. Il n'est pas nécessaire qu'ils soient présents, il n'est donc pas nécessaire de modifier le /etc/bind/names.con.options .

Réseaux de classe B

Quelques modifications mineures sont nécessaires pour que cela fonctionne pour les réseaux de classe B (avant qu’il y ait des commentaires, il n’ya aucune raison pour qu'un réseau local, même à la maison, ne soit pas un class-B au lieu d’une classe). Réseau C). Dans cet exemple, j'utilise le numéro de réseau 172.20.x.x. (Je pense que la notation formelle est 172.20.0.0. Pour plus d’informations google rfc1918).

Utilisez la description de la première réponse, remplacez toutes les IP 192.168.x.x par 172.20.x.x, utilisez pour le serveur l'IP 172.20.0.100 et modifiez les fichiers comme suit:

  • le nom du fichier db.192 devient db.172 .
  • le fichier named.conf.local obtient une section de zone inverse différente:

    zone "20.172.in-addr.arpe" {
    type master;
    file "/etc/bind/zones/db.172";
    }
    
  • Le fichier de zones inversées est remplacé par:

    ;
    ; BIND reverse data file for 172.20.x.x
    ;
    $TTL    604800
    @       IN      SOA     nefitari.autun.hom. webuser.autun.hom. (
                 2017022102         ; more intuitive serial YYYYMMDDss, here ss=02
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
    
    ; note: the '@'was missing from in the initial description
    @       IN  NS  nefitari.autun.hom.    
    
    100.0   IN  PTR nefitari.autun.hom. 
    121.0   IN  PTR client1.autun.hom.
    130.0   IN  PTR client2.autun.hom.
    33.0    IN  PTR client3.autun.hom.
    

Le reste est le même.

J'espère que c'est utile pour quelqu'un.

    
réponse donnée CatMan 22.02.2017 - 03:27
la source

Lire d'autres questions sur les étiquettes