11
août
2023
VPN sur L2TP en 5 minutes
17:04

VPN sur L2TP en 5 minutes

11 août 2023 17:04

L'article décrit comment configurer un VPN L2TP/IPSec sous Linux Mint 21.2.

Introduction

Auparavant, je configurais le serveur et le client à l'aide du protocole PPTP. Contrairement à PPTP, le protocole L2TP ne présente aucune vulnérabilité et la connexion est également beaucoup plus rapide.

Pour utiliser le type VPN PSK L2TP/IPSec.

[marquer](Инструкция была переработана и проверена 04.12.2023 для совместимости с Ubtuntu 20.04 и 22.04 / Linux Mint 21 / LxLE).[/mark]

Suppression de Libreswan

Mettre à jour le cache :

sudo apt update

Cette commande supprimera libreswan et installera automatiquement strongswan :

sudo apt-get supprimer libreswan

Démarrage et enregistrement du service strongswan dans systemd :

sudo systemctl strongswan-starter.service start
sudo systemctl strongswan-starter.service enable

Réinstallation du plugin Strongswan pour NetworkManager

sudo apt réinstaller network-manager-l2tp network-manager-l2tp-gnome

Générer une clé pré-partagée

N'importe quelle séquence peut être utilisée comme clé publique (12345678 est souvent recommandé :)
mais il vaut mieux utiliser au moins une clé de 128 bits.

dd if=/dev/random count=16 bs=1 | xxd -ps

La clé PSK doit être transférée entre les machines en toute sécurité (pas par e-mail, mais, par exemple, via un autre VPN ou à l'aide d'une clé USB).

Mise en place d'un serveur L2TP

Nous mettons en place un routeur sur lequel nous lançons un VPN L2TP - entrez la clé partagée, le nom d'utilisateur et le mot de passe.

Paramètres généraux - Modifier le jeu de composants
Changer l'ensemble des composants du routeur Zyxel

Ajout d'un VPN L2TP/IPSec sur un routeur Zyxel

Ajout d'un serveur L2TP/IPsec

Nous configurons le serveur VPN. Pour cela, allez dans le menu "Candidatures" sur le côté gauche de la fenêtre et cliquez sur le nom VPN L2TP/IPSec. L'écran de configuration du serveur VPN s'ouvrira :
Paramètres de base du serveur L2TP/IPSec
Accorder des droits à l'utilisateur (nom d'utilisateur et mot de passe ajoutés précédemment).
Nous offrons à l'utilisateur la possibilité de se connecter

Démarrage d'un service sur un client Ubuntu/Linux Mint

sudo systemctl enable ipsec.service
sudo systemctl start ipsec.service

Créer une connexion au serveur L2TP (paramétrage de L2TP sur le client)

Les paramètres suivants concernent L2TP/IPSec PSK.

Dans la barre d'état système Ubuntu / Linux Mint, faites un clic gauche sur l'icône du réseau

  • Connexions VPN - Configurer un VPN
    l2tp-01

Sélectionnez le type de VPN dans la liste déroulante au lieu d'Ethernet
l2tp-02

Tapez "Protocole de tunneling Layer2 (L2TP)"
l2tp-03

Bouton "Créer".
l2tp-04

Les paramètres du protocole doivent correspondre au serveur, qui est le routeur domestique :

  • Passerelle (Passerelle - adresse IP blanche du routeur domestique)
  • Tapez - Mot de passe
    *Nom d'utilisateur
  • Mot de passe
    l2tp-05

    *Activer le tunnel IPSec vers l'hôte L2TP*
    Clé pré-partagée**
    l2tp-06

Dans la barre d'état système, cliquez sur l'icône réseau - Connexions VPN et sélectionnez une connexion L2TP.

Dans mon cas, la connexion au VPN a fonctionné immédiatement.
connecté

Sinon, vérifiez les paramètres (adresse IP du serveur, clé pré-partagée, nom d'utilisateur, mot de passe, capacité de connexion).
Sur le client, puisqu'il est initiateur, il n'est pas nécessaire d'ouvrir des ports sur le pare-feu. Sur le serveur, les ports 1701/UDP, 500/UDP et 4500/UDP doivent être ouverts en entrée (lorsque vous activez l'application VPN L2TP/IPSec, les règles de pare-feu sont automatiquement ajoutées à Zyxel Keenetik).

Le protocole L2TP fonctionne au deuxième niveau des paquets OSI et n'est bloqué au sein de la Fédération de Russie ni par les opérateurs mobiles ni par les fournisseurs d'accès Internet fixe lorsqu'il est transmis entre des systèmes autonomes russes. Par exemple, entre Megafon et Rostelecom.

