Comment configurer un serveur DNS / DHCP à l'aide de DNSMASQ sur CentOS / RHEL 8/7

Comment configurer un serveur DNS / DHCP à l'aide de DNSMASQ sur CentOS / RHEL 8/7

UN Protocole de configuration dynamique de l'hôte (Dhcp) Le serveur affecte dynamiquement les adresses IP et autres paramètres de configuration du réseau à chaque périphérique sur un réseau. Un transfert DNS sur un LAN transmet les requêtes DNS pour les noms de domaine non locaux aux serveurs DNS en amont (en dehors de ce réseau). Un serveur de mise en cache DNS répond aux demandes récursives des clients afin que la requête DNS puisse être résolue plus rapidement, améliorant ainsi les vitesses de recherche DNS aux sites précédemment visités.

dnsmasq est un transfert DNS et un sous-système de publicité DNS serveur DNS, logiciel de serveur DHCP pour les petits réseaux. DNSMASQ prend en charge Linux, * BSD, Mac OS X ainsi qu'Android.

Il dispose d'un DNS Sous-système qui fournit un serveur DNS local pour le réseau, avec le transfert de tous les types de requête sur les serveurs DNS récursifs en amont et la mise en cache de types d'enregistrements communs. Le sous-système DHCP prend en charge DHCPV4, DHCPV6, BOOTP, PXE et un serveur TFTP. Et le sous-système de publicité du routeur prend en charge l'autoconfiguration de base pour les hôtes IPv6.

Dans cet article, nous vous guiderons à travers les instructions sur la façon d'installer et de configurer DNS / DHCP Serveur en utilisant dnsmasq sur Centos / Rhel 8/7 distribution.

Installation de DNSMASQ dans Centos et Rhel Linux

1. Le dnsmasq Le package est disponible dans les référentiels par défaut et peut être facilement installé à l'aide du gestionnaire de packages Yum comme indiqué.

# yum install dnsmasq 
Installez DNSMASQ dans CentOS

2. Une fois la dnsmasq L'installation du package est terminée, vous devez démarrer le dnsmasq Service pour l'instant et lui permettre de démarrer automatiquement au démarrage du système. En outre, vérifiez son statut pour vous assurer qu'il est opérationnel en utilisant les commandes SystemCTL suivantes.

# systemctl start dnsmasq # systemctl activer dnsmasq # statut systemctl dnsmasq 
Démarrer et vérifier l'état DNSMASQ

Configuration du serveur DNSMASQ dans Centos et Rhel Linux

3. Le dnsmasq le serveur peut être configuré via le / etc / dnsmasq.confli Fichier (qui contient des options bien commentées et expliquées), et des fichiers de configuration définis par l'utilisateur peuvent également être ajoutés dans le / etc / dnsmasq.d annuaire.

DNS est activé par défaut, donc avant d'apporter des modifications, assurez-vous de créer une sauvegarde de / etc / dnsmasq.confli déposer.

# cp / etc / dnsmasq.conf / etc / dnsmasq.confli.origine 

4. Open maintenant le / etc / dnsmasq.confli Fichier à l'aide de votre éditeur de texte préféré et effectuez les paramètres de configuration suggérés suivants.

# vi / etc / dnsmasq.confli 

Le adhésion à l'écoute L'option est utilisée pour définir l'adresse IP, où DNSMASQ écoutera. Pour utiliser votre Centos / Rhel serveur à écouter Dhcp et DNS Demandes sur le Lan, met le adhésion à l'écoute Option à ses adresses IP LAN (n'oubliez pas d'inclure 127.0.0.1) comme montré. Notez que l'IP du serveur doit être statique.

écouter-address = :: 1,127.0.0.1 192.168.56.dix 

