Configurer le service DNS récursif les ordinateurs du réseau utilisateurs

Présentation

Le paquet logiciel Unbound permet de configurer un serveur récursif avec Debian. Ce logiciel ne fera que des requêtes DNS de type récursif sans héberger de zone DNS.

Ce qui est particulier dans le contexte CUB pour la configuration de ce serveur récursif c'est que le domaine cub.fr est est un domaine fictif. Le résolveur ne doit pas utiliser son principe de fonctionnement classique qui consiste à solliciter les serveurs racines sur Internet quand une résolution de nom concerne le domaine cub.fr.

Votre configuration doit indiquer que lorsque le serveur récursif est interrogé pour le nom de domaine cub.fr, il doit rediriger la requête vers le serveur DNS présent dans la DMZ du siège (cub.fr) :

Vous utiliserez la notion de stub-zone et non de forward-zone pour rediriger la requête vers un serveur faisant autorité.

Vous utiliserez la notion de forward-zone dans Unbound pour la redirection vers le serveur récursif 8.8.8.8 (ou 1.1.1.1, 9.9.9.9 par exemple) pour tous les autres domaines sur Internet.

Installation de UnBound

Première étape : création d'une nouvelle VM (conteneur LXC) appelée dns0 dans votre VLAN Utilisateur avec l'adresse IP 192.168.x.10. Cette VM de gère pas de zone DNS mais uniquement le processus récursif de résolution de nom.

mise à jour de votre VM <code> # apt update && sudo apt upgrade </code>

Installation de Unbounb <code> # apt install unbound dnsutils </code>

configuration de Unbound <code> # nano /etc/unbound/unbound.conf </code>

IMPORTANT : désactiver la première ligne contenant la directice include (rajouter le caractère #) Avant : include: "/etc/unbound/unbound.conf.d/*.conf" Après : #include: "/etc/unbound/unbound.conf.d/*.conf"

Contenu du fichier de configuration

# Unbound configuration file for Debian.
#
# See the unbound.conf(5) man page.
#
# See /usr/share/doc/unbound/examples/unbound.conf for a commented
# reference config file.
#
# The following line includes additional configuration files from the
# /etc/unbound/unbound.conf.d directory.
# include: "/etc/unbound/unbound.conf.d/*.conf"
server:
interface: 192.168.x.10
interface: 127.0.0.1
access-control: 192.168.x.0/24 allow
access-control: 127.0.0.0/8 allow
access-control: 0.0.0.0/0 refuse
hide-version: yes
hide-identity: yes
do-ip4: yes
logfile: /var/log/unbound/unbound.log
verbosity: 2
private-domain: cub.fr.
# interroger le serveur DNS du siege
stub-zone:
name: "cub.fr."
stub-addr: 192.168.229.1
# récursivite pour les domaines sur Internet
forward-zone:
name: "."
forward-addr: 8.8.8.8
forward-addr: 8.8.4.4

Lancement du service

# mkdir /var/log/unbound
# touch /var/log/unbound/unbound.log
# chown -R unbound:unbound /var/log/unbound
# systemctl restart unbound

Résolution pour le domaine DNS agence.cub.fr de votre agence

Une stub-zone supplémentaire doit être créée pour gérer la résolution de nom pour votre domaine DNS d'agence. Ajoutez dans le fichier /etc/unbound/unbound.conf les lignes suivantes en indiquant l'adresse IP privée de votre serveur DNS dans votre VLAN DMZ :

# interroger le serveur DNS ns0.agence.cub.fr de l'agence
stub-zone:
name: "agence.cub.fr."
stub-addr: 172.16.x.10

Résolution pour le sous-domaine DNS lan.agence.cub.fr de votre agence

Le sous-domaine lan.agence.cub.fr ne concerne que les utilisateurs de votre agence. Il n'a pas à être utilisé pour des résolutions de nom par les autres agences.

Une stub-zone supplémentaire doit être créée pour gérer la résolution de nom pour votre sous-domaine DNS lan.agence.cub.fr de votre agence. Ajoutez dans le fichier /etc/unbound/unbound.conf les lignes suivantes en indiquant l'adresse IP privée du serveur DNS dans votre VLAN DMZ qui va gérer le sous-domaine lan.agence.cub.fr :

# interroger le serveur DNS ns1.lan.agence.cub.fr de votre de l'agence (sous-domaine lan)
stub-zone:
name: "lan.agence.cub.fr."
stub-addr: 172.16.x.y

Résolution pour le sous-domaine DNS serveurs.agence.cub.fr de votre agence

Le sous-domaine serveurs.agence.cub.fr ne concerne que les utilisateurs de votre agence. Il n'a pas à être utilisé pour des résolutions de nom par les autres agences.

Une stub-zone supplémentaire doit être créée pour gérer la résolution de nom pour votre le sous-domaine DNS serveurs.agence.cub.fr de votre agence. Ajoutez dans le fichier /etc/unbound/unbound.conf les lignes suivantes en indiquant l'adresse IP privée du serveur DNS dans votre VLAN DMZ qui va gérer le sous-domaine serveurs.agence.cub.fr :

# interroger le serveur DNS ns2.serveurs.agence.cub.fr de votre agence (sous-domaine serveurs)
stub-zone:
name: "serveurs.agence.cub.fr."
stub-addr: 172.16.x.z

Modification de la configuration de tous les clients de votre agence

Vous allez indiquer également le domaine de l'agence dans lequel vous êtes situés (domain) et comment compléter un nom DNS si on n'indique pas le domaine (search). Indiquez également l'adresse IP de votre résolveur DNS (192.168.x.10) :

root@ns0:~# nano /etc/resolv.conf
domain agence.cub.fr
search agence.cub.fr
nameserver 192.168.x.10

Vérifiez ensuite que la résolution de nom fonctionne

Attention : lors des tests, il est nécessaire de vider le cache DNS et le cache de votre navigateur pour les tests sur le serveur Web (ou réaliser les tests en navigation privée). Par exemple : À partir du résolveur (pour le domaine et le sous domaine) : root@resolvDNSGaleway:~# unbound-control flush_zone galway.cub.fr ok removed 4 rrsets, 4 messages and 0 key entries root@resolvDNSGaleway:~# unbound-control flush_zone cub.fr ok removed 0 rrsets, 1 messages and 0 key entries ou root@resolvDNSGaleway:~# unbound-control reload À partir de n’importe quel Debian ou Ubuntu : systemd-resolve –flush-caches

# dig www.ac-limoges.fr
# dig www.cub.fr

Retour Configurer le service DNS

Configurer le service DNS