Recherche de site Web

Comment installer et configurer « Serveur DNS cache uniquement » avec « Non lié » dans RHEL/CentOS 7


Mise en cache des serveurs de noms à l'aide de 'Unbound' (est un logiciel de serveur DNS de validation, récursif et de mise en cache), de retour dans RHEL/CentOS 6.x (où x est le numéro de version), nous avons utilisé bind logiciel pour configurer les serveurs DNS.

Ici, dans cet article, nous allons utiliser un logiciel de mise en cache « non lié » pour installer et configurer un serveur DNS dans les systèmes RHEL/CentOS 7.

Les serveurs de cache DNS sont utilisés pour résoudre toute requête DNS qu'ils reçoivent. Si le serveur met en cache la requête et qu'à l'avenir les mêmes requêtes demandées par n'importe quel client, la requête sera délivrée à partir du cache DNS « non lié », cela peut être fait en millisecondes par rapport à la première fois qu'elle a été résolue.

La mise en cache agira uniquement en tant qu'agent pour résoudre la requête du client provenant de l'un des redirecteurs. L’utilisation d’un serveur de mise en cache réduira le temps de chargement des pages Web en conservant la base de données de cache sur un serveur indépendant.

Configuration de mon serveur et de mon client

À des fins de démonstration, j'utiliserai deux systèmes. Le premier système agira comme un serveur Maître (Primaire) DNS et le deuxième système agira comme un client DNS local. fort>.

Serveur DNS maître
Operating System   :    CentOS Linux release 7.0.1406 (Core)
IP Address	   :	192.168.0.50
Host-name	   :	ns.tecmintlocal.com
Ordinateur client
Operating System   :	CentOS 6
IP Address	   :	192.168.0.100
Host-name	   :	client.tecmintlocal.com

Étape 1 : Vérifiez le nom d'hôte et l'adresse IP du système

1. Avant de configurer un serveur DNS de mise en cache, assurez-vous d'avoir ajouté le nom d'hôte correct et configuré l'adresse IP statique correcte pour votre système, sinon définissez l'adresse IP statique du système.

2. Après avoir défini le nom d'hôte et l'adresse IP statique corrects, vous pouvez les vérifier à l'aide des commandes suivantes.

hostnamectl
ip addr show | grep inet

Étape 2 : Installation et configuration d'Unbound

3. Avant d'installer le package « Unbound », nous devons mettre à jour notre système avec la dernière version, après quoi nous pouvons installer le package non lié.

yum update -y
yum install unbound -y

4. Une fois le package installé, faites une copie du fichier de configuration indépendant avant d'apporter des modifications au fichier d'origine.

cp /etc/unbound/unbound.conf /etc/unbound/unbound.conf.original

5. Ensuite, utilisez l'un de vos éditeurs de texte préférés pour ouvrir et modifier le fichier de configuration « unbound.conf ».

vim /etc/unbound/unbound.conf

Une fois le fichier ouvert pour édition, apportez les modifications suivantes :

Interfaces

Recherchez Interface et activez l'interface que nous allons utiliser ou si notre serveur dispose de plusieurs interfaces, nous devons activer l'interface 0.0.0.0.

Ici, l'adresse IP de notre serveur était 192.168.0.50, je vais donc utiliser non lié dans cette interface.

Interface 192.168.0.50
Activer IPv4 et la prise en charge des protocoles

Recherchez la chaîne suivante et indiquez-la « Oui ».

do-ip4: yes
do-udp: yes
do-tcp: yes
Activer la journalisation

Pour activer le journal, ajoutez la variable comme ci-dessous, elle enregistrera toutes les activités non liées.

logfile: /var/log/unbound
Masquer l'identité et la version

Activez le paramètre suivant pour masquer les requêtes id.server et hostname.bind.

hide-identity: yes

Activez le paramètre suivant pour masquer les requêtes version.server et version.bind.

hide-version: yes
Contrôle d'accès

Recherchez ensuite contrôle d'accès à autoriser. Il s'agit de permettre quels clients sont autorisés à interroger ce serveur indépendant.

Ici, j'ai utilisé 0.0.0.0, ce qui signifie que n'importe qui envoie une requête à ce serveur. Si nous devons refuser une requête pour une certaine plage de réseaux, nous pouvons définir quel réseau doit être refusé pour les requêtes non liées.

access-control: 0.0.0.0/0 allow

Remarque : Au lieu de permettre, nous pouvons le remplacer par allow_snoop, cela activera certains paramètres supplémentaires comme dig et il prend en charge à la fois récursif et non récursif.

Domaine non sécurisé

Recherchez ensuite domaine non sécurisé. Si notre domaine fonctionne avec des clés DNS sec, nous devons définir notre serveur disponible pour domaine non sécurisé. Ici, notre domaine sera traité comme non sécurisé.

domain-insecure: "tecmintlocal.com
Zones avancées

Modifiez ensuite les redirecteurs pour notre requête demandée non satisfaite par ce serveur, il sera transmis au domaine racine (. ) et résoudra la requête.

forward-zone:
        name: "."
        forward-addr: 8.8.8.8
        forward-addr: 8.8.4.4

