Project

General

Profile

Tâche #20848

Scénario #16703: Ne pas utiliser de CreoleGet dans les scripts de démarrage du réseau

Amonecole : Le redémarrage du service bastion ne restaure pas les règles iptables dans les conteneurs

Added by Fabrice Barconnière over 2 years ago. Updated over 2 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Start date:
04/24/2017
Due date:
% Done:

100%

Estimated time:
1.00 h
Spent time:
Remaining (hours):
0.0

Description

Je ne pense pas que cela soit lié à l'upgrade mais je suis tombé dessus avec un Amonecole 2.5.2 upgradé en 2.6.1 :

---------------------------------------------------------------------------------------------------------------------------------------
                                                          Reconfiguration OK                                                           
---------------------------------------------------------------------------------------------------------------------------------------
root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall 
*** Pare-feu
.       Génération des règles => Ok (13:55:35 20/06/17)
.                      maitre => Ok
.                      reseau => Erreur
.                    internet => Erreur
.                         bdd => Erreur
.                     partage => Erreur
.                       IPSet => Ok

La commande bastion regen règle le problème.
/usr/share/eole/posttemplate/00-eole-common reconfigure ne régénère peut-être pas le cache correctement.

Associated revisions

Revision 4baa7dd3 (diff)
Added by Daniel Dehennin over 2 years ago

Restarting bastion service does not restore rules in containers

- “service bastion stop” use “ferme.firewall” which now close the
firewall in containers

- “service bastion start” restore the rules from the cache on the
master and then run “service bastion start” in all containers

- “service bastion restart” is just a “service bastion stop && service
bastion start”, this result in the rules not restored in containers
since systemd consider the service as running even if the rules are
cleaned by “ferme.firewall”.

  • bastion/bastion (stop): When container mode is active we stop the
    service in containers too.

Ref: #20848

History

#1 Updated by Fabrice Barconnière over 2 years ago

  • Description updated (diff)

#2 Updated by Fabrice Barconnière over 2 years ago

J'ai trouvé le coupable :

root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall 
*** Pare-feu
.       Génération des règles => Ok (14:21:00 20/06/17)
.                      maitre => Ok
.                      reseau => Ok
.                    internet => Ok
.                         bdd => Ok
.                     partage => Ok
.                       IPSet => Ok

root@amonecole:~# CreoleService bastion restart
Restart Systemd service bastion                                                                                                [  OK  ]
root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall 
*** Pare-feu
.       Génération des règles => Ok (14:21:00 20/06/17)
.                      maitre => Ok
.                      reseau => Erreur
.                    internet => Erreur
.                         bdd => Erreur
.                     partage => Erreur
.                       IPSet => Ok

#3 Updated by Fabrice Barconnière over 2 years ago

root@amonecole:~# CreoleService bastion restart -c all
root - cannot start disabled service bastion

#4 Updated by Fabrice Barconnière over 2 years ago

Test Sur un Amonecole natif, pas de problème avant cette mise à jour :

root@amonecole:~# Query-Auto -C
Mise à jour le mardi 20 juin 2017 14:34:05
*** amonecole 2.6.1 (00000003) ***

Maj-Auto - (VERSION CANDIDATE) - Augmenter le niveau de mise à jour peut empêcher de revenir au niveau de mise à jour stable.
Voulez-vous continuer ? [oui/non]
[non] : o
Configuration du dépôt Ubuntu avec la source test-eole.ac-dijon.fr
Configuration du dépôt EOLE avec la source test-eole.ac-dijon.fr
Configuration du dépôt Envole avec la source test-eole.ac-dijon.fr
Action update pour root                                                                                                              
Action update pour le conteneur reseau                                                                                               
Action update pour le conteneur internet                                                                                             
Action update pour le conteneur bdd                                                                                                  
Action update pour le conteneur partage                                                                                              
Action list-upgrade pour root
Action list-upgrade pour le conteneur reseau                                                                                         
Action list-upgrade pour le conteneur internet                                                                                       
Action list-upgrade pour le conteneur bdd                                                                                            
Action list-upgrade pour le conteneur partage                                                                                        
0 nouveau, 26 mis à jour, 0 à enlever
Paquets à mettre à jour : 
    eole-common-pkg (2.6.1-104) (root, bdd, internet, partage, reseau)
    eole-db (2.6.1-3) (root)
    eole-lxc-container-apps (2.6.1-104) (bdd, internet, partage, reseau)
    eole-lxc-container-pkg (2.6.1-104) (bdd, internet, partage, reseau)
    eole-lxc-controller (2.6.1-104) (root)
    eole-resolvconf (2.6.1-104) (root, bdd, internet, partage, reseau)
    eole-server (2.6.1-104) (root)
    eole-ssmtp-pkg (2.6.1-104) (root, bdd, internet, partage)
    python-eoledb (2.6.1-3) (root)

