Réponses:
Commencez par changer l'adresse IP de votre serveur, de DHCP à STATIC, pour cela, utilisez la commande suivante
sudo nano /etc/network/interfaces
et ajouter:
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 démons réseau
sudo /etc/init.d/networking restart
Avant de configurer un serveur DNS sous Linux Ubuntu, vous devez d'abord définir le nom de domaine, puis procéder. D'abord, vous allez vérifier votre commande de nom d'hôte pour savoir si
sudo nano /etc/hostname
nefitari
(Ceci est mon nom d'hôte de serveur Ubuntu, le vôtre peut être différent. Vous pouvez le modifier 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 plutôt .hom ou .net ou tout ce que vous voulez, lorsque vous configurez le serveur pour un usage domestique ou autre. Donne 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 j'entre mon nom de domaine ayant mon nom d'hôte nefitari d' abord puis mon nom de domaine autun.hom puis alias nefitari . Vous pouvez choisir votre propre nom d’hôte.abc.net ou votre nom d’hôte.home.lan etc. Redémarrer est indispensable
sudo apt-get install bind9
Après l’installation, configurez les fichiers ci-dessous, étape par étape.
Configurez maintenant le fichier nommé.conf.options. Ce fichier est utilisé pour les adresses IP DNS. Cela signifie que votre serveur doit se connecter à un serveur DNS extérieur. Lorsque vous achetez un nom de domaine chez un fournisseur de services Internet, il vous attribue normalement sa propre adresse IP DNS. Vous pouvez utiliser les adresses IP DNS ouvertes de Google ou autre. Dans mon cas, j'utilise mes propres adresses IP DNS ISP.
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 les touches de 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 de transfert et les zones inversées. Cela signifie que lorsque nous entrons un nom de domaine, nous le traduisons en adresse IP et lorsque nous entrons une adresse IP, nous le convertissons 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 les touches de contrôle x, appuyez sur y et écrasez le fichier.
Nous allons maintenant créer 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, laissez-moi vous dire que j’ai différents appareils
Périphériques IP
Maintenant, dans le répertoire des zones, nous allons d’abord créer deux fichiers, db.autun.hom . Je copie simplement le fichier db.local déjà présent dans le dossier / etc / bind dans un dossier de 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.
Enregistrez-le et quittez
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.
Enregistrez-le et quittez
Maintenant, quand vous avez fini 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 à suivre.
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 le résultat de votre nom-checkzone est identique à celui ci-dessus, il fonctionne correctement, sinon vous avez commis une erreur de 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émarrer la liaison
sudo /etc/init.d/bind9 restart
Après le début 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
host –l autun.hom
La sortie devrait ressembler à ceci
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
Maintenant, utilisez NSLOOKUP
nslookup autun.hom
SORTIE
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
Utiliser 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
Le résultat doit ressembler à ce qui précède, vérifiez le statut: NOERROR signifie que le problème est résolu. Check REPONSE SECTION: gateway.autun.hom est résolu en 192.168.1.1.
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 une erreur dans le fichier /etc/bind/named.conf.local dans la zone inversée. 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 ont fait une erreur en inversant l'adresse IP comme (juste un exemple)
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
Utiliser 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 semblables à NXDOMAIN ou SERVFAIL, cela signifie qu'un de vos fichiers de zone ne fonctionne pas correctement
Maintenant , vous pouvez ping ubuntu.com ou creuser ubuntu.com pour la première fois , il faudra plusieurs miliseconds pour résoudre le nom ubuntu.com mais lorsque vous l' exécutez deuxième temps il faudra 1, 2 ou 3 secondes forment normalement 1 à 10 Mili les secondes sont normales et cela signifie que votre DNS fonctionne correctement
côté fenêtres
et donnez ici l’adresse IP (dans mon cas c’est 192.168.1.50 vous souvenez-vous de win7pc)
et vous en avez fini avec CMD ouvert
ping gateway
il doit vous donner des réponses
De même
ping 192.168.1.1 or 5
il doit vous donner des réponses
Testez votre serveur au monde extérieur
Désormais, vous pouvez exécuter une commande ping sur ubuntu.com ou sur dig ubuntu.com pour la première fois. Le nom ubuntu.com ne prend que plusieurs millisecondes. cela signifie que votre DNS fonctionne correctement Configuration des clients
côté fenêtres
connexions réseau ouvertes, 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 souvenez-vous 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 nouveau serveur ip BIND DNS)
sélectionnez Advance (dans la même fenêtre)
sélectionnez l' onglet DNS
Tapez dans la zone de texte ci-dessous ici. Suffixe DNS pour cette connexion: autun.hom
cliquez ok
cliquer sur valider le réglage à la sortie
cliquez ok
et vous en avez fini avec CMD ouvert
Code:
ping gateway
il doit vous donner des réponses
De même
Code:
ping 192.168.1.1 or 5
il doit vous donner quelques réponses, vous pouvez utiliser le code NSLOOKUP :
nslookup gateway
CLIENTS LINUX
Code:
sudo nano /etc/network/interfaces
tapez les lignes suivantes
Code:
auto eth0
iface eth0 inet dhcp
Maintenant, redémarrez les démons réseau
Code:
sudo /etc/init.d/networking restart
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 un 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;
../run/resolvconf/resolv.conf
.
(network unreachable) resolving './NS/IN': 2001:500:3::42#53
Est-ce que bind essaie de résoudre les requêtes de manière récursive en utilisant ipv6. L'édition /etc/default/bind9
et l'utilisation le OPTIONS="-u bind -4"
corrigent. Plus d'infos: serverfault.com/questions/77325/domaine-incontrôlable
db.192
avant IN NS nefitari.
est @
manquant. De plus, je devais ajouter le nom de domaine complet. Ainsi, ma ligne de travail ressemblait à ceci. @ IN NS nefitari.autun.hom.
J'ai ignoré la section resolv.conf et suivi les conseils de jdthood. Le lien existait déjà depuis l'installation du serveur par défaut.
La réponse n’est qu’un ajout à la description ci-dessus.
Conseil de dépannage
Soyez très prudent avec les nombreux '.' dans les fichiers de configuration car 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 sa bonne pratique d'utiliser un numéro de série plus éloquent. Il est très important d’incrémenter le numéro de série chaque fois que la configuration est modifiée, par exemple de nouvelles entrées étant ajoutées. S'il 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 le "vieux" numéro de série. Ainsi, lors de l’incrémentation, vous devez incrémenter ss
de +1 et définir la date sur la date actuelle. J'ai trouvé cela très utile pour résoudre les problèmes d'installation. Dans le syslog, vous voyez clairement la date et la série du fichier utilisé.
Dans Ubuntu 16.04, modifier resolv.conf est obsolète. Comme jdthood l'a écrit dans son commentaire, remplacez l'étape par la procédure suivante: - Modifiez / etc / default / bind9: le nouveau testament 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 les commentaires de not-a-patch pour les problèmes IPV6.
placez un lien symbolique de /etc/resolv.conf dans /run/resolvconf/resolv.conf
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
Configuration 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. Ils ne doivent pas obligatoirement être présents, il n’est donc pas nécessaire de les éditer /etc/bind/names.con.options
.
Réseaux de classe B
Quelques modifications mineures sont nécessaires pour que cela fonctionne avec les réseaux de classe B (avant qu'il y ait des commentaires, il n'y a aucune raison pour qu'un réseau local, même à domicile, ne puisse pas être un réseau de classe B au lieu d'un réseau de classe C) . Dans cet exemple, j'utilise le numéro de réseau 172.20.xx (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.xx par 172.20.xx, utilisez-les pour l'adresse IP du serveur 172.20.0.100 et modifiez les fichiers comme suit:
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 devient:
;
; 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.