En rapport avec ce qui précède, vous pouvez restreindre l'interface dnsmasq écoute à l'aide de l'option d'interface (ajoutez plus de lignes pour plus d'une interface).

interface = eth0 

5. Si vous voulez avoir un domaine (que vous pouvez définir comme indiqué ensuite) Ajout automatiquement à des noms simples dans un fichier hôte, non extension des hôtes option.

extension des hôtes 

6. Pour définir le domaine pour dnsmasq, ce qui signifie Dhcp Les clients auront des noms de domaine pleinement qualifiés tant que le domaine SET sera apparié et définit le «domaine”Option DHCP pour tous les clients.

domaine = tecmint.lan 

7. Ensuite, définissez également le serveur DNS en amont pour les domaines non locaux à l'aide du serveur option (sous le formulaire server = dns_server_ip) comme montré.

# Serveur de noms de noms de Google = 8.8.8.8 serveur = 8.8.4.4 

8. Ensuite, vous pouvez forcer votre domaine local à une out adresse IP en utilisant le adresse Option comme indiqué.

adresse = / tecmint.LAN / 127.0.0.1 adresse = / tecmint.LAN / 192.168.56.dix 

9. Enregistrez le fichier et vérifiez la syntaxe du fichier de configuration pour les erreurs comme indiqué.

# dnsmasq - test 
Vérifier la configuration DNSMASQ

Configuration du dnsmasq avec / etc / résolv.fichier de confr

dix. Dans cette étape, vous devez faire envoyer toutes les requêtes à Dnsmasq en ajoutant les adresses locales / etc / résolv.confli déposer.

# vi / etc / résolv.confli 
Définissez l'adresse locale-bost dans / etc / résolv.fichier de confr

11. Le / etc / résolv.confli Le fichier est maintenu par un démon local, en particulier le NetworkManager, donc toute modification de l'utilisateur sera écrasée. Pour éviter cela, le protecteur de l'écriture en définissant l'attribut de fichier immuable (désactivant l'accès en écriture au fichier) à l'aide de la commande chattr comme indiqué.

# chattr + i / etc / résolv.conf # lsattr / etc / résolv.confli 
Définir l'attribut de fichier

Définition des hôtes et noms DNS

12. Le Dnsmasq lit tous les hôtes et noms DNS du / etc / hôtes fichier, alors ajoutez vos adresses IP et vos paires de noms DNS comme indiquées comme indiqué.

127.0.0.1 DNSMASQ 192.168.56.10 DNSMASQ 192.168.56.1 passerelle 192.168.56.100 contrôleur maas 192.168.56.20 Nagios 192.168.56.25 Webserver1 
Ajouter des adresses IP DNS hôtes

Important: Les noms DNS locaux peuvent également être définis en importation de noms à partir du sous-système DHCP, ou par la configuration d'un large éventail de types d'enregistrements utiles.

13. Pour appliquer les modifications ci-dessus, redémarrez le dnsmasq Service comme indiqué.

# SystemCTL Redémarrer DNSMASQ 

14. Si vous avez le pare-feu Service en cours d'exécution, vous devez ouvrir DNS et Dhcp Services dans la configuration du pare-feu, pour permettre aux demandes d'hôtes de votre LAN pour passer au serveur DNSMASQ.

# Firewall-CMD --Add-Service = DNS - Permanent # Firewall-CMD --Add-Service = DHCP - Permanent # Firewall-CMD - Reload 

Tester DNS local

15. Pour tester si le serveur DNS local ou le transfert fonctionne bien, vous devez utiliser des outils tels que DIG ou NSLookup pour effectuer des requêtes DNS. Ces outils sont fournis par le liber-utils package qui peut ne pas être préinstallé sur Centos / Rhel 8, Mais vous pouvez l'installer comme indiqué.

# yum install bind-utils 

16. Une fois que vous avez installé, vous pouvez exécuter une requête simple sur votre domaine local comme indiqué.

# Dig Tecmint.lan ou # nslookup tecmint.lan 
Interroger le domaine local

17. Vous pouvez également essayer de demander le Fqdn de l'un des serveurs.

# Dig Webserver1.Tecmint.LAN ou # nslookup webserver1.Tecmint.lan 
DNS de domaine de requête

18. Pour tester une recherche IP inversée, exécutez une commande similaire.

# Dig -x 192.168.56.25 ou # nslookup 192.168.56.25 
Requête sur la recherche IP inversée

Activer le serveur DHCP à l'aide de DNSMASQ

19. Vous pouvez activer le Dhcp serveur en décalmentant le DHCP Option et fournir la gamme d'adresses disponibles pour la location et éventuellement un temps de location E.g (répéter pour plus d'un réseau).

DHCP-Range = 192.168.0.50,192.168.0.150,12h 

20. L'option suivante définit où le serveur DHCP conservera sa base de données de bail, cela vous aidera à vérifier facilement les adresses IP qui lui.

dhcp-leasefile = / var / lib / dnsmasq / dnsmasq.baux 

21. Pour faire du serveur DHCP en mode faisant autorité, décommentez l'option.

autoritaire du DHCP 

22. Enregistrez le fichier et redémarrez le dnsmasq Service pour appliquer les changements récents.

# SystemCTL Redémarrer DNSMASQ 

Cela nous amène à la fin de ce guide. Pour nous joindre pour toutes les questions ou pensées que vous souhaitez partager sur ce guide, utilisez le formulaire de rétroaction ci-dessous.