Scénario #24233
amon 2.6.2 : possible pb avec l'ipsec
100%
Description
Bonjour,
Depuis la bascule (une nouvelle install et non un upgrade) des eple de notre académie en amon 2.6.2, beaucoup d'entre eux se plaignent de déconnexions intempestives, de coupures de réseaux ...
Après investigation dans un lycée, il s'avère que les soucis interviennent dès qu'il y a un peu trop de coupures internet.
Symptômes :
- dans l'établissement, la plupart des réseaux internes ne peuvent sortir sur internet et même pinguer la patte de l'amon.
- depuis le rectorat, on peut se connecter via l'ip publique sur l'amon et le diagnose indique que tout est OK. Toutefois, quand un AED pingue la passerelle de l'amon, un tcpdump montre que le ping arrive sur l'interface mais que l'amon ne répond pas. Or le firewall est actif et les règles correctes.
Qu'est-ce qui pourrait entrainer une action dès que l'internet ne passe plus sur l'amon ? J'ai pensé au script magic-rvp.
Même s'il n'existe plus, il y a tout de même un agent zephir qui scrute le vpn et le relance en cas de défaut.
La version courte : dans /usr/share/zephir/monitor/actions/eole/rvp.actions, l'agent effectue un service strongswan restart
Le problème viendrait du stop car il ne ferait que de killer le process ipsec. Or celui-ci a lancé (au start) ipsec_updown qui a aussi lancé ip_xfrm_policy.
Au niveau des réseaux ne pouvant plus sortir, leurs directives xfrm policy étaient incomplètes ou manquantes.
En ajoutant à la main des directives xfrm policy concernant un réseau, le ping de la passerelle était OK et ce réseau pouvait de nouveau sortir.
Pour y remédier, dans /lib/systemd/system/strongswan.service, j'ai remplacé
ExecStopPost=/bin/rm -f /var/run/charon.pid /var/run/starter.charon.pid
par
ExecStopPost=-/bin/rm -f /var/run/charon.pid /var/run/starter.charon.pid ExecStopPost=-/bin/ip xfrm policy flush
Le problème a pu être reproduit sur une plateforme VMware de notre rectorat.
Cordialement.
Sous-tâches
Historique
#1 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Description mis à jour (diff)
- Tâche parente mis à #23987
#2 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Projet changé de Amon à Distribution EOLE
- Statut changé de Nouveau à En cours
#3 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Description mis à jour (diff)
- Assigné à mis à Fabrice Barconnière
- Temps estimé mis à 6.00 h
- Restant à faire (heures) mis à 6.0
#4 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Fichier rvp.actions ajouté
Bonjour,
Pouvez-vous tester l'action de l'agent Zéphir modifiée et sans modifier /lib/systemd/system/strongswan.service
?
- Remplacer le fichier
/usr/share/zephir/monitor/actions/eole/rvp.actions
par celui-ci : rvp.actions - Relancer le service
z_stats
#5 Mis à jour par Fabrice Barconnière il y a presque 6 ans
Après avoir regardé de plus près, je ne pense pas que la modification de l'action de l'agent RVP change quelquechose. Le restart fait un stop suivi d'un start.
Enfin bon, le stop est censé supprimer les directives xfrm policy.
#6 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Depuis un Horus en admin : ping interface 1 d'Amon
- Tunnels OK entre Amon et Sphynx (admin-reseau_eth1 + admin-reseau_10)
- C'est le tunnel admin (qui est en 10.x.y.x) avec le réseau 10.0.0.0/8 qui entraîne cette situation
- On pourrait éviter le problème en ne déclarant que des tunnels vers des réseaux plus ciblés et n'interférant pas avec le réseau admin
- C'est le tunnel admin (qui est en 10.x.y.x) avec le réseau 10.0.0.0/8 qui entraîne cette situation
- Couper sauvagement Sphynx (Éteindre forcé sur OpenNebula par exemple)
- Sur Amon, redémarrer z_stats -> restart de strongswan
- les tunnels ne se montent pas
root@amon:~# ipsec statusall [...] Security Associations (0 up, 1 connecting): etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[1]: CONNECTING, 192.168.0.31[%any]...192.168.0.11[%any] etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[1]: IKEv2 SPIs: 0d9bd667657fc050_i* 0000000000000000_r [...] root@amon:~# ip xfrm policy src 0.0.0.0/0 dst 0.0.0.0/0 socket in priority 0 src 0.0.0.0/0 dst 0.0.0.0/0 socket out priority 0 src 0.0.0.0/0 dst 0.0.0.0/0 socket in priority 0 src 0.0.0.0/0 dst 0.0.0.0/0 socket out priority 0 src ::/0 dst ::/0 socket in priority 0 src ::/0 dst ::/0 socket out priority 0 src ::/0 dst ::/0 socket in priority 0 src ::/0 dst ::/0 socket out priority 0
- les tunnels ne se montent pas
- Redémarrer Sphynx et attendre qu'il soit prêt
- Les tunnels remontent pendant quelques secondes
On se retrouve dans cette situation avec les directives xfrm policy correctes :root@amon:~# ipsec statusall [...] Security Associations (1 up, 1 connecting): etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[2]: ESTABLISHED 3 seconds ago, 192.168.0.31[C=FR, L=Dijon, O=Education Nationale, OU=0002 110043015, CN=amon262.ac-test.fr]...192.168.0.11[C=FR, L=Dijon, O=Education Nationale, OU=0002 110043015, CN=sphynx] etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[2]: IKEv2 SPIs: 140b8e1630f23bc1_i 42f0e79f735b004a_r*, public key reauthenticati on in 2 hours etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[2]: IKE proposal: AES_CBC_128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_2048 etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2{1}: INSTALLED, TUNNEL, reqid 1, ESP SPIs: c1bebef1_i cc575a1e_o etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2{1}: AES_GCM_16_128, 0 bytes_i, 0 bytes_o, rekeying in 46 minutes etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2{1}: 10.1.1.0/24 === 10.0.0.0/8 etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T1{2}: INSTALLED, TUNNEL, reqid 2, ESP SPIs: cdcfd934_i c7fc3370_o etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T1{2}: AES_GCM_16_128, 0 bytes_i, 0 bytes_o, rekeying in 46 minutes etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T1{2}: 10.1.1.0/24 === 172.30.101.0/24 etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[1]: CONNECTING, 192.168.0.31[%any]...192.168.0.11[%any] etb1.amon-default-2.6.2-aca.sphynx-default-2.6.2_1-T2[1]: IKEv2 SPIs: 0d9bd667657fc050_i* 0000000000000000_r [...] root@amon:~# ip xfrm policy src 172.30.101.0/24 dst 10.1.1.0/24 dir fwd priority 2883 tmpl src 192.168.0.11 dst 192.168.0.31 proto esp reqid 2 mode tunnel src 172.30.101.0/24 dst 10.1.1.0/24 dir in priority 2883 tmpl src 192.168.0.11 dst 192.168.0.31 proto esp reqid 2 mode tunnel src 10.1.1.0/24 dst 172.30.101.0/24 dir out priority 2883 tmpl src 192.168.0.31 dst 192.168.0.11 proto esp reqid 2 mode tunnel src 10.1.3.0/24 dst 10.1.3.0/24 dir fwd priority 0 src 10.1.3.0/24 dst 10.1.3.0/24 [...]
- Après quelque secondes, les directives xfrm policy sont supprimées
- Le ping depuis Horus ne répond plus
- On trouve ceci dans les logs d'Amon
/var/log/rsyslog/local/charon/ charon.info.log
DELETE?????
- Explication:
- La connexion en status CONNECTING est supprimée
- Du coup, le script
ipsec_updown
est appelé avec le paramètredown-client
ce qui entraîne l'exécution de/etc/ipsec.d/ip_xfrm_policy delete
- La connexion ESTABLISHED uniquement avec les directives xfrm policy de base
src 172.30.101.0/24 dst 10.1.1.0/24 dir fwd priority 2883 tmpl src 192.168.0.11 dst 192.168.0.31 proto esp reqid 2 mode tunnel src 172.30.101.0/24 dst 10.1.1.0/24 dir in priority 2883 tmpl src 192.168.0.11 dst 192.168.0.31 proto esp reqid 2 mode tunnel src 10.1.1.0/24 dst 172.30.101.0/24 dir out priority 2883 tmpl src 192.168.0.31 dst 192.168.0.11 proto esp reqid 2 mode tunnel src 10.0.0.0/8 dst 10.1.1.0/24 dir fwd priority 2947 tmpl src 192.168.0.11 dst 192.168.0.31 proto esp reqid 1 mode tunnel src 10.0.0.0/8 dst 10.1.1.0/24 dir in priority 2947 tmpl src 192.168.0.11 dst 192.168.0.31 proto esp reqid 1 mode tunnel src 10.1.1.0/24 dst 10.0.0.0/8 dir out priority 2947 tmpl src 192.168.0.31 dst 192.168.0.11 proto esp reqid 1 mode tunnel
- Comment faire en sorte que ces directives ne soient pas supprimées dans cette situation ?
#7 Mis à jour par Fabrice Barconnière il y a presque 6 ans
Ça semble venir de là : https://wiki.strongswan.org/issues/853
En 2.6.2, Ubuntu fournit strongSwan en v5.3.5 mais le bug n'est corrigé qu'en v5.4.0 : https://wiki.strongswan.org/versions/61
Faire un test avec strongSwan >=5.4.0
ou recompiler la 5.3.5 avec ce patch https://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff;h=4d7f9a81ac575207edb6bb69f8bbea8762feab96
#8 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Release mis à EOLE 2.6.2.1
#9 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Assigné à
Fabrice Barconnièresupprimé
#10 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Tâche parente
#23987supprimé
#11 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Tracker changé de Tâche à Scénario
- Statut changé de En cours à Nouveau
- Version cible
sprint 2018 23-25 Equipe MENSRsupprimé - Début
18/06/2018supprimé
#12 Mis à jour par Fabrice Barconnière il y a presque 6 ans
Même problème sur EOLE 2.7.0 (strongSwan 5.6.2)
#13 Mis à jour par Fabrice Barconnière il y a presque 6 ans
- Points de scénarios mis à 8.0
#14 Mis à jour par Daniel Dehennin il y a presque 6 ans
- Release changé de EOLE 2.6.2.1 à EOLE 2.6.2.2
#15 Mis à jour par Valery CERETUS il y a presque 5 ans
Rebonjour,
le souci est toujours d'actualité et bloquant.
Une petite idée à valider : vu que le souci n'intervient que quand il y a un pb d'internet, ne serait-il pas plus simple de relancer le VPN si et seulement si on est sûr qu'internet fonctionne et que l'ip publique du Sphynx est joignable.
Pourquoi ces deux conditions ?
- internet fonctionne : cela ne sert à rien de relancer à l'infini un VPN s'il y a un souci pour sortir sur internet !!!
- Sphynx joignable : on vérifie à minima que le Sphynx est disponible. Cela nous est arrivé cette année d'avoir un souci sur la liaison internet du rectorat, et avec le bug en cours sur les amon, tous nos eple ont eu des problèmes pour accéder à leur propre lan !
#16 Mis à jour par Gilles Grandgérard il y a plus de 4 ans
- Echéance mis à 20/09/2019
- Version cible mis à sprint 2019 36-38 Equipe MENSR
- Début mis à 20/08/2019
#17 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Release changé de EOLE 2.6.2.2 à EOLE 2.7.1.1
#18 Mis à jour par Fabrice Barconnière il y a plus de 4 ans
- Assigné à mis à Fabrice Barconnière
#19 Mis à jour par Joël Cuissinat il y a plus de 4 ans
Cf. fil de discussion sur la liste amon-sphynx
#20 Mis à jour par Joël Cuissinat il y a plus de 4 ans
- Statut changé de Nouveau à Terminé (Sprint)