Intranet - daviddieuHE/ADMIN2023 GitHub Wiki

1. Configuration du réseau interne

1.1 Informations générales

Vidéo : https://youtu.be/6DP_6IO1TKc

Les différents services et leur containeur docker sont configuré grâce à Docker-compose.

A ce niveau du développement, tous les conteneur tournent sur le bridge (à savoir le même réseau) grâce au docker-compose.

Le réseau est fonctionnel, il est en effet possible de ping, dig et il est également possible d'accéder au réseau et au site en interne via l'url www.woodytoys.lab.

Le service mail est également fonctionnel.

image

1.2 Base de données

image

image

IP : 172.16.0.6

Commentaire : On a une DB qui est composée d'un tableau avec 4 produits. On peut l'afficher et la modifier grâce à des requêtes php comme CREATE TABLE ou INSERT INTO.

1.3 Mail interne

image

IP : 172.16.0.9

Commentaire : Le serveur Mail fonctionne avec Dovecot et Postfix. L'utilisation de Mutt est opérationnelle, comme l'envoi et la réception d'e-mails.

1.4 Web

Vitrine

Docker-compose :

image

Configuration :

IP : 172.16.0.11

Commentaire : Création d'une image Docker basée sur PHP 7.4 avec Apache, installation des dépendances nécessaires, activation des modules requis et copie des fichiers dans le répertoire HTML du serveur web.

B2B

Docker-compose :

Configuration :

IP : 172.16.0.5

Commentaire : Idem que la configuration du site vitrine.

1.5 Soa

Docker-compose :

image

Configuration :

IP : 172.16.0.8

Commentaire : Configuration du SOA. On expose les ports 53 TCP et UDP pour la communication DNS.

1.6 Résolveur

Docker-compose :

image

Configuration :

IP : 172.16.0.7

Commentaire : Création d'une image Ubuntu, installation de Bind9, copie du fichier de configuration named.conf et exposition des ports 53 TCP et UDP. Ensuite, on exécute le service named en mode démon.

2. Guide de maintenance

2.1 Mettre à jour un service spécifique

sudo apt list --upgradable ==> voir les packets nécessitant des mises à jours

sudo apt-get upgrade mysql-server ==> upgade un packet spécifique, en l'occurrence ici mysql

2.2 Mail

2.2.1 Ajouter un user

On peut ajouter un user en entrant dans notre conteneur mail puis en exécutant les commandes ci-dessous.

ajoutuser1

Une fois fait, on peut aller dans notre conteneur user, où il faut exécuter un "adduser [nom de l'utilisateur]" et entrer les mêmes informations que précédemment.

ajoutuser2

ajoutuser3

ajoutuser4

2.2.2 Mise à jour

sudo apt upgrade postfix dovecot ==> pour mettre à jours postfix et dovcot

2.2.3 Problèmes fréquents

  • Il peut se produire un problème d'accès a certains ports. On le résout en indiquant la ligne suivante dans le dockerfile : EXPOSE 25 143 587 993
  • Problème de configuration: il faut vérifier l'orthographe et la syntaxe du code.
  • Erreur d'authentification : lors de problèmes d'authentification au serveur de messagerie, il est possible Dovecot soit mal configuré. Pour résoudre cela, il est conseillé de :
  1. Examiner les logs pour détecter toute erreur liée à l'authentification.
  2. S'assurer que les fichiers de configuration de Dovecot dans /etc/dovecot/ sont correctement configurés pour l'authentification.
  3. Vérifier les paramètres d'authentification dans le client de messagerie.
  4. Redémarrer Dovecot après avoir apporté les modifications nécessaires.

2.2.4 Troubleshooting

  • Examiner les journaux : vérifier les fichiers journaux dans /var/log/ pour obtenir des informations sur les erreurs et les problèmes potentiels.

  • Vérifier la configuration : s'assurer que les fichiers de configuration dans /etc/postfix/ et /etc/dovecot/ sont correctement configurés.

  • Vérifier les ports : s'assurer que les ports nécessaires pour la messagerie sont ouverts.

  • Tester l'envoi et la réception des e-mails : envoyer des e-mails à partir du serveur et vérifier si les messages sont correctement envoyés et reçus.

  • Tester la connectivité : Il est recommandé d'utiliser des outils comme ping, traceroute ou telnet pour vérifier la connectivité entre le serveur de messagerie et l'Internet.

