Scrum: les règles du jeu
Par définition une équipe agile peut adapter la méthode; pourtant certaines règles (pas nombreuses) doivent être appliquées sinon on risque de perdre l'efficacité de SCRUM. Ce petit guide de 20...
WireGuard est une application libre et un protocole qui implémente des techniques de réseau privé virtuel (VPN) pour créer des connexions point à point sécurisées dans des configurations routées ou pontées. WireGuard est exécuté comme un module à l’intérieur du noyau Linux et vise de meilleures performances que les protocoles de tunneling IPsec et OpenVPN.
https://en.wikipedia.org/wiki/WireGuard
Le paquet wireguard est disponible en unstable pour Jessie et Stretch :
echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable* apt update apt install wireguard
https://wiki.debian.org/Wireguard
Un paquet PPA est mis à disposition pour Ubuntu :
add-apt-repository ppa:wireguard/wireguard apt-get update apt-get install wireguard
https://launchpad.net/~wireguard/+archive/ubuntu/wireguard
Les paquets sont nativement disponibles :
dnf install wireguard
Les paquets suivants sont installés: wireguard, wireguard-dkms, wireguard-tools
Nous utilisons la méthode avec wg-quick, on choisit 192.168.100.0 comme réseau pour le VPN.
Dans le répertoire /etc/wireguard, nous générons une paire de clefs :
wg genkey | tee wg-private.key | wg pubkey > wg-public.key
Créer le fichier /etc/wireguard/wg0.conf :
[Interface] #server Address = 192.168.100.254 PrivateKey = <CONTENU DU FICHIER wg-private.key> ListenPort = 4820 [Peer] #client 1 PublicKey = <CLEF PUBLIQUE DU CLIENT 1> AllowedIPs = 192.168.100.1
Dans le répertoire /etc/wireguard, nous générons une paire de clefs :
wg genkey | tee wg-private.key | wg pubkey > wg-public.key
Créer le fichier /etc/wireguard/wg0.conf :
[Interface] #client 1 Address = 192.168.100.1 PrivateKey = <CONTENU DU FICHIER wg-private.key> ListenPort = 4820 [Peer] #client 1 PublicKey = <CLEF PUBLIQUE DU SERVEUR> AllowedIPs = 192.168.100.0/24 (si 0.0.0.0/0 alors tout le traffic est routé dans le vpn)
Nous pouvons répéter l’opération sur autant de clients que souhaité. Il suffit d’ajouter un bloc [peer] correspondant dans le fichier de configuration du serveur.
Sur le serveur puis sur le client :
wg-quick up wg0
Pour connaître l’état du VPN :
wg show
Nous pouvons utiliser n’importe quelle machine qui a WireGuard d’installé.
Installer le programme qrencode (disponisble sous debian et fedora).
Créer un configuration comme n’importe quel autre client.
qrencode -t ansiutf8 < client.conf
Sur Android à l’aide du magasin d’application F-droid, installer WireGuard et ajouter un VPN, choisir « create from qrcode ».
J’ai fait les tests avec un serveur debian arm64 et des clients Ubuntu bionic, fedora 29, debian arm64, Android.
Il est possible de joindre chacun des clients depuis un autre client. J’ai ouvert un serveur Nginx sur une machine du VPN et j’ai visionné une vidéo sur mon téléphone à l’aide de VLC 🙂