SoftEther est une alternative à OpenVPN, c’est un VPN puissant et multi-protocole. C’est une solution assez simple et puissante pour avoir un accès à ton réseau via ton smartphone, mac, linux ou windows.
SoftEther peut-être installé sur tous les systèmes d’exploitations : Linux, Windows, Mac… Il utilise les protocoles comme OpenVPN, L2TP à travers IPSec et SSTP.
Sommaire
La listes des features de SoftEther :
- Supporte les protocoles VPN :
- SSL-VPN (HTTPS)
- OpenVPN
- IPsec/L2TP
- MS-SSTP
- L2TPv3
- EtherIP
- Gratuit et Open-Source (Lien Github).
- Facile d’utilisation pour établir les accès à distance et site-to-site VPN
- SSL-VPN tunnel à travers une connexion HTTPS pour passer à travers le pare-feu.
- Révolutionnaire VPN à travers ICMP et VPN à travers DNS.
- Et encore pleins d’autres : http://www.softether.org/.
Installation du VPN sur debian 7 :
Mise à jour des paquets debian :
apt-get update && apt-get upgrade
Téléchargement de SoftEther
Ensuite, il faut télécharger les binaires sur le site de softether :
http://www.softether-download.com/en.aspx?product=softether
Il n’existe pas de paquet debian à l’heure actuel, il faudra compiler les sources, mais avec ce tutorial ça va être simple.
Tu peux faire un WGET du fichier à télécharger :
Exemple (Les sources datent de : 2016-04-17):
wget http://www.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz
ou alors en passant via lynx, direct en ligne de commande :
apt-get install lynx -y
lynx http://www.softether-download.com/files/softether/
Tu peux ensuite naviguer dans le site et télécharger le paquet que tu veux.
Compilation des sources
Tu peux décompresser les sources via :
tar xvzf le-fichier-tgz-telechargé
Pour la compilation, tu as besoin des outils tels que :
apt-get install build-essential -y
Ensuite, on passe à la compilation à proprement dit :
cd vpnserver
make
Là SoftEther, va te demander si tu acceptes les conditions d’utilisations, appuie sur la touche 1 pour dire oui.
Ta-dam, SoftEther est maintenant compilé, reste à déplacer le dossier vpnserv/ et de configurer le serveur 🙂
cd .. mv vpnserver /usr/local cd /usr/local/vpnserver/
chmod 600 * chmod 700 vpnserver chmod 700 vpncmd
Il peut être utile d’avoir VPNSERVER comme un service et pouvoir le démarrer via : « service » ou « /etc/init.d« .
vim /etc/init.d/vpnserver
Et tu copies le code suivante :
#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Création du dossier :
/var/lock/subsys
Modification des droits sur le fichier vpnserver et démarrage du serveur VPN :
chmod 755 /etc/init.d/vpnserver && /etc/init.d/vpnserver start
Ajout du service au démarrage de la machine :
update-rc.d vpnserver defaults
Check du bon fonctionnement du serveur :
Tu peux lancer la commande vpncmd qui se trouve dans /usr/local/vpnserver
cd /usr/local/vpnserver
./vpncmd
Utilise la touche 3 pour choisir USE of VPN TOOLS et utilise la commande :
check
Logiquement tout devrait être « success« .
Avant d’aller plus loin, il faut absolument assigner un mot de passe à l’administrateur du serveur.
./vpncmd
Ensuite, via la touche 1 « Management of VPN Server or VPN Bridge » :
La commande :
ServerPasswordSet
Elle permet comme son nom l’indique de set un mot de passe. Une la confirmation du mot de passe faite, [ENTRER] et zou. Nous voila avec un accès admin protégé et configuré.
Configuration des HUB
Il existe deux façons de configurer les HUBs du serveur VPN Softether, soit en utilisant la commande vpncmd ou via SoftEtherManager Server.
SoftEther à sorti en aout 2016, une version du manager pour Mac OSX et il existe depuis le début la version Windows :
Retrouve tous les fichiers à télécharger selon la plateforme ici :
http://www.softether-download.com/en.aspx?product=softether
Une fois le manager installé, il faut créer et configurer la connexion.