Enfin, enregistrez et quittez le fichier de configuration en utilisant wq!.

6. Après avoir effectué la configuration ci-dessus, vérifiez maintenant le fichier unbound.conf pour détecter toute erreur à l'aide de la commande suivante.

unbound-checkconf /etc/unbound/unbound.conf

7. Après avoir vérifié le fichier sans aucune erreur, vous pouvez redémarrer en toute sécurité le service « non lié » et l'activer au démarrage du système.

systemctl start unbound.service
sudo systemctl enable unbound.service

Étape 3 : tester le cache DNS localement

8. Il est maintenant temps de vérifier notre cache DNS, en effectuant une « exploration » (requête) sur le domaine « india.com ». Au début, les résultats de la commande « drill » pour le domaine « india.com » prendront quelques millisecondes, puis effectueront un deuxième exercice et auront une note sur le temps de requête. il en faut pour les deux exercices.

drill india.com @192.168.0.50

Avez-vous vu dans le résultat ci-dessus que la résolution de la première requête prenait près de 262 ms et que la deuxième requête prenait 0 ms pour résoudre le domaine (india.com).

Cela signifie que la première requête est mise en cache dans notre cache DNS, donc lorsque nous exécutons « drill » la deuxième fois que la requête est servie à partir de notre cache DNS local, nous pouvons ainsi améliorer la vitesse de chargement des sites Web.

Étape 4 : vider Iptables et ajouter des règles de pare-feu

9. Nous ne pouvons pas utiliser à la fois iptables et firewalld en même temps sur la même machine, si nous le faisons, les deux entreront en conflit, donc supprimer les règles ipables sera une bonne idée. Pour supprimer ou vider les iptables, utilisez la commande suivante.

iptables -F

10. Après avoir supprimé définitivement les règles iptables, ajoutez maintenant le service DNS à la liste firewalld de manière permanente.

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

11. Après avoir ajouté les règles du service DNS, répertoriez les règles et confirmez.

firewall-cmd --list-all

Étape 5 : Gestion et dépannage d'Unbound

12. Pour obtenir l'état actuel du serveur, utilisez la commande suivante.

unbound-control status

Vidage du cache DNS

13. Si vous souhaitez récupérer les informations du cache DNS dans un fichier texte, vous pouvez les rediriger vers un fichier à l'aide de la commande ci-dessous pour une utilisation ultérieure.

 # unbound-control dump_cache > /tmp/DNS_cache.txt

14. Pour restaurer ou importer le cache à partir du fichier sauvegardé, vous pouvez utiliser la commande suivante.

unbound-control dump_cache < /tmp/DNS_cache.txt

Vider les enregistrements DNS

15. Pour vérifier si l'adresse spécifique a été résolue par nos redirecteurs dans le serveur de cache non lié, utilisez la commande ci-dessous.

unbound-control lookup google.com

16. Parfois, si notre serveur de cache DNS ne répond pas à notre requête, nous pouvons en attendant vider le cache pour supprimer des informations telles que A, AAA. , NS, SO, CNAME, MX, PTR etc. .. enregistrements du cache DNS. Nous pouvons supprimer toutes les informations en utilisant flush_zone, cela supprimera toutes les informations.

unbound-control flush linux-console.net
unbound-control flush_zone tecmintlocal.com

17. Pour vérifier quels transferts sont actuellement utilisés pour la résolution.

unbound-control list_forwards

Étape 6 : Configuration DNS côté client

18. Ici, j'ai utilisé un serveur CentOS 6 comme machine client, l'adresse IP de cette machine est 192.168.0.100 et je vais pour utiliser l'adresse IP de mon serveur DNS non lié (c'est-à-dire DNS primaire) dans sa configuration d'interface.

Connectez-vous à la machine client et définissez l'IP du serveur DNS principal sur l'IP de notre serveur indépendant.

Exécutez la commande de configuration et choisissez la configuration réseau dans le gestionnaire de réseau TUI.

Ensuite, choisissez la configuration DNS, insérez l'adresse IP du serveur DNS non lié comme DNS principal, mais ici, j'ai utilisé les deux en Primaire et Secondaire<. parce que je n'ai pas d'autre serveur DNS.

Primary DNS	: 192.168.0.50
Secondary DNS	: 192.168.0.50

Cliquez sur OK –> Enregistrer et quitter –> Quitter.

19. Après avoir ajouté les adresses IP DNS primaire et secondaire, il est maintenant temps de redémarrer le réseau à l'aide de la commande suivante.

/etc/init.d/network restart

20. Il est maintenant temps d'accéder à l'un des sites Web à partir de la machine client et de vérifier le cache dans le serveur DNS non lié.

elinks aol.com
dig aol.com

Conclusion

Auparavant, nous avions l'habitude de configurer le serveur de cache DNS à l'aide du package bind dans les systèmes RHEL et CentOS. Nous avons maintenant vu comment configurer un serveur de cache DNS à l'aide d'un package non lié. J'espère que cela résoudra votre demande de requête plus rapidement que le paquet de liaison.