Comment configurer un serveur VPN IKEv2 avec StrongSwan sur Ubuntu 18.04

introduction

Un réseau privé virtuel, ou VPN, vous permet de chiffrer en toute sécurité le trafic lors de son acheminement sur des réseaux non fiables, tels que ceux du café, d'une conférence ou d'un aéroport.

IKEv2, ou Internet Key Exchange v2, est un protocole qui permet un tunnel IPSec direct entre le serveur et le client. Dans les implémentations VPN IKEv2, IPSec fournit un cryptage pour le trafic réseau. IKEv2 est pris en charge en mode natif sur certaines plates-formes (OS X 10.11+, iOS 9.1+ et Windows 10), aucune application supplémentaire n'est nécessaire, et il gère très bien le hoquet client.

Dans ce didacticiel, vous allez configurer un serveur VPN IKEv2 à l'aide deStrongSwan sur un serveur Ubuntu 18.04 et vous y connecter à partir de clients Windows, macOS, Ubuntu, iOS et Android.

Conditions préalables

Pour compléter ce tutoriel, vous aurez besoin de:

[[step-1 -—- Installing-strongswan]] == Étape 1 - Installation de StrongSwan

Nous allons d’abord installer StrongSwan, un démon IPSec à source ouverte que nous allons configurer comme serveur VPN. Nous allons également installer le composant d'infrastructure à clé publique afin de pouvoir créer une autorité de certification pour fournir les informations d'identification de notre infrastructure.

Mettez à jour le cache de paquet local et installez le logiciel en tapant:

sudo apt update
sudo apt install strongswan strongswan-pki

Maintenant que tout est installé, passons à la création de nos certificats.

[[step-2 -—- Creating-a-Certificate-Authority]] == Étape 2 - Création d'une autorité de certification

Un serveur IKEv2 nécessite un certificat pour s'identifier auprès des clients. Pour nous aider à créer le certificat requis, le packagestrongswan-pki est fourni avec un utilitaire permettant de générer une autorité de certification et des certificats de serveur. Commençons par créer quelques répertoires pour stocker tous les actifs sur lesquels nous allons travailler. La structure des répertoires correspond à certains des répertoires de/etc/ipsec.d, où nous déplacerons éventuellement tous les éléments que nous créons. Nous verrouillerons les autorisations afin que nos fichiers privés ne puissent pas être vus par les autres utilisateurs:

mkdir -p ~/pki/{cacerts,certs,private}
chmod 700 ~/pki

Maintenant que nous avons une structure de répertoires pour tout stocker, nous pouvons générer une clé racine. Ce sera une clé RSA de 4096 bits qui sera utilisée pour signer notre autorité de certification racine.

Exécutez ces commandes pour générer la clé:

ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/ca-key.pem

Maintenant que nous avons une clé, nous pouvons passer à la création de notre autorité de certification racine, en utilisant la clé pour signer le certificat racine:

ipsec pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem \
    --type rsa --dn "CN=VPN root CA" --outform pem > ~/pki/cacerts/ca-cert.pem

Vous pouvez changer les valeursdistinguished name (DN) en quelque chose d'autre si vous le souhaitez. Le nom commun ici n’est que l’indicateur, il ne doit donc pas correspondre à rien dans votre infrastructure.

Maintenant que notre autorité de certification racine est opérationnelle, nous pouvons créer un certificat que le serveur VPN utilisera.

[[step-3 -—- generation-a-certificate-for-the-VPN-server]] == Étape 3 - Génération d'un certificat pour le serveur VPN

Nous allons maintenant créer un certificat et une clé pour le serveur VPN. Ce certificat permettra au client de vérifier l’authenticité du serveur à l’aide du certificat de CA que nous venons de générer.

Tout d'abord, créez une clé privée pour le serveur VPN à l'aide de la commande suivante:

ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/server-key.pem

Maintenant, créez et signez le certificat de serveur VPN avec la clé de l’autorité de certification créée à l’étape précédente. Exécutez la commande suivante, mais remplacez les champs Nom commun (CN) et Nom alternatif du sujet (SAN) par le nom DNS ou l’adresse IP de votre serveur VPN:

ipsec pki --pub --in ~/pki/private/server-key.pem --type rsa \
    | ipsec pki --issue --lifetime 1825 \
        --cacert ~/pki/cacerts/ca-cert.pem \
        --cakey ~/pki/private/ca-key.pem \
        --dn "CN=server_domain_or_IP" --san "server_domain_or_IP" \
        --flag serverAuth --flag ikeIntermediate --outform pem \
    >  ~/pki/certs/server-cert.pem

