Un petit conseil openvpn pour la route

Bonjour,

Presque un an que je n’ai pas écrit ici. Je ne m’en satisfais pas car cette année encore, la communauté open-source m’a enrichi d’idées, de nouveautés, de méthodes et de nouveaux softs toujours plus performants. Alors, stephbul parle à stephbul:

“Et toi, stephbul, qu’as-tu fait pour la communauté?” Pas grand chose répond stephbul, pas grand chose.

Ce petit conseil est une goutte d’eau dans la marée heureuse de l’open-source, mais il est bien utile.

Vous avez des services qui ont besoin d’écouter sur votre interface tun0 créée par openvpn, mais ce service est lancé avant openvpn. Que va-t-il se passer? Ou le service écoutera sur les autres interfaces ou le service ne démarrera pas. Et si le service openvpn est soudainement arrêté, que se passera-t-il?  Que faire?

Plusieurs méthodes vont sourdre des esprits. Une seule méritera qu’on la retienne!

A jeter dans /dev/null:

-Le cron qui reloadera le service… Je suis sûr que certains y ont pensé! Voire, certains plus malins que les autres ne reloaderont le service que si tun0 est up, ce qu’ils auront testés par un [ ! -z “`ifconfig | grep tun0`” ]… brrrr, j’en ai des frissons.

-Changer l’ordre des initscripts avec update-rc.d… Très mauvais, car ce n’est pas l’ordre de démarrage qui compte. Il faut juste que les services soient lancés alors que tun0 est up. Si les initscripts sont rapprochés, votre service aura été appelé après openvpn, mais tun0 ne sera pas encore up pour autant.

Non, la seule solution à garder est celle offerte par openvpn lui même:

-L’option –up cmd . Celle-ci permet d’exécuter une commande, un script au moment où l’interface devient up . Je recommande donc de mettre dans le fichier /etc/default/openvpn:


OPTARGS="--script-security 2 --up monscript.sh"

Le script-security 2 permet d’exécuter un code tiers, nécessaire pour exécuter monscript.sh, en charge de recharger les services.

Je vous laisse deviner ce que peut signifier l’option –down .

Posted in admin, openvpn, shell. Bookmark the permalink. RSS feed for this post. Leave a trackback.

2 Responses to Un petit conseil openvpn pour la route

  1. Nico says:

    Sinon tu peut toujours créé ton tun0 au démarrage et le mettre en persistent (disponible d’office dans gentoo, facilement faisable avec debian).
    Cela évite de s’embêter.

  2. stephbul says:

    Merci Nico pour ton commentaire. Tu veux parler de l’option –persist-tun?
    Si oui, ce n’est pas suffisant dans mon cas, l’interface tun0 est créée par openvpn qui est démarré après bind. Une fois démarré, bind ne va pas se recharger pour binder sur les nouvelles.interfaces.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Protected by WP Anti Spam

Swedish Greys - a WordPress theme from Nordic Themepark.