Assurer la stabilité de votre liaison VPN

Cette article fait suite à celui expliquant la mise en place d’un serveur VPN et de la configuration du client sous Ubuntu.

J’avais décris comment utiliser le network manager pour gérer la connexion au serveur openVPN mais malheureusement c’est loin d’être parfait:

  • Si le lien internet tombe, le client ne se reconnecte pas au serveur automatiquement.
  • Au demarrage malgré l’option connecter automatiquement cochée, le client ne se connecte pas automatiquement. C’est ballot.

Il en resulte quelques déconvenues si le VPN sert a « sortir » sur le net depuis une autre route que celle de notre FAI. On va se retrouver a surfer (voir pire…) sans passer par le VPN et donc en présentant l’IP attribuée par notre FA sans forcement s’en rendre compte. Ouille !!!

Je vais donc dans cet article vous expliquer comment éviter ce petit désagrément en utilisant un petit soft qui va surveiller le client openVPN et le réactiver dans le cas ou il aurait décidé d’abandonner son job. Le petit soft en question est deamontools de notre maitre a tous Daniel J Bernstein (aka DJB le créateur de qmail).
Continue reading

Partagez cet article

ezmlm: installation et configuration sous Ubuntu ou Debian

Dans ce billet je vais decrire la mise en place du gestionnaire de mailing-list ezmlm-idx sur une distribution Linux (Ubuntu dans mon cas mais ce tutorial peut etre utilisé sous n’importe que *nix puisque l’on va partir des sources.)

On va considérer dans ce billet que vous avez une installation fonctionnelle de qmail + vpopmail sur votre serveur.
Si ce n’est pas le cas, reportez vous aux billets:

ezmlm-idx est une version « améliorée » du gestionaire de mailing-list créé par DJB. Il va donc nous falloir récuperer les sources de ezmlm puis les sources de ezmlm-idx, mélanger les premières avec les secondes et hop.
Ca ne vous semble pas clair ? Alors passons à la pratique pour faire la lumiere.

Récupération des sources

On va télécharger les sources de ezmlm depuis le site officiel de DJB:

cd /usr/local/src
wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
tar zxvf  ezmlm-0.53.tar.gz

On va ensuite récuperer les sources de ezmlm-idx:

wget http://www.ezmlm.org/archive/7.0.2/ezmlm-idx-7.0.2.tar.gz
tar zxvf  ezmlm-idx-7.0.2.tar.gz

Compilation

On va commencer par ezmlm:

cd ezmlm-0.53
make

Et la c’est le drame !!!
Vous allez avoir ce joli message à l’issue du make :

./load auto-str substdio.a error.a str.a
/usr/bin/ld: errno: TLS definition in /lib/libc.so.6 section .tbss mismatches non-TLS reference in substdio.a(substdo.o)
/lib/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit s

Allons on ne panique pas, le code de DJB commence a dater, on va devoir bricoler un peu:

echo gcc -O2 -include /usr/include/errno.h > conf-cc
echo cc -m32 -O2 -include /usr/include/errno.h >> conf-cc
echo cc -m32 > conf-ld

Il faut aussi editer les fichiers ezmlm-return.c et ezmlm-manage.c pour y ajouter un include:

#include “log.h”

Si ça ne vous cause pas tout ça, mettez simplement cette ligne en tete des deux fichiers ;)

Et on peu recommencer et terminer la compilation de ezmlm:

make
make man
make setup

On passe a présent a ezlml-idx:

cd ../ezmlm-idx
make
make man

On va faire une petite pause a ce niveau pour tester l’ensemble, ezmlm-idx propose un petit binaire pour tester que tout fonctionne comme il se doit:

./ezmlm-test
ezmlm-make:           OK
Using subdb plugin:   std
ezmlm-reject:         OK
ezmlm-[un|is]sub[n]:  OK
ezmlm-checksub:       OK
ezmlm-send:           OK
ezmlm-tstdig:         OK
ezmlm-weed:           OK
.
.

Si tout est OK il ne vous reste plus qu’a déployer les binaires:

make setup

Et voila !

Exemple de configuration pour une newsletter

ezmlm est un gestionnaire de mailing-list mais il peut très bien être utilisé pour gérer l’envoi de newsletter.
La singularité d’une newsletter est que seuls les modérateurs peuvent poster un message, il nous faudra donc utiliser les flag m et o lors de la création de la liste.

On va donc créer une liste newsletter@ :

  • Sur le domaine lists.domaine.com (préalablement créer via vpopmail->vadddomain).
  • Ayant les options de modération faisant que seuls les modérateurs puissent poster (om)
  • Ayant le nom de la newsletter comme prefixe dans le sujet (-f)
  • Ou seul les abonnés auront accès aux archives (-g)

