Projet

Général

Profil

Tâche #16710

Mis à jour par Fabrice Barconnière il y a plus de 7 ans

Bonjour,

Suite à la dernière mise à jour sur un sphynx 2.5.2, j'ai eu des problèmes VPN (les tunnels ne montent plus) dus à l'introduction d'une erreur dans les fichiers créés par ARV.
Mon serveur Sphynx est en mode fichier plat et dans le modèle, je n'envoie pas les certificats.
Sur le serveur Sphynx, un extrait de /etc/ipsec.conf :
<pre>
#DEB:sphynx-2016-amon0469C-252_1-management-reseau192
conn "sphynx-2016-amon0469C-252_1-management-reseau192"
leftid = "C=FR, L=Schoelcher, O=Education Nationale, OU=Academie de la Martinique, OU=0002 110043015, CN=sphynx.ac-martinique.fr"
leftcert = "sphynx.ac-martinique.fr.pem"
leftsendcert = never
left = 192.168.225.235
leftsubnet = "192.168.0.0/16"
leftupdown =
rightid = "C=FR, L=Schoelcher, O=Education Nationale, OU=Academie de la Martinique, OU=0002 110043015, CN=9720469C-01.ac-martinique.fr"
rightcert = "/var/lib/arv/nodeconf/ipsec.d/certs/9720469C-01.ac-martinique.fr.pem"
right = 195.83.255.65
rightsubnet = "172.18.0.128/26"
auto=start
#FIN:sphynx-2016-amon0469C-252_1-management-reseau192
</pre>

Sur le serveur Amon 2.5.2
<pre>
#DEB:amon0469C-252-sphynx-2016_1-management-reseau192
conn "amon0469C-252-sphynx-2016_1-management-reseau192"
leftid = "C=FR, L=Schoelcher, O=Education Nationale, OU=Academie de la Martinique, OU=0002 110043015, CN=9720469C-01.ac-martinique.fr"
leftcert = "9720469C-01.ac-martinique.fr.pem"
leftsendcert = never
left = None
leftsubnet = "172.18.0.128/26"
leftupdown = /etc/ipsec.d/ipsec_updown
rightid = "C=FR, L=Schoelcher, O=Education Nationale, OU=Academie de la Martinique, OU=0002 110043015, CN=sphynx.ac-martinique.fr"
rightcert = "/var/lib/arv/nodeconf/ipsec.d/certs/sphynx.ac-martinique.fr.pem"
right = 195.83.254.166
rightsubnet = "192.168.0.0/16"
auto=start
#FIN:amon0469C-252-sphynx-2016_1-management-reseau192
</pre>

Le problème survient toujours du côté 'remote' de la conf. Il n'y a pas de dossier /var/lib/arv sur Amon et sur Sphynx, ce dossier est utilisé de manière temporaire pour la génération du tar.gz de la conf VPN.

Après avoir remplacé le code ci-dessous dans /usr/lib/python2.7/dist-packages/arv/lib/sw_config_apply.py :
<pre>
if connect.leftsendcert == 'never':
remote_cred_filename = re.sub('(.*)/(.*)', r'\1_\2', remote_cred.name) + ".pem"
remote_cred_filename = join(tmpconfigs_directory_certs, remote_cred_filename)
cred_handler = open(remote_cred_filename, 'w')
cred_handler.write(remote_cred.credential)
cred_handler.close()
config_md5sum.append(md5(remote_cred_filename, sw_database_mode='False'))
</pre>
par
<pre>
if connect.leftsendcert == 'never':
remote_cred_filename = re.sub('(.*)/(.*)', r'\1_\2', remote_cred.name) + ".pem"
cred_filename = join(tmpconfigs_directory_certs, remote_cred_filename)
cred_handler = open(cred_filename, 'w')
cred_handler.write(remote_cred.credential)
cred_handler.close()
config_md5sum.append(md5(cred_filename, sw_database_mode='False'))
</pre>
Et régénéré les configs VPN, tous les tunnels sont de nouveau UP.

Dans la révision *7074c174* arv/lib/sw_config_apply.py, j'ai gardé les modifications concernant le local mais rétabli ceux concernant le remote.

Peut-être ai-je raté quelque chose...

Cordialement

Retour