Skip to main content

Reconfigurer le réseau d'un serveur Medulla (IP, FQDN, HTTPS)

S'applique à : Medulla
Version : Toutes
Environnement : On-Premise
Catégorie : Administration serveur

Contexte

Cette procédure permet de modifier lela configuration réseau d’une instance Medulla : adresse IP, FQDN (nom DNS complet), d’unepasserelle, instanceserveurs Medulla.DNS et protocole (http / https).

ExempleExemples :

192.168.1.10/24            → 10.0.0.50/24
medulla.ancien-domaine.lan → medulla.nouveau-domaine.fr

Le script reconfigure_network.py remplace l’ancien script rename_fqdn_and_protocol.py. Il permet également :

  • De modifierchanger l’adresse IP, le masque, la passerelle et les serveurs DNS du serveur
De changer le FQDN de l’instance De mettre à jour automatiquement les fichiers de configuration Medulla Deet mettre à jour les URLs stockées enla base de données De migrer de http vers https Deet de configurer automatiquement Apache pour SSL De régénérer les agents Medulla avec le nouveau FQDN De reconfigurer un serveur relais (ARS)

Important :
Avant d’exécuterSi le script,FQDN change, le nouveau FQDN doit être résolvable par DNS avant l’exécution du script : le script vérifie sa résolution et pointers’arrête vers votre serveur Medulla.sinon.
Ne supprimez pas l’ancien enregistrement DNS tant que tous les postes n’ont pas basculé sur le nouveau FQDN (voir Propagation vers les postes clients).


