GNU/Linux >> Tutoriels Linux >  >> Ubuntu

WireGuard – Un tunnel VPN rapide, moderne et sécurisé pour Linux

WireGuard est un VPN moderne, sécurisé, multiplateforme et polyvalent mise en œuvre qui utilise la cryptographie de pointe. Il vise à être rapide, plus simple, plus léger et plus fonctionnel qu'IPsec et il a l'intention d'être plus performant que OpenVPN .

Il est conçu pour être utilisé dans diverses circonstances et peut être déployé sur des interfaces embarquées, des routeurs backbone entièrement chargés et des supercalculateurs; et fonctionne sur les systèmes d'exploitation Linux, Windows, macOS, BSD, iOS et Android.

Lecture recommandée  :13 meilleurs services VPN avec abonnement à vie

Il présente une interface extrêmement basique mais puissante qui se veut simple, aussi facile à configurer et à déployer que SSH. Ses principales fonctionnalités incluent une interface réseau simple, un routage de clé de chiffrement, une itinérance intégrée et une prise en charge des conteneurs.

Notez qu'au moment de la rédaction de cet article, il est en cours de développement :certaines de ses parties travaillent vers une version 1.0 stable, tandis que d'autres sont déjà là (fonctionnent bien).

Dans cet article, vous apprendrez comment installer et configurer WireGuard sous Linux pour créer un tunnel VPN entre deux hôtes Linux.

Environnement de test

Pour ce guide, notre configuration (nom d'hôte et IP publique) est la suivante :

Node 1 : tecmint-appserver1: 		10.20.20.4
Node 2 : tecmint-dbserver1: 		10.20.20.3

Comment installer WireGuard dans les distributions Linux

Connectez-vous à vos deux nœuds et installez WireGuard en utilisant la commande appropriée suivante pour vos distributions Linux comme suit.

Installer WireGuard dans RHEL 8

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Installer WireGuard dans CentOS 8

$ sudo yum install epel-release
$ sudo yum config-manager --set-enabled PowerTools
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Installer WireGuard dans RHEL/CentOS 7

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install wireguard-dkms wireguard-tools

Installer WireGuard dans Fedora

$ sudo dnf install wireguard-tools

Installer WireGuard dans Debian

# echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
# printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
# apt update
# apt install wireguard

Installer WireGuard dans Ubuntu

$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard

Installer WireGuard dans OpenSUSE

$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
$ sudo zypper install wireguard-kmp-default wireguard-tools

Configuration d'un tunnel VPN WireGuard entre deux hôtes Linux

Lorsque l'installation de wireguard est terminée sur les deux nœuds, vous pouvez redémarrer vos nœuds ou ajouter le module wireguard à partir du noyau Linux à l'aide de la commande suivante sur les deux nœuds.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Ensuite, générez des clés publiques et privées encodées en base64 à l'aide de wg utilitaire sur les deux nœuds, comme indiqué.

---------- On Node 1 ---------- 
$ umask 077
$ wg genkey >private_appserver1

---------- On Node 2 ----------
$ umask 077
$ wg genkey >private_dbserver1
$ wg pubkey < private_dbserver1

Générer des clés sur les deux nœuds

Ensuite, vous devez créer une interface réseau (par exemple wg0 ) pour wiregaurd sur les pairs, comme indiqué ci-dessous. Attribuez ensuite des adresses IP à la nouvelle interface réseau créée (pour ce guide, nous utiliserons le réseau 192.168.10.0/24 ).

---------- On Node 1 ---------- 
$ sudo ip link add dev wg0 type wireguard
$ sudo ip addr add 192.168.10.1/24 dev wg0

---------- On Node 2 ----------
$ sudo ip link add dev wg0 type wireguard
$ sudo ip addr add 192.168.10.2/24 dev wg0

Pour afficher les interfaces réseau attachées sur les pairs et leurs adresses IP, utilisez la commande IP suivante.

$ ip ad

Afficher les interfaces réseau avec les adresses IP

Ensuite, attribuez la clé privée de chaque pair au wg0 interface réseau et affichez l'interface comme indiqué.

---------- On Node 1 ---------- 
$ sudo wg set wg0 private-key ./private_appserver1
$ sudo ip link set wg0 up

---------- On Node 2 ----------
$ sudo wg set wg0 private-key ./private_dbserver1
$ sudo ip link set wg0 up

Maintenant que les deux liens sont chacun avec des clés privées associées, exécutez le wg utilitaire sans aucun argument pour récupérer la configuration des interfaces WireGuard sur les pairs. Créez ensuite votre tunnel VPN Wireguard comme suit.

Le pair (clé publique ), ips autorisées (masque de réseau/sous-réseau) et endpoint (ip public:port) sont du pair opposé.

----------  On Node1 (Use the IPs and Public Key of Node 2) ---------- 
$ sudo wg
$ sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24  endpoint  10.20.20.3:54371

----------  On Node2 (Use the IPs and Public Key of Node 1) ----------
$ sudo wg
$ sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint  10.20.20.4:42930

Créer un tunnel VPN Wireguard entre les machines Linux

Test du tunnel VPN WireGuard entre les systèmes Linux

Une fois le tunnel VPN Wireguard créé, envoyez une requête ping au pair opposé en utilisant l'adresse de l'interface réseau Wireguard. Exécutez ensuite le wg utilitaire une fois de plus pour confirmer une poignée de main entre les pairs, comme indiqué.

---------- On Node 1 ----------
$ ping 192.168.10.2
$ sudo wg

---------- On Node 2 ----------
$ ping 192.168.10.1
$ sudo wg

Tester le tunnel VPN Wireguard entre les machines Linux

C'est tout pour le moment! WireGuard est une solution VPN moderne, sécurisée, simple mais puissante et facile à configurer pour l'avenir. Il est en cours de développement lourd donc travail en cours. Vous pouvez obtenir plus d'informations, en particulier sur son fonctionnement interne et d'autres options de configuration, sur la page d'accueil de WireGuard.

Partager c'est aimer…
Partager sur FacebookPartager sur TwitterPartager sur LinkedinPartager sur Reddit
Ubuntu
  1. 10 tutoriels de commande Linux pour débutants et experts

  2. Aide-mémoire pour les utilisateurs Linux et les autorisations

  3. CLIENT OPENVPN pour Windows et Linux

  4. Top 7 des jeux gratuits et Open Source pour Linux

  5. Buttercup – Un gestionnaire de mots de passe moderne pour Linux

Tox Messenger - Une alternative gratuite, sécurisée et open source pour Skype

DockerSlim pour réduire, optimiser et sécuriser le conteneur Docker sous Linux

Comment installer OpenVPN dans Ubuntu Linux :un tutoriel pour les débutants

Comment configurer WireGuard VPN sur Linux

10 meilleurs clients et services VPN Linux pour vous protéger

Les 8 meilleurs téléphones sécurisés Linux pour la confidentialité et la sécurité