On va considéré que le repertoire vpopmail – ou sont stocké les comptes du domaine – est : /home/vpopmail/domains/lists.domain.com, la commande pour créer cette liste va donc etre:

./ezmlm-make -o -m -f -g /home/vpopmail/domains/lists.domain.com /home/vpopmail/domains/lists.domain.com/.qmail-newsletter newsletter lists.domain.com

On va ensuite définir le modérateur/redacteur,  en considérant que son adresse mail est : moderateur @ domain.com

./ezmlm-sub /home/vpopmail/domains/domain.com/newsletter mod moderateur @ domain.com

On va ajouter les abonnés moderateur @ domain.com et toorop @ toorop.fr à cette liste:

./ezmlm-sub /home/vpopmail/domains/lists.domain.com/newsletter/ moderateur @ domain.com 
./ezmlm-sub /home/vpopmail/domains/lists.domain.com/newsletter/ toorop @ toorop.fr

Voila, la liste est prete a etre utilisée, si vous avez besoinde plus de détails quand a la configuration d’une mailing-list et des outils qui permettent de la gérer je vous renvois sur les manpages correspondantes. Si vous préférez la consultation en ligne c’est par ICI.

Partagez cet article

Vpopmail on Ubuntu

Cet article fait suite au précédent concernant l’installation de qmail, je vais donc considérer que vous avez une installation de qmail fonctionnelle avant de commencer l’installation de vpopmail.

vpopmail permet de gérer simplement les domaines virtuels sur un serveur mail. Meme si vous ne comptez pas utiliser de doamines virtuels sur votre serveur mail, il peut être intéressant d’installer vpopmail pour profiter des facilités d’administration qu’il procure.

Comme pour l’installation de qmail on va partir des sources, configurer, compiler et installer.

On va avoir besoin des libs libdev

apt-get install libev3 libev-dev

Obtention du code source

vpomail est développé par Inter7, je vous conseille d’aller faire un petit tour sur le site pour lire un peu de doc ;)

On télécharge les sources:

cd /usr/local/src;
wget http://downloads.sourceforge.net/project/vpopmail/vpopmail-devel/5.5.0/vpopmail-5.5.0.tar.bz2?use_mirror=ovh;

On décompresse:

bzip2 -d vpopmail-5.5.0.tar.bz2;
tar xpf vpopmail-5.5.0.tar;
cd vpopmail-5.5.0;

Configuration et compilation

Avant toute chose, il faut créer les utilisateurs qui vont gérer vpomail:

groupadd vchkpw;
useradd -g vchkpw vpopmail;

Comme vous pourrez le constater en consultant la doc, vpomail supporte beaucoup d’option pour le ./configure.
Dans le cas présent, je vais utiliser les option suivantes:

  • –enable-qmail-ext: permet d’activer les extension qmail
  • –enable-clear-passwd : permet de faire des authentification de type PLAIN

C’est tout, je n’active pas le roaming-user qui permet d’utiliser popbeforesmtp comme authentification SMTP car il est préférable d’utiliser SMTPAUTH.

./configure --enable-qmail-ext --enable-clear-passwd;
make;
make install-strip;

Il nous faut a présent compiler et installer le module d’authentification, enfin plus exactement on doit définir quel backend va être utilisé pour stocker les éléments d’identification des comptes locaux.
Les options possibles sont: mysql, LDAPD, postgres, Oracle, Sybase et CDB. Dans mon cas, je vais faire simple et efficace (ce qui est en général gage de fiabilité) en utilisant CDB.
CDB est un systeme de stockage de paires clefs->valeurs developpé par notre amis DJB.

Dans l’arborescence des sources vous trouverez un répertoire backends qui contient les différents modules. En fonction de votre besoin, il vous suffit de vous rendre dans le repertoire correspondant, configurer, compiler et installer:

cd backends/cdb;
./configure;
make;
make install;

Il nous faut installer le script RC qui va gerer le deamon vusaged qui va permettre de recuperer les quota de façon « optimisé »::

cp /usr/local/src/vpopmail-5.5.0/vusaged/contrib/rc.vusaged /etc/init.d/vusaged;
update-rc.d vusaged defaults

Si tout c’est bien passé, vpopmail est installé.

Bin oui c’est tout ;)

Concernant la documentation des divers binaires proposés par vpopmail, vous avez toute la documentation nécessaire ici

A suivre: installation d’un gestionnaire de mailing-list: ezmlm

Partagez cet article