Serveur Physique DNS - FunWarry/Projet-ESEO-css-datacenter GitHub Wiki

Le serveur physique DNS déploie deux machines virtuelles distinctes : une pour le serveur DNS avec BIND9 et une autre pour le serveur DHCP avec ISC DHCP. En plus, un agent Zabbix est installé pour la supervision de ces services.

Structure du Dossier

Dans le serveur physique DNS, le dossier dns.ansible contient les éléments nécessaires pour déployer automatiquement les machines virtuelles (VMs) et appliquer les rôles Ansible.

L’arborescence du dossier dns.ansible est la suivante :

  • /home/etudis/bureau/dns.ansible/

    • variables : Contient le fichier inventory.ini avec les variables nécessaires pour les playbooks Ansible.
    • playbook : Contient les fichiers et rôles nécessaires au déploiement des éléments sur chaque serveur physique.
    • dns.ansible : Contient le Vagrantfile et les éléments nécessaires au déploiement des machines virtuelles.
    • scripts : Contient les scripts utilisés avant les rôles Ansible pour l'initialisation des VMs.
    • node.yml : Ce fichier est utilisé pour déployer les machines, attendre qu'elles soient accessibles en SSH, puis exécuter les rôles Ansible.

Scripts d'Initialisation (Avant les Rôles Ansible)

Avant de déployer les rôles Ansible, les scripts suivants sont exécutés sur chaque machine virtuelle pour préparer l'environnement :

  1. script_ssh : Autorise les connexions SSH avec mot de passe.
  2. config_ssh : Envoie la clé publique de la machine physique vers les VMs.
  3. config_sys : Configure les adresses IP des machines dans le bon masque de réseau.
  4. script_route : Configure les passerelles et routes nécessaires pour assurer la connectivité entre les machines.

Déploiement via Vagrant

Le fichier node.yml déploie les machines virtuelles, attend leur disponibilité en SSH, puis applique les rôles Ansible à chaque machine. Ce processus est répété pour chaque machine virtuelle déployée.

Rôles Ansible Déployés

Une fois les machines accessibles, les rôles Ansible sont appliqués pour chaque machine virtuelle :

  1. config_DDNS (pour la machine DNS) : Ce rôle configure le serveur DNS avec BIND9. Il permet d'installer et de configurer le service DNS dynamique (DDNS) pour les clients DHCP. Cela permet de mettre à jour automatiquement les enregistrements DNS lorsque les clients reçoivent une nouvelle adresse IP via DHCP.

  2. config_dhcp (pour la machine DHCP) : Ce rôle configure le serveur ISC DHCP pour gérer la distribution des adresses IP aux clients sur le réseau. Il inclut la gestion des plages d'adresses, des options DHCP, ainsi que la configuration des réservations d'adresses IP.

  3. agent_zabbix (sur les deux machines DNS et DHCP) : Ce rôle installe et configure l'agent Zabbix sur les serveurs DNS et DHCP pour assurer la supervision. Il permet de collecter des informations de performance et de disponibilité pour l'interface de supervision Zabbix.

Déploiement des Machines

Une fois les scripts exécutés, la commande vagrant up est utilisée pour démarrer et déployer les machines virtuelles. Après que les machines sont en ligne et accessibles via SSH, Ansible applique les rôles définis pour chaque machine.

Accès aux Machines

Une fois le déploiement terminé, vous pouvez accéder aux machines via SSH :

  • Pour accéder à la machine DNS :

    • vagrant ssh dns
  • Pour accéder à la machine DHCP :

    • vagrant ssh dhcp
  • Pour superviser via Zabbix, assurez-vous que l'agent Zabbix est correctement configuré sur les machines DNS et DHCP et que vous pouvez visualiser l'état de ces serveurs dans l'interface de supervision.