Maintenant que nous avons généré tous les fichiers TLS / SSL dont StrongSwan a besoin, nous pouvons déplacer les fichiers en place dans le répertoire/etc/ipsec.d en tapant:

sudo cp -r ~/pki/* /etc/ipsec.d/

À cette étape, nous avons créé une paire de certificats qui serait utilisée pour sécuriser les communications entre le client et le serveur. Nous avons également signé les certificats avec la clé de l’autorité de certification afin que le client puisse vérifier l’authenticité du serveur VPN à l’aide du certificat de l’autorité de certification. Maintenant que tous les certificats sont prêts, nous allons passer à la configuration du logiciel.

[[step-4 -—- configuring-strongswan]] == Étape 4 - Configuration de StrongSwan

StrongSwan a un fichier de configuration par défaut avec quelques exemples, mais nous devrons faire la majeure partie de la configuration nous-mêmes. Sauvegardons le fichier pour référence avant de repartir de zéro:

sudo mv /etc/ipsec.conf{,.original}

Créez et ouvrez un nouveau fichier de configuration vierge en tapant:

sudo nano /etc/ipsec.conf

Nous allons d’abord demander à StrongSwan de consigner les statuts de démon pour le débogage et d’autoriser les connexions en double. Ajoutez ces lignes au fichier:

/etc/ipsec.conf

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

Ensuite, nous allons créer une section de configuration pour votre VPN. Nous demanderons également à StrongSwan de créer des tunnels VPN IKEv2 et de charger automatiquement cette section de configuration à son démarrage. Ajoutez les lignes suivantes au fichier:

/etc/ipsec.conf

. . .
conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes

Nous allons également configurer la détection des homologues morts pour effacer toutes les connexions "en suspens" en cas de déconnexion inattendue du client. Ajoutez ces lignes:

/etc/ipsec.conf

. . .
conn ikev2-vpn
    . . .
    dpdaction=clear
    dpddelay=300s
    rekey=no

Ensuite, nous allons configurer les paramètres IPSec du côté serveur (gauche). Ajoutez ceci au fichier:

/etc/ipsec.conf

. . .
conn ikev2-vpn
    . . .
    left=%any
    leftid=@server_domain_or_IP
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0

[.Remarque]##

Note: lors de la configuration de l'ID du serveur (leftid), n'incluez le caractère@ que si votre serveur VPN sera identifié par un nom de domaine:

Si le serveur sera identifié par son adresse IP, il suffit de mettre l'adresse IP dans:

    leftid=203.0.113.7

Ensuite, nous pouvons configurer les paramètres IPSec côté client (droit), tels que les plages d'adresses IP privées et les serveurs DNS à utiliser:

/etc/ipsec.conf

. . .
conn ikev2-vpn
    . . .
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never

Enfin, nous demanderons à StrongSwan de demander au client les informations d’identité de l’utilisateur lorsqu’il se connecte:

/etc/ipsec.conf

. . .
conn ikev2-vpn
    . . .
    eap_identity=%identity

Le fichier de configuration devrait ressembler à ceci:

/etc/ipsec.conf

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=@server_domain_or_IP
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never
    eap_identity=%identity

Enregistrez et fermez le fichier une fois que vous avez vérifié que vous avez configuré les choses comme indiqué.

Maintenant que nous avons configuré les paramètres VPN, passons à la création d’un compte afin que nos utilisateurs puissent se connecter au serveur.

[[step-5 -—- configuring-vpn-authentication]] == Étape 5 - Configuration de l'authentification VPN

Notre serveur VPN est maintenant configuré pour accepter les connexions client, mais nous n’avons encore aucune information d’identification configurée. Nous devrons configurer quelques éléments dans un fichier de configuration spécial appeléipsec.secrets:

  • Nous devons indiquer à StrongSwan où trouver la clé privée de notre certificat de serveur afin que le serveur puisse s'authentifier auprès des clients.

  • Nous devons également configurer une liste d'utilisateurs qui seront autorisés à se connecter au VPN.

Ouvrons le fichier de secrets pour édition:

sudo nano /etc/ipsec.secrets

Premièrement, nous indiquerons à StrongSwan où trouver votre clé privée:

/etc/ipsec.secrets

: RSA "server-key.pem"

Ensuite, nous définirons les informations d'identification de l'utilisateur. Vous pouvez créer n'importe quelle combinaison de nom d'utilisateur ou de mot de passe que vous aimez:

/etc/ipsec.secrets

your_username : EAP "your_password"

Enregistrez et fermez le fichier. Maintenant que nous avons fini de travailler avec les paramètres VPN, nous allons redémarrer le service VPN afin que notre configuration soit appliquée:

sudo systemctl restart strongswan

Maintenant que le serveur VPN est entièrement configuré avec les options de serveur et les informations d’identité de l’utilisateur, il est temps de passer à la configuration de la partie la plus importante: le pare-feu.

[[step-6 -—- configuration-the-firewall-amp-kernel-ip-forwarding]] == Étape 6 - Configuration du pare-feu et de la redirection IP du noyau

Une fois la configuration StrongSwan terminée, nous devons configurer le pare-feu pour transférer et autoriser le trafic VPN.

Si vous avez suivi le didacticiel préalable, vous devez avoir un pare-feu UFW très basique activé. Si vous n'avez pas encore configuré UFW, vous pouvez créer une configuration de base et l'activer en tapant:

sudo ufw allow OpenSSH
sudo ufw enable

Ajoutez maintenant une règle pour autoriser le trafic UDP sur les ports standard IPSec 500 et 4500:

sudo ufw allow 500,4500/udp

Nous allons ensuite ouvrir l’un des fichiers de configuration d’UFW pour ajouter quelques stratégies de bas niveau de routage et de transmission des paquets IPSec. Avant de le faire, nous devons trouver quelle interface réseau de notre serveur est utilisée pour l’accès à Internet. Nous pouvons trouver cela en interrogeant l'interface associée à la route par défaut:

ip route | grep default

Votre interface publique devrait suivre le mot «dev». Par exemple, ce résultat montre l'interface nomméeeth0, qui est mise en évidence ci-dessous:

Outputdefault via 203.0.113.7 dev eth0 proto static

Lorsque vous avez votre interface réseau publique, ouvrez le fichier/etc/ufw/before.rules dans votre éditeur de texte:

sudo nano /etc/ufw/before.rules

En haut du fichier (avant la ligne*filter), ajoutez le bloc de configuration suivant:

/etc/ufw/before.rules

*nat
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -m policy --pol ipsec --dir out -j ACCEPT
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
COMMIT

*mangle
-A FORWARD --match policy --pol ipsec --dir in -s 10.10.10.0/24 -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
COMMIT

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
. . .

Modifiez chaque instance deeth0 dans la configuration ci-dessus pour qu'elle corresponde au nom d'interface que vous avez trouvé avecip route. Les lignes*nat créent des règles afin que le pare-feu puisse correctement acheminer et manipuler le trafic entre les clients VPN et Internet. La ligne*mangle ajuste la taille maximale du segment de paquet pour éviter les problèmes potentiels avec certains clients VPN.

Ensuite, après les*filter et les lignes de définition de la chaîne, ajoutez un autre bloc de configuration:

/etc/ufw/before.rules

. . .
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]

-A ufw-before-forward --match policy --pol ipsec --dir in --proto esp -s 10.10.10.0/24 -j ACCEPT
-A ufw-before-forward --match policy --pol ipsec --dir out --proto esp -d 10.10.10.0/24 -j ACCEPT

Ces lignes indiquent au pare-feu de transférer le traficESP (Encapsulation Security Payload) afin que les clients VPN puissent se connecter. ESP offre une sécurité supplémentaire pour nos paquets VPN lorsqu’ils traversent des réseaux non approuvés.

Lorsque vous avez terminé, enregistrez et fermez le fichier.

Avant de redémarrer le pare-feu, nous allons modifier certains paramètres du noyau du réseau pour permettre le routage d’une interface à une autre. Ouvrez le fichier de configuration des paramètres du noyau UFW:

sudo nano /etc/ufw/sysctl.conf

Nous devons configurer quelques éléments ici:

  • Premièrement, nous activerons le transfert de paquets IPv4.

  • Nous allons désactiver la découverte Path MTU pour éviter les problèmes de fragmentation de paquets.

  • Nous n'accepterons pas non plus les redirections ICMP ni n'enverrons les redirections ICMP pour empêcher les attaquesman-in-the-middle.

Les modifications à apporter au fichier sont mises en évidence dans le code suivant:

/etc/ufw/sysctl.conf

. . .

# Enable forwarding
# Uncomment the following line
net/ipv4/ip_forward=1

. . .

# Do not accept ICMP redirects (prevent MITM attacks)
# Ensure the following line is set
net/ipv4/conf/all/accept_redirects=0

# Do not send ICMP redirects (we are not a router)
# Add the following lines
net/ipv4/conf/all/send_redirects=0
net/ipv4/ip_no_pmtu_disc=1

Enregistrez le fichier lorsque vous avez terminé. UFW appliquera ces modifications lors de son prochain démarrage.

Maintenant, nous pouvons activer toutes nos modifications en désactivant et en réactivant le pare-feu:

sudo ufw disable
sudo ufw enable

Vous serez invité à confirmer le processus. TapezY pour réactiver UFW avec les nouveaux paramètres.

[[step-7 -–- testing-the-VPN-connection-on-windows-ios-and-macos]] == Étape 7 - Test de la connexion VPN sous Windows, iOS et macOS

Maintenant que vous avez tout configuré, il est temps de l'essayer. Tout d’abord, vous devez copier le certificat d’autorité de certification que vous avez créé et l’installer sur votre ou vos périphériques clients qui se connecteront au VPN. Pour ce faire, le moyen le plus simple consiste à vous connecter à votre serveur et à afficher le contenu du fichier de certificat:

cat /etc/ipsec.d/cacerts/ca-cert.pem

Vous verrez une sortie semblable à celle-ci:

Output-----BEGIN CERTIFICATE-----
MIIFQjCCAyqgAwIBAgIIFkQGvkH4ej0wDQYJKoZIhvcNAQEMBQAwPzELMAkGA1UE

. . .

EwbVLOXcNduWK2TPbk/+82GRMtjftran6hKbpKGghBVDPVFGFT6Z0OfubpkQ9RsQ
BayqOb/Q
-----END CERTIFICATE-----

Copiez cette sortie sur votre ordinateur, y compris les lignes-----BEGIN CERTIFICATE----- et-----END CERTIFICATE-----, et enregistrez-la dans un fichier avec un nom reconnaissable, tel queca-cert.pem. Assurez-vous que le fichier que vous créez a l'extension.pem.

Une fois le fichierca-cert.pem téléchargé sur votre ordinateur, vous pouvez configurer la connexion au VPN.

Se connecter depuis Windows

Commencez par importer le certificat racine en procédant comme suit:

  1. Appuyez surWINDOWS+R pour afficher la boîte de dialogueRun et entrezmmc.exe pour lancer la console de gestion Windows.

  2. Dans le menuFile, accédez àAdd or Remove Snap-in, sélectionnezCertificates dans la liste des composants logiciels enfichables disponibles et cliquez surAdd.

  3. Nous voulons que le VPN fonctionne avec n'importe quel utilisateur, alors sélectionnezComputer Account et cliquez surNext.

  4. Nous configurons les éléments sur l’ordinateur local, alors sélectionnezLocal Computer, puis cliquez surFinish.

  5. Sous le nœudConsole Root, développez l'entréeCertificates (Local Computer), développezTrusted Root Certification Authorities, puis sélectionnez l'entréeCertificates:
    Certificates view

  6. Dans le menuAction, sélectionnezAll Tasks et cliquez surImport pour afficher l'assistant d'importation de certificat. Cliquez surNext pour passer devant l'introduction.

  7. Sur l'écranFile to Import, appuyez sur le boutonBrowse et sélectionnez le fichier de certificat que vous avez enregistré. Cliquez ensuite surNext.

  8. Assurez-vous queCertificate Store est défini surTrusted Root Certification Authorities et cliquez surNext.

  9. Cliquez surFinish pour importer le certificat.

Configurez ensuite le VPN en procédant comme suit:

  1. LancezControl Panel, puis accédez auxNetwork and Sharing Center.

  2. Cliquez surSet up a new connection or network, puis sélectionnezConnect to a workplace.

  3. SélectionnezUse my Internet connection (VPN).

  4. Entrez les détails du serveur VPN. Entrez le nom de domaine ou l'adresse IP du serveur dans le champInternet address, puis remplissezDestination name avec quelque chose qui décrit votre connexion VPN. Cliquez ensuite surDone.

Votre nouvelle connexion VPN sera visible dans la liste des réseaux. Sélectionnez le VPN et cliquez surConnect. Vous serez invité à entrer votre nom d'utilisateur et votre mot de passe. Saisissez-les, cliquez surOK et vous serez connecté.

Connexion depuis macOS

Suivez ces étapes pour importer le certificat:

  1. Double-cliquez sur le fichier de certificat. Keychain Access apparaîtra avec une boîte de dialogue indiquant «Keychain Access essaie de modifier le trousseau système. Entrez votre mot de passe pour autoriser cela. "

  2. Entrez votre mot de passe, puis cliquez surModify Keychain

  3. Double-cliquez sur le certificat VPN nouvellement importé. Cela ouvre une petite fenêtre de propriétés dans laquelle vous pouvez spécifier les niveaux de confiance. DéfinissezIP Security (IPSec) surAlways Trust et vous serez à nouveau invité à saisir votre mot de passe. Ce paramètre est automatiquement enregistré après la saisie du mot de passe.

Maintenant que le certificat est important et approuvé, configurez la connexion VPN en procédant comme suit:

  1. Accédez àSystem Preferences et choisissezNetwork.

  2. Cliquez sur le petit bouton «plus» en bas à gauche de la liste des réseaux.

  3. Dans la fenêtre contextuelle qui apparaît, définissezInterface surVPN, définissez lesVPN Type surIKEv2 et donnez un nom à la connexion.

  4. Dans les champsServer etRemote ID, saisissez le nom de domaine ou l’adresse IP du serveur. Laissez lesLocal ID vides.

  5. Cliquez surAuthentication Settings, sélectionnezUsername et entrez votre nom d'utilisateur et mot de passe que vous avez configurés pour votre utilisateur VPN. Cliquez ensuite surOK.

Enfin, cliquez surConnect pour vous connecter au VPN. Vous devriez maintenant être connecté au VPN.

Se connecter à partir d'Ubuntu

Pour vous connecter à partir d'une machine Ubuntu, vous pouvez configurer et gérer StrongSwan en tant que service ou utiliser une commande unique à chaque fois que vous souhaitez vous connecter. Les instructions sont fournies pour les deux.

Gérer StrongSwan en tant que service

  1. Mettez à jour le cache de votre package local:sudo apt update

  2. Installez StrongSwan et les logiciels associéssudo apt install strongswan libcharon-extra-plugins

  3. Copiez le certificat CA dans le répertoire/etc/ipsec.d/cacerts:sudo cp /tmp/ca-cert.pem /etc/ipsec.d/cacerts

  4. Désactivez StrongSwan pour que le VPN ne démarre pas automatiquement:sudo systemctl disable --now strongswan

  5. Configurez votre nom d'utilisateur et votre mot de passe VPN dans le fichier/etc/ipsec.secrets:your_username : EAP "your_password"

  6. Modifiez le fichier/etc/ipsec.conf pour définir votre configuration.

/etc/ipsec.conf

config setup

conn ikev2-rw
    right=server_domain_or_IP
    # This should match the `leftid` value on your server's configuration
    rightid=server_domain_or_IP
    rightsubnet=0.0.0.0/0
    rightauth=pubkey
    leftsourceip=%config
    leftid=username
    leftauth=eap-mschapv2
    eap_identity=%identity
    auto=start

Pour vous connecter au VPN, tapez:

sudo systemctl start strongswan

Pour vous déconnecter à nouveau, tapez:

sudo systemctl stop strongswan

Utilisation d'un client simple pour des connexions uniques

  1. Mettez à jour le cache de votre package local:sudo apt update

  2. Installercharon-cmd et les logiciels associéssudo apt install charon-cmd libcharon-extra-plugins

  3. Accédez au répertoire dans lequel vous avez copié le certificat CA:cd <^>/path/to/ca-cert.pem

  4. Connectez-vous au serveur VPN aveccharon-cmd en utilisant le certificat CA du serveur, l'adresse IP du serveur VPN et le nom d'utilisateur que vous avez configuré:sudo charon-cmd --cert ca-cert.pem --host vpn_domain_or_IP --identity your_username

  5. Lorsque vous y êtes invité, indiquez le mot de passe de l'utilisateur VPN.

Vous devriez maintenant être connecté au VPN. Pour vous déconnecter, appuyez surCTRL+C et attendez que la connexion se ferme.

Se connecter depuis iOS

Pour configurer la connexion VPN sur un périphérique iOS, procédez comme suit:

  1. Envoyez-vous un email avec le certificat racine joint.

  2. Ouvrez l'e-mail sur votre appareil iOS et appuyez sur le fichier de certificat joint, puis appuyez surInstall et entrez votre mot de passe. Une fois installé, appuyez surDone.

  3. Accédez àSettings,General,VPN et appuyez surAdd VPN Configuration. Cela fera apparaître l'écran de configuration de la connexion VPN.

  4. Tapez surType et sélectionnezIKEv2.

  5. Dans le champDescription, entrez un nom court pour la connexion VPN. Cela pourrait être tout ce que vous aimez.

  6. Dans les champsServer etRemote ID, saisissez le nom de domaine ou l’adresse IP du serveur. Le champLocal ID peut être laissé vide.

  7. Entrez votre nom d'utilisateur et votre mot de passe dans la sectionAuthentication, puis appuyez surDone.

  8. Sélectionnez la connexion VPN que vous venez de créer, appuyez sur le commutateur en haut de la page et vous serez connecté.

Se connecter depuis Android

Suivez ces étapes pour importer le certificat:

  1. Envoyez-vous un email avec le certificat de CA joint. Enregistrez le certificat de l'autorité de certification dans votre dossier de téléchargements.

  2. Téléchargez lesStrongSwan VPN client depuis le Play Store.

  3. Ouvrez l'application. Appuyez sur le“more” icon dans le coin supérieur droit (l'icône des trois points) et sélectionnezCA certificates.

  4. Appuyez à nouveau sur les“more” icon dans le coin supérieur droit. SélectionnezImport certificate.

  5. Naviguez jusqu'au fichier de certificat de l'autorité de certification dans votre dossier de téléchargements et sélectionnez-le pour l'importer dans l'application.

Maintenant que le certificat est importé dans l'application StrongSwan, vous pouvez configurer la connexion VPN en procédant comme suit:

  1. Dans l'application, appuyez surADD VPN PROFILE en haut.

  2. Remplissez lesServer avec le nom de domaine ou l'adresse IP publique de votre serveur VPN.

  3. Assurez-vous queIKEv2 EAP (Username/Password) est sélectionné comme type de VPN.

  4. Remplissez lesUsername etPassword avec les informations d'identification que vous avez définies sur le serveur.

  5. DésélectionnezSelect automatically dans la sectionCA certificate et cliquez surSelect CA certificate.

  6. Appuyez sur l'ongletIMPORTED en haut de l'écran et choisissez l'autorité de certification que vous avez importée (elle s'appellera «VPN racine CA» si vous n'avez pas modifié le «DN» auparavant).

  7. Si vous le souhaitez, remplissezProfile name (optional) avec un nom plus descriptif.

Lorsque vous souhaitez vous connecter au VPN, cliquez sur le profil que vous venez de créer dans l'application StrongSwan.

Dépannage des connexions

Si vous ne parvenez pas à importer le certificat, assurez-vous que le fichier porte l'extension.pem et non.pem.txt.

Si vous ne parvenez pas à vous connecter au VPN, vérifiez le nom du serveur ou l’adresse IP que vous avez utilisée. Le nom de domaine ou l’adresse IP du serveur doit correspondre à ce que vous avez configuré comme nom commun (CN) lors de la création du certificat. Si elles ne correspondent pas, la connexion VPN ne fonctionnera pas. Si vous configurez un certificat avec le CN devpn.example.com, vousmust utilisezvpn.example.com lorsque vous entrez les détails du serveur VPN. Revérifiez la commande que vous avez utilisée pour générer le certificat et les valeurs que vous avez utilisées lors de la création de votre connexion VPN.

Enfin, revérifiez la configuration VPN pour vous assurer que la valeurleftid est configurée avec le symbole@ si vous utilisez un nom de domaine:

Et si vous utilisez une adresse IP, assurez-vous que le symbole@ est omis.

Conclusion

Dans ce tutoriel, vous avez créé un serveur VPN utilisant le protocole IKEv2. Maintenant, vous pouvez être assuré que vos activités en ligne resteront sécurisées où que vous alliez!

Pour ajouter ou supprimer des utilisateurs, jetez simplement un coup d’œil à l’étape 5. Chaque ligne correspond à un utilisateur. Il est donc simple d’ajouter ou de supprimer des utilisateurs, c’est aussi simple que de modifier le fichier.

À partir de là, vous voudrez peut-être envisager de configurer un analyseur de fichier journal, car StrongSwan vide ses journaux dans syslog. Le tutorielHow To Install and Use Logwatch Log Analyzer and Reporter on a VPS a plus d'informations sur la configuration.

Vous pourriez également être intéressé parthis guide from the EFF about online privacy.