Il suffit de remplir les 3 champs entourés :
- Name of Connection : Qu’importe c’est le nom qui sera indiqué dans le tableau à la fenêtre précédente.
- Host Name : L’adresse IP ou DNS du serveur. Le port devrait être 443.
- Et le password choisi à l’étape précédente.

Là, on est connecté au serveur. A partir de là, tu peux activer les différents protocoles IpSec/L2TP, OpenVPN configurations, DDNS…
SoftEther propose un service gratuit de Dynamic Domain Name Server, tu peux renseigner le nom que tu souhaites (sous réserve de disponibilité) et ensuite accéder au serveur à l’aide de ce DNS.
Très pratique au cas ou tu n’as pas déjà de nom de domaine pour ce serveur, au lieu de retenir l’adresse IP du serveur.
Création d’un HUB :
La puissance de softether c’est bien les HUB, tu peux avoir différents HUB avec des utilisateurs, des règles spécifiques et autres joyeusetés.
Pour la création d’un HUB, rien de plus simple : Create a Virtual HUB

- Nom du HUB
- Mot de passe (admin mode)
- Et OK
Création d’un utilisateur :

Il suffit de remplir les informations suivantes :
- User name
- Password
- Et laisser le mode d’authentification par défaut.
Ensuite, l’utilisateur est crée :

Activation du L2TP / IPSEC :
Sotfether permet de se connecter en utilisant les protocoles L2TP compatible PCs, MacOSX et les smartphones (android/iphone).
Il faut activer absolument cette option, tu cliques sur le bouton « IPSec / L2TP settings » :

La clef partagé est à communiquer à tous tes utilisateurs 🙂
Et le fameux, VPN par défaut : en cas ou tu renseigne pas le @LE_NOM_DU_HUB lors de la connexion au serveur (on y arrive…) 😉
Activation du SecureNAT :
Pour le routage NAT, il faut simplement activer le SecureNAT. Dans le HUB, il suffit de cliquer sur « Virtual NAT and virtual DHCP Server » et « Enable SecureNAT »

Ouverture des ports sur le serveur :
Il est important d’ouvrir les ports du serveur pour éviter un « connexion timeout ou VPN ne répond pas« .
Grâce à notre Iptables préféré.
iptables -A INPUT -p udp --sport 500 --dport 500 -j ACCEPT iptables -A OUTPUT -p udp --sport 500 --dport 500 -j ACCEPT iptables -A OUTPUT -p udp --sport 4500 --dport 4500 -j ACCEPT iptables -A INPUT -p udp --sport 4500 --dport 4500 -j ACCEPT
Le port 500 :
Pour le protocole ISAKMP
Le port 4500 :
Pour le protocole IPSec
Connexion au serveur :
Pour la connexion au serveur, il suffit d’utiliser le VPN Client Software (windows), ou pour MacOSX

Il faut remplir les informations suivante :
- Adresse du serveur : Le DDNS de softether ou l’adresse ip de ton server (ou le nom de domaine encore mieux)
- Nom de connexion : Le login /!\ avec le @vince : c’est le nom du HUB, si tu n’ajoute pas de @machin, c’est le HUB par défaut qui est sélectionné (voir screenshot : activation du L2TP/IPSEC)
Dans Réglages d’authentification, il faut renseigner le mot de passe et la phrase partagée (Pre-Shared KEY).
Et dans avancé, tu peux mettre : « Envoyer tout le traffic sur la connexion VPN »
Ca marche aussi sur iPhone 🙂
Sur les iDevices (iPhone/iPad..), il suffit d’aller dans Paramètres > Général > VPN.


Article fortement inspiré de : https://www.digitalocean.com/community/tutorials/how-to-setup-a-multi-protocol-vpn-server-using-softether
Une réponse sur « VPN : Installation de SoftEther avec L2TP »
Merci beaucoup pour ce tuto cela m’as permis de enfin mettre SoftEther en place dans mon infrastructure