Disponible en unstable, package wireguard
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
$ add-apt-repository ppa:wireguard/wireguard
$ apt-get update
$ apt-get install wireguard
dnf install wireguard
Les paquets suivant sont installés: wireguard, wireguard-dkms, wireguard-tools
On va utiliser la méthode avec wg-quick, on choisit 192.168.100.0 comme réseau pour le vpn.
Dans le répertoire /etc/wireguard, on génère 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, on génère 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)
On peut répéter l’opération sur autant de clients qu’on veut. 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 voir l’état du vpn
wg show
On peut utiliser n’importe quelle machine ou wireguard est installé
Installer le programme qrencode (dispos sous debian fedora)
Créer un configuration comme n’importe quel autre client.
qrencode -t ansiutf8 < client.conf
Sur android dans 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.
On peut joindre chacun des clients depuis un autre client. J’ai ouvert un serveur nginx sur une machine du vpn et j’ai visisonné une vidéo sur mon téléphone avec vlc :)