Se connecter à TigerVPN avec Linux
J’ai profité d’une offre promotionnelle proposée par TigerVPN pour leur service de VPN à vie pour 30€. C’est toujours pratique de pouvoir changer d’IP en cas de route réseau défectueuse ou lorsque l’IP du FAI est banni par le service qu’on essaye d’atteindre (les restriction géographique par exemple tombent dans ce cas).
Bref, Tiger et la plupart de ses concurrents proposent des VPN clé-en-main pour plateforme Windows et mobile. On a donc souvent du IPSec/L2TP, OpenVPN, ou parfois l’utilisation d’un client maison (mais c’est vraiment pas génial sur mobile, du fait de la mauvaise intégration d’un point de vue de la continuité du service et de la consommation batterie). Sur ces plateformes, ça marche mais on ne trouve aucune informations techniques permettant de s’y connecter proprement depuis un client Linux.
Voici ma configuration, après pas mal d’essais, pour se connecter à TigerVPN en utilisant Strongswan sous Gentoo.
Tout d’abord, on aura besoin des paquets suivants :
emerge va xl2tpd strongswan
La configuration de la partie IPSec. Elle établit un tunnel entre le Linux et TigerVPN, uniquement pour les paquets udp sur le port 1701. C’est le port qu’utilise par défaut le protocole L2TP.
ipsec.conf :
conn tigervpn
add=route
type=transport
right=xxx.tigervpn.com
esp=aes256-sha1!
ike=aes256-sha1-modp1024!
rekey=no
keyingtries=1
leftprotoport=udp/1701
rightprotoport=udp/1701
leftid=192.168.12.14
leftsubnet=192.168.12.14/32
rightid=%any
leftcert=
leftca=
rightca=
leftauth=psk
rightauth=psk
keyexchange=ikev1
mobike=yes
ipsec.secrets :
192.168.12.14 %any : PSK "secret-partagé-tigervpn"
Maintenant, on passe à la configuration de la couche L2TP dans le fichier /etc/xl2tpd/xl2tpd.conf :
[lac tigervpn]
lns = xxx.tigervpn.com
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
require authentication = yes
Puis la configuration de la couche PPP dans le fichier /etc/ppp/options.xl2tpd :
ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
#crtscts
mtu 1410
mru 1410
nodefaultroute
lock
proxyarp
silent
name your-username
password your-very-secret-password
On vérifiera que les fichiers contenant des mots de passe ne sont accessibles que par root !
Maintenant, on peut démarrer les différents services :
/etc/init.d/ipsec start
/etc/init.d/xl2tpd start
sleep 3
echo "c tigervpn" > /var/run/xl2tpd/l2tp-control
Le sleep s’assure que les deux daemons soient bien initialisées.
La commande echo demande à xl2tpd de se connecter au lac nommé tigervpn. Ce lac a pour LNS xxx.tigervpn.com, lequel doit passer en IPSec.
Si tout a bien fonctionné, une nouvelle interface pppX est visible. Il n’y aura plus qu’à ajouter les différentes routes vers les destinations que l’on souhaite faire passer dans le VPN.
Enjoy !