2.3 Base de donnée

2.3.1 Ajouter un produit dans la table product

image

image

image

image

2.3.2 Problèmes fréquents

  • Erreur de syntaxe ou d'orthographe, comme pour les noms d'utilisateurs ou les mots de passe.

2.2.3 Troubleshooting

  • Consulter les fichiers log : /var/log/mysql.log

2.4 DNS

2.2.1 Modifications

  1. Ajout d'une entrée DNS :

    • Accéder au fichier de configuration DNS (ex. named.conf).
    • Identifier la zone DNS dans laquelle l'entrée doit être ajoutée.
    • Ajouter l'entrée avec la syntaxe appropriée (ex. nom-de-domaine. IN A adresse-IP).
    • Spécifier le nom, le type et la valeur de l'entrée.
    • Redémarrer le service DNS pour appliquer les modifications.
  2. Maintenance d'une entrée DNS :

    • Accéder au fichier de configuration DNS.
    • Localiser l'entrée DNS à modifier.
    • Modifier les informations nécessaires (nom, valeur, type, etc.) conformément aux besoins.
    • Redémarrer le service DNS pour prendre en compte les modifications.
  3. Suppression d'une entrée DNS :

    • Accéder au fichier de configuration DNS.
    • Trouver l'entrée DNS à supprimer.
    • Commenter ou supprimer l'entrée en utilisant le symbole approprié.
    • Redémarrer le service DNS pour appliquer les changements.

2.4.2 Mise à jour

  • sudo apt-get update La première étape consiste à rechercher les packages pouvant être mis à jour.
  • sudo apt-get install --only-upgrade bind9 Ensuite, nous procéderons à la mise à jour spécifique de bind9.
  • sudo service bind9 restart Pour que la mise à jour prenne effet, il sera nécessaire de redémarrer le service.

2.4.3 Problèmes fréquents

  • Erreur de syntaxe comme un oublie de point à la fin du nom de domaine. Pour corriger ce type d'erreur il faut :
  1. Consulter les logs
  2. S'assurer que les noms de domaine complets se terminent par un point.
  3. Utiliser les outils named-checkconf et named-checkzone pour vérifier la syntaxe du fichier de configuration.
  • Mauvaise résolution de nom : le DNS ne parvienne pas à résoudre un nom. Ceci peut être dû à plusieurs raisons, parmi lesquelles l'absence d'une entrée correspondante dans la zone DNS ou une configuration incorrecte. Pour corriger ce type d'erreur il faut :
  1. Vérifier les logs pour toute erreur relative à la résolution de nom.
  2. Utiliser des outils comme dig ou nslookup pour tester la résolution de noms.
  3. Vérifier les entrées DNS dans le fichier de configuration pour s'assurer qu'elles sont correctement configurées.
  4. S'assurer que l'entrée DNS correspondante existe dans la zone DNS correcte.
  5. Redémarrer le service DNS après avoir effectué les modifications nécessaires.
  • Lenteur dans la résolution DNS :la résolution DNS peut être plus lente que prévu, ce qui peut affecter la performance du réseau.
  1. Vérifier les logs pour détecter toute erreur qui pourrait affecter la performance du DNS.
  2. Utiliser des outils comme dig avec l'option +trace pour suivre le processus de résolution DNS et identifier les éventuels goulets d'étranglement.
  3. Vérifier la configuration du serveur DNS pour s'assurer qu'il est correctement configuré pour gérer la charge.
  4. S'assurer que le réseau fonctionne correctement et qu'il n'y a pas de problèmes pouvant affecter la performance du DNS.
  5. Mettre à jour le serveur DNS à la dernière version pour bénéficier des dernières optimisations de performance.
  6. Redémarrer le service DNS après avoir effectué les modifications nécessaires.