C'est après cette mise à jour que le problème apparaît.
Ce n'est donc pas lié à l'upgrade.

#5 Updated by Fabrice Barconnière over 2 years ago

  • Parent task changed from #20668 to #16703

#6 Updated by Daniel Dehennin over 2 years ago

Fabrice Barconnière a écrit :

Test Sur un Amonecole natif, pas de problème avant cette mise à jour :
[...]

C'est après cette mise à jour que le problème apparaît.
Ce n'est donc pas lié à l'upgrade.

Cela vient probablement de #16175.

Avant ma modification, la fermeture du firewall n’était jamais effective à l’intérieure des conteneurs, maintenant si.

Du coup, si c’est ça il faut s’assurer que bastion ouvre les accès extérieurs à l’intérieur des conteneurs.

#7 Updated by Scrum Master over 2 years ago

  • Project changed from creole to eole-common
  • Assigned To set to Daniel Dehennin

#8 Updated by Scrum Master over 2 years ago

  • Status changed from Nouveau to En cours

#9 Updated by Daniel Dehennin over 2 years ago

  • Subject changed from Amonecole : erreur diagnose de bastion après reconfigure to Amonecole : Le redémarrage du service bastion ne restaure pas les règles iptables dans les conteneurs
  • % Done changed from 0 to 100
  • Remaining (hours) changed from 1.0 to 0.25

Nouveau paquet 2.6.1-105 et 2.6.2-12.

#10 Updated by Daniel Dehennin over 2 years ago

  • Status changed from En cours to Résolu

#11 Updated by Daniel Dehennin over 2 years ago

Pour valider

  1. Démarrer un etb3.amonecole-2.6.1-instance-default
  2. Fermer le firewall dans les conteneurs : exécuter CreoleRun /usr/share/eole/firewall.stop all
  3. Redémarrer bastion : exécuter CreoleService bastion restart
  4. Exécuter /usr/share/eole/diagnose/04-zfirewall
  5. Constater les ERREURS
  6. Exécuter Maj-Auto -C
  7. Exécuter reconfigure
  8. Fermer le firewall dans les conteneurs : exécuter CreoleRun /usr/share/eole/firewall.stop all
  9. Redémarrer bastion : exécuter CreoleService bastion restart
  10. Exécuter /usr/share/eole/diagnose/04-zfirewall
  11. Constater les OK

#12 Updated by Fabrice Barconnière over 2 years ago

  • Remaining (hours) changed from 0.25 to 0.0

#13 Updated by Fabrice Barconnière over 2 years ago

Avant mise à jour :

root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall
*** Pare-feu
.       Génération des règles => Ok (00:23:19 17/06/17)
.                      maitre => Ok
.                      reseau => Ok
.                    internet => Ok
.                         bdd => Ok
.                     partage => Ok
.                       IPSet => Ok

root@amonecole:~# CreoleRun /usr/share/eole/firewall.stop all
Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur reseau

Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur internet

Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur bdd

Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur partage

root@amonecole:~# CreoleService bastion restart
Restart Systemd service bastion                                                                                                [  OK  ]
root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall
*** Pare-feu
.       Génération des règles => Ok (00:23:19 17/06/17)
.                      maitre => Ok
.                      reseau => Erreur
.                    internet => Erreur
.                         bdd => Erreur
.                     partage => Erreur
.                       IPSet => Ok

Après mise à jour :

---------------------------------------------------------------------------------------------------------------------------------------
                                                          Reconfiguration OK                                                           
---------------------------------------------------------------------------------------------------------------------------------------
root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall
*** Pare-feu
.       Génération des règles => Ok (08:13:42 22/06/17)
.                      maitre => Ok
.                      reseau => Ok
.                    internet => Ok
.                         bdd => Ok
.                     partage => Ok
.                       IPSet => Ok

root@amonecole:~# CreoleRun /usr/share/eole/firewall.stop all
Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur reseau

Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur internet

Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur bdd

Exécution de la commande [/usr/share/eole/firewall.stop] dans le conteneur partage

root@amonecole:~# CreoleService bastion restart
Restart Systemd service bastion                                                                                                [  OK  ]
root@amonecole:~# /usr/share/eole/diagnose/04-zfirewall
*** Pare-feu
.       Génération des règles => Ok (08:13:42 22/06/17)
.                      maitre => Ok
.                      reseau => Ok
.                    internet => Ok
.                         bdd => Ok
.                     partage => Ok
.                       IPSet => Ok

#14 Updated by Fabrice Barconnière over 2 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF