Configuration du serveur DNS non lié au cache non lié sur RHEL 7 Linux

Configuration du serveur DNS non lié au cache non lié sur RHEL 7 Linux

Introduction

Unbound est un serveur DNS valident, récursif et de mise en cache. Cela dit, le serveur DNS non lié ne peut pas être utilisé comme serveur DNS faisant autorité, ce qui signifie qu'il ne peut pas être utilisé pour héberger des enregistrements de noms de domaine personnalisés. En conséquence, si votre objectif est de construire un serveur DNS uniquement en cache ou de transfert, non lié peut être votre choix préféré, car il le fait et il le fait bien.

Objectif

L'objectif est de fournir un guide d'installation et de configuration rapide et facile à suivre pour le serveur DNS non lié à Cache uniquement sur Redhat 7 Linux. À la fin de ce guide, vous pourrez utiliser un serveur DNS non lié de tous les clients de votre réseau local.

Exigences

Accès privilégié à votre serveur Linux Redhat 7 avec des référentiels standard configurés standard.

Difficulté

MOYEN

Conventions

  • # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
  • $ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Instructions

Installation des outils non liés et DNS

Dans la première étape, nous allons installer le serveur DNS non lié réel ainsi que les outils DNS qui seront finalement utilisés pour tester votre configuration de serveur DNS Cache uniquement. Étant donné que votre référentiel redhat est correctement configuré, vous pouvez installer les deux en exécutant la commande Linux suivante:

# yum installer non liés de liaisons 


Configuration non liée de base

Maintenant, nous allons effectuer une configuration de base du serveur de mise en cache DNS non lié uniquement. Cela se fera en modifiant le fichier de configuration de Unbound / etc / non lié / non lié.confli soit en utilisant l'éditeur de texte, soit en utilisant un ci-dessous sed commandes. Tout d'abord, utilisez votre éditeur de texte préféré pour localiser la ligne # Interface: 0.0.0.0 et l'incommente en supprimant le leader # signe. Alternativement utiliser ce qui précède sed commande:

# sed -i '/ interface: 0.0.0.0 $ / s / # // '/ etc / non lié / non lié.confli 

La configuration ci-dessus demandera au serveur DNS non lié d'écouter sur toutes les interfaces réseau locales. Ensuite, permettez à vos clients LAN d'interroger le cache de Unbound. Localiser la ligne pertinente Modifier l'adresse IP de bouclage par défaut 127.0.0.0/8 à l'adresse Netowork de votre LAN, par exemple. dix.0.0.0/24:

De: Access-Control: 127.0.0.0/8 Autoriser l'accès au contrôle: 10.0.0.0/24 Autoriser 

Ce qui précède peut également être fait par sed commande:

# sed -i's / 127.0.0.0 \ / 8 Autoriser / 10.0.0.0 \ / 24 Autoriser / '/ etc / Unbound / Unbound.confli 

Configuration du support DNSSEC

Ensuite, nous demandons à un serveur DNS non lié de générer des touches RSA afin de fournir une prise en charge DNSSEC:

# Configuration de l'ensemble de contrôle non lié dans le répertoire / etc / non lié générant unbound_server.Clé Génération de clé privée RSA, module de 1536 bits de long… ++++… ++++ E est 65537 (0x10001) Génération de Unbound_Control.Clé Génération de clé privée RSA, module de 1536 bits de long… ++++… ++++ E est 65537 (0x10001) Créer unbound_server.PEM (certificat auto-signé) Créer unbound_control.PEM (certificat client signé) Signature OK Sujet = / CN = Unbound-Control obtenant un succès de configuration de la clé privée. Certificats créés. Permettre à unbound.Fichier de confort à utiliser 

Tout ce qui reste, c'est de vérifier la configuration de Unbound:

# Unbound-CheckConf Unbound-CheckConf: pas d'erreurs dans / etc / Unbound / Unbound.confli 


Activer et démarrer un serveur non lié

À ce stade, nous permettreons à un serveur DNS non lié de démarrer à l'heure de démarrage:

# SystemCTL Activer Unbound Created Symlink à partir de / etc / Systemd / System / Multi-utilisateur.cible.veut / non lié.service à / usr / lib / systemd / système / non lié.service. 

et démarrer le service réel:

# Service Unbound Start Redirection vers / bin / systemctl start Unbound.service 

Assurez-vous que le serveur DNS non lié est en cours d'exécution en vérifiant son état:

[root @ localhost non lié] # Service Unbound Status Redirection vers / bin / systemctl Status Unbound.service ● Unbound.Service - Serveur de noms de domaine récursif non lié chargé: chargé (/ usr / lib / systemd / système / non lié.service; activé; Vendor Preset: Disabled) Active: Active (Running) Depuis mer 2016-12-07 10:32:58 AEDT; Il y a 6s Processus: 2355 execstartpre = / usr / sbin / unbound-anchor -a / var / lib / unbound / root.clé -c / etc / unbound / icannbundle.PEM (Code = Overtid, Status = 0 / Success) Processus: 2353 ExecStartPre = / USR / SBIN / Unbound-CheckConf (Code = EXTER, Status = 0 / Success) Pid principal: 2357 (Unbound) CGroup: / System.trancher.Service └fique.LocalDomain Systemd [1]: Démarrage du serveur de noms de domaine récursif non lié… Dec 07 10:32:57 LocalHost.LocalDomain Unbound-CheckConf [2353]: Unbound-CheckConf: pas d'erreurs en / etc / non liées / non liées.Conf Dec 07 10:32:58 Localhost.LocalDomain Systemd [1]: Démarré le serveur de noms de domaine récursif non lié. Dec 07 10:32:58 Localhost.LocalDomain Unbound [2357]: Dec 07 10:32:58 Unbound [2357: 0] AVERTISSEMENT: Limite accrue (fichiers ouverts) de 1024 à 8266 décembre 07 10:32:58 LocalHost.LocalDomain Unbound [2357]: [2357: 0] AVIS: Module init 0: Validator Dec 07 10:32:58 LocalHost.LocalDomain Unbound [2357]: [2357: 0] Remarque: Module init 1: Iterator Dec 07 10:32:58 LocalHost.LocalDomain Unbound [2357]: [2357: 0] Info: début du service (Unbound 1.4.20). 

Port de pare-feu DNS ouvert

Pour permettre à vos clients LAN locaux de se connecter à votre nouveau serveur DNS en cache non lié, vous devrez ouvrir un port DNS:

# Firewall-CMD - Permanent - Add-Service DNS Succès # Firewall-CMD - Reload Succès 

Tout cela fait, nous sommes maintenant prêts à tester.



Essai

Enfin, nous sommes arrivés à un point où nous pouvons effectuer des tests de base de notre nouveau serveur de cache DNS non lié uniquement. Pour cela, nous utilisons creuser Commande dont une partie de l'installation précédemment installée liber-utils Package pour effectuer certaines requêtes DNS. Tout d'abord, exécutez la requête DNS sur le serveur DNS réel:

# Dig @localhost Exemple.com; <> Creuser 9.9.4-redhat-9.9.4-37.EL7 <> @localhost Exemple.com; (2 serveurs trouvés) ;; Options globales: + CMD ;; J'ai une réponse: ;; - >> En-tête<<- opcode: QUERY, status: NOERROR, id: 53485 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86400 IN A 93.184.216.34 ;; Query time: 817 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Dec 07 10:40:46 AEDT 2016 ;; MSG SIZE rcvd: 56 

Notez que le temps de requête est plus que 817 ms. Puisque nous avons configuré le serveur DNS Cache uniquement, cette requête est maintenant mise en cache afin que toute résolution de requête DNS ultérieure de ce même nom de domaine nous soit plutôt instantanée:

# Dig @localhost Exemple.com; <> Creuser 9.9.4-redhat-9.9.4-37.EL7 <> @localhost Exemple.com; (2 serveurs trouvés) ;; Options globales: + CMD ;; J'ai une réponse: ;; - >> En-tête<<- opcode: QUERY, status: NOERROR, id: 34443 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;example.com. IN A ;; ANSWER SECTION: example.com. 86272 IN A 93.184.216.34 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Wed Dec 07 10:42:54 AEDT 2016 ;; MSG SIZE rcvd: 56 

Enfin, vous pouvez désormais tester la configuration du serveur DNS Ubound à partir de vos clients LAN locaux en les pointant vers l'adresse IP de Unbound, par exemple. dix.1.1.45:

$ DIG @ 10.1.1.45 Exemple.com; <> Creuser 9.9.5-9 + deb8u6-debian <> @ 10.1.1.45 Exemple.com; (1 serveur trouvé) ;; Options globales: + CMD ;; J'ai une réponse: ;; - >> En-tête<<- opcode: QUERY, status: REFUSED, id: 50494 ;; flags: qr rd ad; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; WARNING: recursion requested but not available ;; Query time: 0 msec ;; SERVER: 10.1.1.45#53(10.1.1.45) ;; WHEN: Wed Dec 07 10:45:43 AEDT 2016 ;; MSG SIZE rcvd: 12 

Tutoriels Linux connexes:

  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Mint 20: Mieux que Ubuntu et Microsoft Windows?
  • Masterring Bash Script Loops
  • Fichiers de configuration Linux: 30 premiers
  • Téléchargement Linux
  • Comment configurer un serveur OpenVPN sur Ubuntu 20.04
  • Gestion de la saisie des utilisateurs dans les scripts bash
  • Comment doubler Kali Linux et Windows 10