2.2.4 Troubleshooting

D'abord il faut consulter les logs de Bind. Ensuite on peut utiliser différents outils comme :

  • dig : Utilise le protocole DNS pour effectuer des requêtes et obtenir des informations spécifiques sur les enregistrements DNS.
  • nslookup : Permet de faire des requêtes DNS pour obtenir des informations sur les enregistrements DNS d'un domaine spécifique.
  • named-checkconf : Vérifie la syntaxe et la validité des fichiers de configuration de Bind (named.conf) pour détecter les éventuelles erreurs.
  • named-checkzone : Vérifie la syntaxe et la validité d'une zone DNS spécifique en vérifiant les fichiers de zone pour détecter les erreurs éventuelles.

2.5 Web

2.5.1 Modifications

  1. Ajout :
  • Pour ajouter une nouvelle page web, il suffit de modifier le contenu du fichier index.html ou index.php existant. Les modifications seront immédiatement visibles s'il n'y a pas d'erreurs.
  • Pour ajouter un nouveau site web, il faut créer un fichier de configuration dans /etc/apache2/sites-available ou /etc/nginx/sites-available, puis l'activer avec les commandes a2ensite ou ln -s.
  1. Modification :
  • Pour modifier une page web existante, il faut modifier le contenu du fichier index.html ou index.php correspondant. Les changements seront immédiatement appliqués.
  • Pour modifier un site web, il faut modifier le fichier de configuration associé dans /etc/apache2/sites-available ou /etc/nginx/sites-available, puis recharger ou redémarrer le serveur web.
  1. Suppression :
  • Pour supprimer une page web, il suffit de supprimer simplement le fichier index.html ou index.php correspondant.
  • Pour supprimer un site web, il faut le désactiver avec les commandes a2dissite ou en supprimant le lien symbolique dans /etc/nginx/sites-enabled, puis supprimer le fichier de configuration correspondant.

2.5.2 Mise à jour

  • sudo apt-get update La première étape consiste à rechercher les packages pouvant être mis à jour.
  • sudo apt-get install --only-upgrade apache2 ou sudo apt-get install --only-upgrade nginx Ensuite, nous procéderons à la mise à jour spécifique de apache2 u nginx suivant le serveur web utilisé.
  • sudo service apache2 restart ou sudo service nginx restart Pour que la mise à jour prenne effet, il sera nécessaire de redémarrer le service.

2.5.3 Problèmes fréquents

  • Problème d'accès entre conteneurs : Il peut y avoir des problèmes de communication entre les deux conteneurs Docker. Pour résoudre ce problème, il est recommandé de :
  1. Vérifier les logs Docker pour détecter toute erreur de communication.
  2. S'assurer que les conteneurs sont sur le même réseau Docker.
  3. Utiliser des commandes comme docker network inspect pour vérifier les paramètres de réseau des conteneurs.
  • Problèmes avec le serveur web : Pour résoudre ces problèmes, il est conseillé de :
  1. Vérifier les logs du serveur web pour détecter toute erreur.
  2. S'assurer que la configuration du serveur web est correcte.
  3. Redémarrer le serveur web ou le conteneur si nécessaire.

2.5.4 Troubleshooting

  • Examiner les logs : Il est essentiel de consulter les fichiers journaux dans chaque conteneur pour obtenir des informations sur les erreurs et les problèmes potentiels.
  • Vérifier la configuration : S'assurer que les fichiers de configuration du serveur web et tout autre service dans les conteneurs sont correctement configurés.
  • Tester la connectivité : Il est possible d'utiliser des outils comme curl ou wget pour tester la connectivité entre les deux sites web internes.
  • Vérifier les ports : S'assurer que les ports nécessaires pour le fonctionnement des sites web sont ouverts et accessibles.
  • Vérifier les ressources du conteneur : Utiliser des commandes comme docker stats pour vérifier l'utilisation des ressources par chaque conteneur. Une utilisation excessive des ressources peut entraîner des problèmes de performance.