Pré-requis

    Le nouveau FQDN doit exister dans le DNS Le nouveau FQDN doit pointer vers l’adresse IP du serveur Medulla L’ancien FQDN doit rester résolvable pendant toute la période de transition Le script doit être exécuté en root Le module Python mysql-connector (paquet mysql-connector-python) doit être installé PourChangement de FQDN : le nouveau FQDN existe dans le DNS et pointe vers l’adresse IP (nouvelle ou actuelle) du serveur Medulla Changement de FQDN : l’ancien FQDN reste résolvable pendant toute la période de transition Changement d’IP : la configuration réseau du serveur est gérée par /etc/network/interfaces (voir Limites) Changement d’IP : l’entrée pulse du fichier /etc/hosts contient l’adresse IP actuelle (elle sert à détecter l’ancienne IP) Changement d’IP : disposer d’un accès console au serveur (console hyperviseur, iDRAC/iLO, accès physique) en cas de perte de connexion HTTPS : disposer d’un certificat SSL au format PEM couvrant le nouveau FQDN (CN ou SAN), ainsi que de sa clé privée non chiffrée

    Sauvegarde avant exécution

    Recommandation :
    Le script n’effectue aucun rollback automatique. Sauvegardez les fichiers de configuration et la base xmppmaster avant exécution.

    mysqldump xmppmaster > /root/xmppmaster_$(date +%F).sql
    tar czf /root/conf_backup_$(date +%F).tgz \
      /etc/network/interfaces /etc/hosts /etc/mmc /etc/pulse-xmpp-agent* \
      /etc/apache2 /etc/guacamole /var/lib/pulse2/clients/config \
      /var/lib/pulse2/clients/.generation_options /var/lib/pulse2/clients/win/install-agent.ps1

    Téléchargement du script

    Télécharger le script :

    wget https://dl.medulla-tech.io/ma/rename_fqdn_and_protocol.reconfigure_network.py

    Le rendre exécutable :

    chmod +x rename_fqdn_and_protocol.reconfigure_network.py

    Afficher l’aide du script :

    ./rename_fqdn_and_protocol.reconfigure_network.py --help

    ModifierDéroulement de l’exécution

      Le script vérifie les arguments, détecte l’ancienne IP (entrée pulse de /etc/hosts) et l’ancien FQDN (nom d’hôte du système, sauf si --old-fqdn est fourni). Un avertissement s’affiche pendant 10 secondes : appuyez sur Ctrl+C pour annuler. Les fichiers de configuration, la base de données et Apache sont mis à jour, et les services concernés sont redémarrés. Si l’IP change, le service réseau est redémarré en dernier. Les instructions de reconnexion s’affichent juste avant.

      Conseil :
      L’ancien FQDN est déduit du serveurnom d’hôte du serveur. Si celui-ci ne correspond pas au FQDN utilisé par Medulla, indiquez-le explicitement avec --old-fqdn.


      Changer l’adresse IP

      PourLa modifiernouvelle unadresse FQDNdoit existantêtre :

      fournie
      medulla.mondomaine.lanen →notation medulla.mondomaine.fr
      CIDR

      Commande(adresse/préfixe). :Le masque est déduit du préfixe.

      ./rename_fqdn_and_protocol.reconfigure_network.py \
      --new-ip 10.0.0.50/24 \
      --gateway 10.0.0.1 \
      --dns-servers "10.0.0.10 10.0.0.11"

      Attention :
      Lors d’un changement d’IP, indiquez toujours --gateway et --dns-servers, même s’ils ne changent pas. Sans ces options, les lignes gateway et dns-nameservers existantes sont supprimées de /etc/network/interfaces et le serveur perd sa passerelle et ses DNS.

      Attention :
      Si vous êtes connecté en SSH, la connexion sera coupée au redémarrage du réseau. Reconnectez-vous ensuite sur la nouvelle adresse IP.

      Information :
      Si l’interface est configurée en DHCP, elle est convertie en configuration statique avec l’adresse fournie.


      Changer le FQDN

      ./reconfigure_network.py \
      --old-fqdn medulla.mondomaine.ancien-domaine.lan \
      --new-fqdn medulla.nouveau-domaine.fr

      Changer l’IP et le FQDN

      ./reconfigure_network.py \
      --new-ip 10.0.0.50/24 \
      --gateway 10.0.0.1 \
      --dns-servers "10.0.0.10 10.0.0.11" \
      --old-fqdn medulla.ancien-domaine.lan \
      --new-fqdn medulla.nouveau-domaine.fr

      Passer de HTTP à HTTPS

      Le protocole peut être changé en même temps que l’IP ou le FQDN. Si --new-protocol n’est pas spécifié, le protocole existant est conservé.

      ./reconfigure_network.py \
      --old-fqdn medulla.ancien-domaine.lan \
      --new-fqdn medulla.nouveau-domaine.fr \
      --new-protocol https \
      --ssl-pem-chain-filename /root/fullchain.pem \
      --ssl-pem-key-filename /root/privkey.pem

      Pour passer en HTTPS sans changer de FQDN, indiquez le FQDN actuel dans --new-fqdn (le script exige au moins --new-ip ou --new-fqdn) :

      ./reconfigure_network.py \
      --new-fqdn medulla.mondomaine.fr \
      --new-protocol https \
      --ssl-pem-chain-filename /root/fullchain.pem \
      --ssl-pem-key-filename /root/privkey.pem

      Avec un certificat, le script réalise automatiquement :

        La copie du certificat et de la clé dans /etc/ssl/certs/ (clé en droits 600) L’activation des modules Apache ssl et headers La configuration et l’activation du site default-ssl La redirection HTTP → HTTPS

        Attention :
        Fournissez toujours le certificat et la clé privée avec --new-protocol https. Sans certificat, les URLs passent en https mais Apache n’est pas configuré pour SSL.


        Régénérer les agents

        Si les postes clients communiquent avec Medulla via le FQDN, régénérez les agents afin qu’ils utilisent le nouveau nom DNS :

        ./reconfigure_network.py \
        --old-fqdn medulla.ancien-domaine.lan \
        --new-fqdn medulla.nouveau-domaine.fr \
        --update-agent-conf

        Information :
        Cette commandeoption met automatiquement à jour agentconf.ini et .generation_options, puis régénère les fichiersagents Medulla.

        Attention :
        Après régénération, les nouveaux agents doivent être déployés sur les postes pour qu’ils continuent à communiquer avec le serveur. Conservez l’ancien enregistrement DNS jusqu’à la fin de configurationce Medulla,déploiement.


        Reconfigurer un serveur relais (ARS)

        Sur un serveur relais, ajoutez l’option --ars :

        ./reconfigure_network.py \
        --ars \
        --new-ip 10.0.1.20/24 \
        --gateway 10.0.1.1 \
        --dns-servers "10.0.0.10 10.0.0.11"

        En mode ARS, seuls le réseau, /etc/hosts, relayconf.ini.local et package-server.ini.local sont mis à jour. La base de données, Apache, Guacamole et les URLsagents Guacamole,ne lessont paramètrespas Apachemodifiés.

        Reconfigurer uniquement le réseau

        L’option --only-network modifie uniquement la configuration réseau et la/etc/hosts, basesans xmppmaster.toucher Le détail figure dansà la sectionconfiguration QueMedulla modifie:

        exactement
        ./reconfigure_network.py le--only-network script\
        ?--new-ip 10.0.0.50/24 --gateway 10.0.0.1 --dns-servers "10.0.0.10"

        Propagation vers les postes clients

        L’URL Guacamole de chaque machine est mise à jour en base avec un marquage de reconfiguration (need_reconf). La nouvelle URLconfiguration est ensuite transmise à chaque poste lors de son prochain check-in auprès du serveur Medulla..

        Information :
        LeLa changement de FQDNpropagation n’est donc pas instantané côté clientsinstantanée : la propagationelle dépend de la fréquence de connexion des agents. Il est normal que certains postes pointent encore temporairement vers l’ancienne URL Guacamole. Les postes éteints ou hors réseau ne basculeront qu’à leur prochaine connexion.

        Attention :
        Conservez l’ancien enregistrement DNS jusqu’à ce que tous les postes aient basculé. Le supprimer trop tôt coupe la communication avec les postes qui ne sont pasnon encore reconfigurés.


        Modifier le protocole HTTP → HTTPS

        Il est possible de migrer simultanément les URLs de http vers https.

        Commande :

        ./rename_fqdn_and_protocol.py \
        --old-fqdn medulla.mondomaine.lan \
        --new-fqdn medulla.mondomaine.fr \
        --new-protocol https

        Le protocole est automatiquement remplacé dans les URLs gérées par Medulla. Si l’option --new-protocol n’est pas spécifiée, le protocole existant est conservé.

        Attention :
        Pour une configuration HTTPS complète, fournissez un certificat SSL valide pour le nouveau FQDN. Les options --ssl-pem-chain-filename et --ssl-pem-key-filename s’utilisent ensemble, avec --new-protocol https.

        Exemple complet avec certificat SSL

        ./rename_fqdn_and_protocol.py \
        --old-fqdn medulla.ancien.fr \
        --new-fqdn medulla.nouveau.fr \
        --new-protocol https \
        --ssl-pem-chain-filename /root/fullchain.pem \
        --ssl-pem-key-filename /root/privkey.pem

        Le script réalise automatiquement :

          L’activation SSL d’Apache La configuration des VirtualHosts HTTPS La redirection HTTP → HTTPS L’installation des certificats

          Information :
          La clé privée n’étant pas chiffrée, restreignez ses droits avant exécution :

          chmod 600 /root/privkey.pem

          Régénérer les agents avec le nouveau FQDN

          Si les postes clients communiquent directement avec Medulla via le FQDN public, il est recommandé de régénérer les agents afin qu’ils utilisent le nouveau nom DNS.

          Commande :

          ./rename_fqdn_and_protocol.py \
          --old-fqdn medulla.mondomaine.lan \
          --new-fqdn medulla.mondomaine.fr \
          --update-agent-conf

          Information :
          Cette option met à jour les fichiers agentconf.ini et .generation_options, puis régénère automatiquement les agents Medulla.

          Attention :
          Après régénération, la nouvelle configuration doit être déployée sur les postes pour qu’ils continuent à communiquer avec le serveur Medulla. Conservez l’ancien enregistrement DNS jusqu’à la fin de ce déploiement.


          Options disponibles du script

          Argument Obligatoire
          Description --old-fqdnnew-ip OuiNouvelle FQDNadresse actuelIP àen remplacernotation CIDR (ex. 10.0.0.50/24) --new-fqdn OuiNouveau FQDN. Doit être résolvable par DNS --old-fqdn Nouveau FQDN Medullaactuel. Si absent, déduit du nom d’hôte du serveur --gateway Passerelle. Prise en compte uniquement avec --new-ip --dns-servers Serveurs DNS séparés par des espaces, entre guillemets. Pris en compte uniquement avec --new-ip --new-protocol Non http ou https. Si absent, le protocole existant est conservé --ssl-pem-chain-filename Non Certificat SSL PEM (chaîne complète). À utiliser avec --ssl-pem-key-filename et --new-protocol https --ssl-pem-key-filename Non Clé privée PEM non chiffrée. À utiliser avec --ssl-pem-chain-filename et --new-protocol https --update-agent-conf NonMet à jour la configuration des agents et les régénère --ars RégénèreMode lesserveur agentsrelais avec(ARS) --only-network Reconfigure uniquement le nouveauréseau, FQDNsans la configuration Medulla --log-level debug, info (défaut), warning ou error

          Information :
          Au moins une des options --new-ip ou --new-fqdn est obligatoire.


          Que modifie exactement le script ?

          Élément Action réalisée Condition
          /etc/network/interfaces Adresse, masque, passerelle, DNS Changement d’IP /etc/hosts IP de l’entrée pulse Changement d’IP relayconf.ini.local MiseIP àdu jourserveur, de l’URL Guacamole Toujours (hors --only-network) xmppmaster.ini.local MiseIP àdu jour desserveur, URLs Guacamole / Graph / Render Serveur principal security.ini.local Identifiant serveur (cve_central) Serveur principal assessor_agent.ini.local MiseIP àdu jourserveur, URL Guacamole Serveur principal agent_master_substitute_*.ini.local IP du serveur Serveur principal, changement d’IP package-server.ini.local IP et masque publics Changement d’IP mmc.ini.local Description du serveur Serveur principal, changement de l’URL GuacamoleFQDN Base xmppmaster MiseTable àrelayserver jour: desURL URLsGuacamole, GuacamoleIP, dessous-réseau, tablesmasque. Table machines : URL Guacamole et relayserver, avec marquage need_reconf Serveur principal Apache Mise à jour ProxyPass / Referer /dans guacamole.conf, medulla_agent.conf, pulse.conf, websocketlogs.conf Serveur principal Apache SSL Certificats, site default-ssl, redirection HTTPS --new-protocol https avec certificat /etc/guacamole/tomcat.xml IP du serveur Serveur principal, changement d’IP Agents Medulla Reconfigurationagentconf.ini, et.generation_options, régénération (uniquement avec --update-agent-conf) Script Windows install-agent.ps1 Mise à jour de l’URL de téléchargement (systématique,Serveur avecprincipal, ouchangement sansde --update-agent-conf)FQDN

          Services automatiquement redémarrés

          Pendant l’exécution du script, les services suivants sont automatiquement redémarrés :

          • pulse-xmpp-agent-relay
          • mmc-agent
          • pulse-xmpp-master-substitute-assessor
          • Tous les substituts (restart-pulse-services restart allsubs), en cas de changement d’IP
          pulse2-package-server, en cas de changement d’IP apache2 tomcat8 (Guacamole), en cas de changement d’IP networking, en dernier, en cas de changement d’IP

          Attention :
          Une courte interruption de service peutest êtreà observéeprévoir pendant l’exécutionexécution. duPlanifiez script.l’opération en dehors des heures d’utilisation.


          VérificationsAprès après l’exécution

          • L’Mettre à jour les enregistrements DNS (nouvelle IP et/ou nouveau FQDN)
          Mettre à jour les règles de pare-feu si l’IP a changé Vérifier l’accès à l’interface Medulla est accessible via le nouveau FQDN (et en HTTPS si configuré) LesVérifier que les services redémarrés sont actifs :
          systemctl status pulse-xmpp-agent-relay mmc-agent pulse-xmpp-master-substitute-assessor pulse2-package-server apache2 tomcat8
          AucuneVérifier qu’aucune référence à l’ancienne IP ou à l’ancien FQDN ne subsiste dans la configuration :
          grep -rrE "medulla.192\.168\.1\.10|medulla\.ancien-domaine.domaine\.lan" /etc/mmc /etc/pulse-xmpp-agent* /etc/apache2 /etc/guacamole
          Suivre la bascule des postes : le nombre de machines encore marquées need_reconf doit diminuer au fil des check-ins.ins Si --update-agent-conf a été utilisé : déployer les agents régénérés sur les postes Si l’IP du serveur principal a changé : reconfigurer les serveurs relais (ARS) qui pointent vers lui

          CasLimites

          particulier
            Gestionnaire réseau : assessorseul distant/etc/network/interfaces

            Siest pris en charge. Avec Netplan ou NetworkManager, le script affiche un avertissement et la configuration réseau doit être modifiée manuellement (le reste de la reconfiguration Medulla est effectué).

            Interface unique : le script applique la nouvelle adresse aux interfaces déclarées dans /etc/network/interfaces. Sur un serveur à plusieurs interfaces, modifiez le réseau manuellement et utilisez le script sans --new-ip, ou contactez le support. Assessor distant : si l’assessor est hébergé sur un serveurautre distant,serveur, le script ne pourra pas mettre à jour automatiquement le fichier suivant :
            /etc/pulse-xmpp-agent-substitute/assessor_agent.ini.local

            Dansn’est pas mis à jour. Sur ce cas, sur le serveur concerné,serveur, remplacez l’ancien FQDNIP (serverip) et le protocoleFQDN le cas échéant) dansde l’URL Guacamole de ce fichier,(guacamole_baseurl), puis redémarrez le service :

            systemctl restart pulse-xmpp-master-substitute-assessor
            .

            Cet échec n’interrompt pas l’L’exécution du script :n’est lespas étapesinterrompue.

            suivantes sont réalisées normalement.

            Gestion des erreurs

            En cas d’échec,échec sur une étape critique, le script s’arrête immédiatementimmédiatement. (àLes échecs sur assessor_agent.ini.local, les fichiers des substituts et package-server.ini.local sont signalés sans interrompre l’exception du cas de l’assessor distant ci-dessus).exécution.

            Important :
            Le script n’effectue aucun rollback automatique.

            Les modifications déjà appliquées restent présentes. Une foisCorrigez le problème corrigé,puis relancez le script peut être relancé sans risque :avec les opérationsmêmes sontparamètres, idempotentes, un remplacement déjà effectué est sans effet (les services concernés seront toutefois redémarrés à nouveau). En cas de besoin,ou restaurez la sauvegarde réalisée avant exécution.

            Pour obtenir plus de détails sur une erreur, relancez avec --log-level debug.


            ValeursConnexion parà défautla base de données

            Les paramètres de connexion sont lus dans la section [database] de /etc/mmc/plugins/xmppmaster.ini (et .local s’il existe).

            ÉlémentParamètre Valeur par défaut
            Hôte SQL localhost
            Port SQL 3306
            Utilisateur SQL mmc
            Mot de passe SQL Aucune valeur par défaut : ludoit depuisêtre défini dans la configuration
            Protocole Conservé si non spécifié HTTPS Optionnel Régénération agent Désactivée sans --update-agent-conf

            Information :
            Les paramètres de connexion SQL sont lus depuis /etc/mmc/plugins/xmppmaster.ini (et .local s’il existe). Les valeurs ci-dessus s’appliquent uniquement si elles n’y sont pas définies.