Configuration d'une route de connexion VPN sur le client

Si vous ne configurez pas la route dans les propriétés de connexion, alors seul le routeur (passerelle) sera disponible.

Pour avoir accès à tous les ordinateurs du réseau domestique local, vous devez configurer la route via la passerelle sur le client dans les propriétés de connexion.

1) Tout d'abord, ouvrez les propriétés de connexion (sur le panneau Network Manager dans la barre d'état système, appuyez sur le bouton gauche de la souris -"Connexions VPN"-"Paramètres de connexion". Une fenêtre s'ouvrira avec une liste de connexions :
Itinéraires sur le client

Sélectionnez la connexion VPN souhaitée et cliquez sur l'engrenage "propriétés".

Nous effectuons configuration de l'itinéraire- sur le marque-page IPv4 appuyez sur "Itinéraires", puis "Ajouter"  :
Ajouter un itinéraire
Remplissez les paramètres :

  • adresse - 192.168.100.0

  • masque réseau - 255.255.255.0

  • passerelle - 192.168.100.1

  • métrique - 1

(Où au lieu de l'adresse IP 192.168.100.0 nous indiquons l'adresse de notre réseau domestique local, par exemple 192.168.77.0,

au lieu de la passerelle 192.168.100.1, indiquez l'adresse IP de la passerelle du réseau domestique, par exemple 192.168.77.1).

Grâce à un VPN, vous pouvez accéder aux ordinateurs de votre réseau domestique (FTP, etc.). L'accès Internet des clients depuis leur réseau domestique fonctionne également.

Les mêmes réglages peuvent être effectués sur un smartphone sous Android OS.
Configurer un VPN sur Android
Configurer un VPN sur Android - suite

Ajout du 27 novembre 2023 avec correction du 31 mars 2026 :

Si une partie du trafic du PC passe par le tunnel VPN

Problème : la connexion VPN au serveur a été établie avec succès, mais une partie du trafic client ne passe pas par le VPN.

Solution :Sur le client (PC de travail ou portable), configurez la route par défaut.*

1) supprimé l'ancienne route avec la passerelle par défaut

sudo ip route del default via 192.168.1.1

où 192.168.1.1 est l'adresse IP du routeur du PC de travail.

2) _ajout d'une nouvelle route - la passerelle par défaut via le périphérique ppp0 connecté au VPN domestique.

sudo ip route add default via 192.168.100.1 dev ppp0

où :
192.168.100.1 - Adresse IP de la passerelle (routeur) du réseau local domestique où est installé le serveur VPN,
ppp0 - Nom du périphérique VPN L2TP.

J'ai enregistré le script dans mon dossier personnel sous le nom gw.sh et défini les autorisations :
chmod +x gw.sh

Exemple de script :
#!/bin/sh
sudo ip route par défaut via 192.168.1.1
sudo ip route ajouter la valeur par défaut via 192.168.100.1 dev ppp0

Exécutez le script avec la commande :

./gw.sh

Si vous regardez dans Wireshark, après avoir exécuté le script, les paquets du PC de travail vont uniquement à l'adresse IP externe du PC domestique. Plus aucun paquet ne contourne le tunnel, c'est-à-dire que tout le trafic est enveloppé dans un tunnel VPN vers le PC domestique.

Après vous être déconnecté de votre réseau VPN home, vous pouvez restaurer le réseau à l'aide d'un script qui remplace la passerelle par défaut par celle d'origine.

#!/bin/sh
sudo ip route ajouter la valeur par défaut via 192.168.1.1

où 192.168.1.1 est l'adresse IP du routeur réseau en fonctionnement.

Ajout du droit d'exécution (eXecute) :

sudo chmod +x gw-off.sh

Trafic client avec VPN domestique connecté avant l'exécution du script:
avant
Trafic client avec VPN domestique connecté après l'exécution du script:
après
Les connexions vers des adresses IP étrangères ont disparu. Tout le trafic passe par le tunnel.
Avec cette méthode, les torrents peuvent ne pas fonctionner, mais la navigation WWW fonctionne correctement.

Le script gw-off.sh pour restaurer les paramètres doit être exécuté après la déconnexion du VPN.

./gw-off.sh

Ou, après vous être déconnecté de votre VPN domestique, vous pouvez redémarrer le réseau avec la commande.

redémarrage du réseau du service sudo


Publications connexes