Présentation
Que vous souhaitiez pouvoir vous connecter à distance à votre réseau d'entreprise ou construire un réseau virtuel entre deux points distants, via un réseau non sécurisé (ex :Internet), vous aurez en quelque sorte besoin d'un VPN (Virtual Private Network). Un VPN vous permet de vous connecter en toute sécurité à un LAN (réseau local) distant via Internet ou des réseaux non fiables.
SoftEther est un serveur VPN Open Source, une alternative à OpenVPN. Il est considéré comme le logiciel VPN multiprotocole le plus puissant et le plus facile à utiliser au monde.
Notre article explique comment configurer SoftEther sur Ubuntu Xenial Xerus Linux.
Ce dont vous aurez besoin
- Ubuntu 16.04 Xenial Xerus Linux
- Un espace disque disponible de 30 Go est recommandé
- Un privilège root
Notez que les binaires utilisés pour cet article sont des architectures x64. Si votre machine n'est pas x64, vous devez choisir les binaires appropriés.
Congrès
# - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo
command
$ - nécessite que les commandes linux données soient exécutées en tant qu'utilisateur régulier non privilégié
> - la commande donnée doit être exécutée à partir de l'interface de ligne de commande vpncmd
Préparer le serveur
Mettre à niveau le système :
$ sudo apt update $ sudo apt upgrade
Installez (si pas encore installé) build-essential
à des fins de compilation :
$ sudo apt install build-essential
Installer SoftEther
Récupérer les sources softether
Allons chercher les sources SoftEther (la dernière version est la version 4.22 publiée le 2016-11-27) :
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Décompresser les sources
$ tar xzf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Après une décompression réussie, nous trouvons un dossier nommé vpnserver
dans notre répertoire courant.
Installer à partir des sources
$ cd vpnserver $ sudo make
Lors du processus d'installation, nous devrons taper 1
pour lire le contrat de licence, tapez 1
à nouveau pour confirmer que nous avons lu le contrat de licence et enfin tapez 1
pour accepter le contrat de licence.
Après l'installation, nous pouvons parcourir la sortie pour confirmer que l'ensemble du processus s'est déroulé correctement sans aucune erreur.
Une fois que tout est fait correctement, nous pourrons exécuter le vpn server à partir du dossier d'installation en utilisant cette commande :
$ sudo ./vpnserver start
Faisons mieux en le configurant en tant que daemon
.
Configuration en tant que démon
Suivons ces étapes pour configurer notre serveur vpn en tant que daemon
.
Déplacez le dossier d'installation vers /usr/local
$ cd .. $ sudo mv vpnserver /usr/local
Accorder les droits appropriés aux fichiers
$ cd /usr/local/vpnserver/ $ sudo chmod 600 * $ sudo chmod 700 vpnserver $ sudo chmod 700 vpncmd
Avant d'aller plus loin, vérifions que le serveur vpn peut fonctionner normalement sur notre serveur. Il est important de faire cette vérification avant de démarrer vpnserver
.
- Exécutez le
vpncmd
commande - Tapez
3
- Puis tapez
check
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Si tout est bien fait, nous devrions avoir le message "Tous les contrôles réussis" à la fin de l'opération.
Créer un service systemd
Créez le fichier /lib/systemd/system/vpnserver.service
$ sudo vi /lib/systemd/system/vpnserver.service
Et mettez-y le contenu suivant :
[Unit] Description=SoftEther VPN Server After=network.target [Service] Type=forking ExecStart=/usr/local/vpnserver/vpnserver start ExecStop=/usr/local/vpnserver/vpnserver stop [Install] WantedBy=multi-user.target
Maintenant, le serveur VPN démarre automatiquement au démarrage, et nous pouvons gérer le vpnserver en utilisant systemctl
.
Préparer le serveur VPN SoftEther pour l'utiliser
SoftEther propose de nombreux cas d'utilisation :VPN Ad-hoc, Accès distant au LAN, Pont LAN à LAN, etc. Dans cet article, nous le configurons pour une utilisation "Accès distant au LAN".
Nous allons d'abord créer un virtual hub
, puis faites une sorte de lien entre ce virtual hub
et le réseau du serveur (le réseau local de l'entreprise).
Définir un mot de passe administrateur pour vpncmd
Pour des raisons évidentes, il est recommandé de définir immédiatement un mot de passe administrateur pour vpncmd
dès que le serveur VPN est installé. Cela se fait via le vpncmd
utilitaire :
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Comme indiqué dans l'image ci-dessus, nous sélectionnons 1
pour "Gestion du serveur VPN ou du pont VPN", puis appuyez simplement sur Enter
pour les questions suivantes jusqu'à ce que nous obtenions VPN Server>
rapide. À l'invite de commande, nous tapons ServerPasswordSet
.
Créer un hub virtuel
En utilisant vpncmd
, nous allons créer un virtual hub
nommé "myFirstHUB":
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > HubCreate myFirstHUB
Connecter le hub virtuel au réseau du serveur
Afin de permettre aux clients d'accéder au réseau du serveur, nous devons lier le virtual hub
au réseau local. Cela peut être fait en utilisant une connexion Local Bridge ou en utilisant le SecureNAT
fonction.
Dans notre cas, la fonction SecureNAT
fonction sera utilisée. SecureNAT
permet d'utiliser le serveur VPN comme passerelle réseau simple, serveur DHCP ou passerelle simple pour accéder à distance à des sites distants.
Sélectionnons notre virtual hub
et activez SecureNAT
fonction.
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > Hub myFirstHUB > SecureNatEnable
Créer des utilisateurs
Commande pour créer un utilisateur :UserCreate
Après la création de l'utilisateur, nous devons définir un mot de passe. Notez qu'il est possible d'utiliser d'autres méthodes d'authentification :NTLM
, RADIUS
, etc. La méthode d'authentification par défaut est "password".
Commande pour définir le mot de passe :UserPasswordSet
Paramétrage client
SoftEther fournit des clients pour de nombreux systèmes d'exploitation, y compris Linux.
Télécharger le client
Nous utiliserons wget
commande pour télécharger le client.
$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Décompresser les sources
$ tar xzf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Installer à partir des sources
La compilation du client est similaire au serveur.
$ cd vpnclient $ sudo make
Après l'installation, nous modifions les autorisations des fichiers comme suit :
$ sudo chmod 600 * $ sudo chmod 700 vpnclient $ sudo chmod 700 vpncmd
Nous pouvons maintenant démarrer le client VPN et effectuer la configuration requise pour se connecter au serveur.
$ sudo ./vpnclient start $ sudo ./vpncmd
Sélectionnez 2
pour accéder à « Gestion du client VPN ». Et effectuez ces actions :
- Créez un adaptateur virtuel (utilisez
NiceCreate
, donnez "n'importe quel" nom que vous voulez) - Créer une connexion VPN (
AccountCreate account0
) - Spécifiez le nom d'hôte et le numéro de port du serveur de destination (serveur :port)
- Sélectionnez le
virtual hub
auquel vous souhaitez vous connecter (dans notre cas nous utilisons "myFirstHUB" créé sur le serveur) - Entrez le nom d'utilisateur
- Utiliser l'adaptateur virtuel créé précédemment
Nous pouvons maintenant lancer la connexion du client VPN. Avant cela, nous devons spécifier le mot de passe de l'utilisateur que nous avons précédemment configuré dans la connexion VPN.
> AccountPassword account0 > standard > AccountConnect account0
Le client est maintenant connecté mais aucune adresse IP n'est attribuée à l'adaptateur virtuel. Comme dernière étape, nous devons demander une adresse IP au serveur VPN. Nous pouvons utiliser ifconfig
commande pour trouver l'adaptateur virtuel vpn (préfixé par vpn_
) puis utilisez dhclient
commande pour demander une adresse IP.
$ sudo dhclient vpn_ethvpn0
Après cette commande, le client VPN obtiendra une adresse IP du serveur VPN SoftEther et pourra communiquer avec le LAN distant.
Merci de votre intérêt pour cet article. Nous apprécions vos questions et améliorations.