Il s'agit de yuji323, qui est le premier article posté depuis longtemps. Cette fois, c'est un peu différent de la programmation Java, et c'est un article plus proche de NW. Comme le titre l'indique, j'ai essayé de créer un serveur DNS dans un environnement virtuel avec CentOS et BIND. J'espère que cela aidera ceux qui en ont besoin ~
Si vous avez des erreurs, faites-le moi savoir dans les commentaires.
Hyperviseur: VMWare WorkStation Player pour Windows 15.0 OS hôte: Windows10 version 1909 Guest OS1 (serveur DNS / DHCP01): CentOS Linux version 8.2.2004 (Core) Guest OS2 (pour vérification / TEST01): CentOS Linux version 8.2.2004 (Core) Guest OS3 (pour vérification / TEST02): CentOS Linux version 8.2.2004 (Core)
Enfin, créons un environnement virtuel comme indiqué dans le diagramme de réseau ci-dessous. Il y a des choses qui n'ont rien à voir avec ce contenu, mais c'est dans le sens de l'ignorer ...
Pendant que j'attendais dans l'entreprise, on m'a demandé de créer du matériel d'étude, en disant: «Je veux étudier des questions liées au réseau pour l'éducation des nouveaux employés à l'avenir.
J'ai quitté mon entreprise précédente parce que je voulais la développer au lieu de NW! !! </ b>
Il semble qu'il achète l'expérience en tant que NW Engineering de son emploi précédent ... Construction de serveur, pas de contenu de développement ... et DNS ...
À cette époque, je voulais étudier le développement avec beaucoup d'efforts, mais j'ai essayé d'étudier avec un sentiment léger, "Eh bien, si vous voulez être un ingénieur full-stack, il n'y a pas de perte enfin."
Les adresses IP et les noms d'hôte sont définis pour chacune des trois unités, et ils sont joints au domaine "testdomain.local" sur le réseau NAT virtuel. Les informations sur chaque OS invité ressemblent à ceci ↓. Il semble qu'il sera nécessaire plus tard lors de l'écriture des informations de zone DNS, alors définissez-le à l'avance.
OS invité | nom d'hôte | adresse IP | DNS |
---|---|---|---|
TEST01 | test01.testdomain.local | 192.168.146.10 | 192.168.146.140 |
DNS01 | dns01.testdomain.local | 192.168.146.140 | 192.168.146.2 |
Si vous installez BIND (Berkeley InternetName Domain) (cool) (c'est bien d'écrire l'abréviation en anglais), le serveur installé semble fonctionner comme un serveur DNS. Une image dans laquelle bind prend en charge divers processus lors de l'acquisition d'une combinaison d'IP et de nom d'hôte dans le serveur DNS.
dns01.
[root@dns01 ~]# yum install bind
[root@dns01 ~]# yum install bind-utils
Puisque "bind" est le corps principal de bind et que "bind-utils" contient des commandes dig, vous ne pouvez installer bind que si vous n'utilisez pas la commande dig au moment de la vérification.
Modifiez le fichier de configuration de la liaison installée. J'ai écrit un commentaire pour la publication de quiita, donc même si je le copie, cela peut ne pas fonctionner. .. .. Il est préférable de supprimer le commentaire lors de son utilisation ◎
dns01.
[root@dns01 ~]# cp /etc/named.conf /etc/named.conf.ORG
[root@dns01 ~]# vi /etc named.conf
/etc/named.conf
options {
listen-on port 53 { 127.0.0.1; 192.168.146.140;}; //Écouter le port
//listen-on-v6 port 53 { ::1; }; //ipv6 semble être en retard pour les demandes de renseignements, alors commentez
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";
secroots-file "/var/named/data/named.secroots";
recursing-file "/var/named/data/named.recursing";
recursion yes; //Autorisation de requête récursive
allow-query {any; }; //Adresses autorisant la résolution de noms → Tout autoriser
forwarders { //Si l'enquête n'a pas d'informations dans le fichier de zone, nous lancerons une solution vers un autre DNS ~
192.168.146.2;}; //La destination à lancer. Il semble que le FAI ou Google DNS soit bien. Le routeur le plus proche est également acceptable. Cette fois-ci.
};
logging { //Paramètres d'acquisition du journal
// channel default_debug { //La personne définie par défaut n'a pas suffisamment d'informations, alors commentez
// file "data/named.run";
// severity dynamic;
// };
channel "default-log" { //Décrire les nouveaux paramètres d'acquisition
file "/var/named/log/default.log" versions 5 size 10M;
severity debug;
print-time yes;
print-severity yes;
print-category yes;
};
category default{"default-log";}; //default-J'utiliserai le journal ~
};
// zone "." IN { //★ Commentaires parce que les adresses non résolues n'ont pas d'informations de zone. J'étais vraiment dedans(Grosse défaite)
// type hint;
// file "named.ca";
// };
// include "/etc/named.rfc1912.zones";
// include "/etc/named.root.key";
zone "testdomain.local" { //Spécifiez l'emplacement du fichier de zone du domaine défini
type master; //J'écrirai en détail après cela.
file "testdomain.local.zone";
};
Créez à l'avance le répertoire de sortie du journal spécifié dans ↑. Créez le répertoire spécifié dans "/etc/named.conf" et "file" / set permissions!
dns01.
[root@dns01 ~]# mkdir /var/named/log
[root@dns01 ~]# chown named.named /var/named/log
Vérifiez la syntaxe lorsque vous avez terminé! !! !! !! Ensuite, dès que l'erreur disparaît. (La ligne vous indiquera l'erreur en détail.)
dns01.
[root@dns01 ~]# named-checkconf
Créez un fichier de zone DNS
dns01.(Créer un nouveau)
[root@dns01 ~]# vi /var/named/testdomain.local.zone
/var/named/testdomain.local.zone
$TTL 86400 //↓ Adresse e-mail de l'administrateur.
@ IN SOA dns01.testdomain.local. root.testdomain.local. (
2020050502 ;Serial //Numéro de série. Mettez à jour lorsque le fichier est mis à jour! !! Date+Il semble que l'unité 0 soit souvent utilisée
3600 ;Refresh //Sentiment de transfert de zone
300 ;Retry //Sentiment de réessayer lorsque le transfert échoue
360000 ;Expire //Temps de rétention des fichiers de zone
86400 ) ;Negative //Temps mis en cache sur d'autres serveurs
//↓ ↓ Nom d'hôte ↓ ↓ ↓ ↓ Type d'enregistrement ↓ ↓ ↓ ↓ Adresse IP ↓ ↓
IN NS dns01.testdomain.local
dns01.testdomain.local IN A 192.168.146.140
dns01 IN A 192.168.146.140
db01 IN A 192.168.146.130
dhcp01 IN A 192.168.146.150
pr01 IN A 192.168.146.160
test01 IN A 192.168.146.10
Et vérification de la syntaxe !!!!!
dns01.
[root@dns01 ~]# named-checkconf -z
Cette vérification produira un journal quel que soit le succès / échec, alors assurez-vous de vérifier attentivement le contenu! S'il y a une erreur, vous pouvez vérifier les détails avec [systemctl status named].
Si vous l'avez coupé depuis le début, vous pouvez l'ignorer. Cette fois, c'est un environnement de vérification, donc vous pouvez le désactiver, mais ... J'utiliserai également la méthode de forage pour étudier.
dns01.
[root@dns01 ~]# firewall-cmd --add-service=dns
[root@dns01 ~]# firewall-cmd --reload
dns01.
[root@dns01 ~]# vi /etc/sysconfig/named
Ajoutez "OPTIONS =" - 4 ""!
dns01.
[root@dns01 ~]# status named.service
[root@dns01 ~]# status named-chroot.service
S'il n'y a pas d'erreurs particulières, c'est la fin de la construction! Je vous remercie pour votre travail acharné. .. .. .. Continuons à vérifier si la résolution de nom est possible ~
Cette fois, seul le fichier de zone de transfert est créé, vérifions donc si l'adresse IP peut être tirée du nom de domaine. J'essaierai de résoudre le nom de dns01 par le nom de domaine de test01 et le nom du domaine externe.
J'ai fermé en toute sécurité! </ b>
Les appareils du réseau 192.168.146.0/24 peuvent désormais communiquer par nom de domaine! !! C'est sûr car vous n'avez qu'à ajouter des enregistrements au fichier de zone lorsque vous configurez un nouveau serveur à l'avenir ◎ Ensuite!
Recommended Posts