2021-08-10 18:07:34 +02:00
2021-08-10 16:58:47 +02:00
2021-08-10 18:07:34 +02:00

WIREGUARD-VPN

INSTALLATION ET CONFIGURATION SERVEUR (Linux):

Ajout du repo pour le paquet:

echo 'deb http://ftp.debian.org/debian buster-backports main' | sudo tee /etc/apt/sources.list.d/buster-backports.list

Update et installation:

sudo apt update
sudo apt install wireguard

Création des clefs:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

Création de la configuration serveur:

sudo nano /etc/wireguard/wg0.conf

Dans ce fichier de configuration, CLEF_PRIVEE_SERVEUR et INTERFACE_RESEAU sont à renseigner (remplacer):

/etc/wireguard/wg0.conf

[Interface]
# Adresse interne du serveur
Address = 10.0.0.1/24
ListenPort = 51820
# Clef privée du serveur
PrivateKey = 'CLEF_PRIVEE_SERVEUR'
# Routing vers l'interface réseaux
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o 'INTERFACE_RESEAU' -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o 'INTERFACE_RESEAU' -j MASQUERADE

La 'CLEF_PRIVEE_SERVEUR' s'obtient avec la commande:

cat /etc/wireguard/privatekey

L'"INTERFACE_RESEAU" s'obtient avec la commande:

ip -o -4 route show to default | awk '{print $5}'

Enfin, on protège l'accès aux fichiers sensibles:

sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}

Pour démarrer la serveur:

sudo wg-quick up wg0

/\ NOTE: Si le serveur se trouve dérrière un routeur ou box internet, ne pas oublier de faire la redirection de port (ici dans l'exemple, le 51820) de la box vers l-IP du serveur. L'adresse publique du serveur devient alors celle du routeur/box dans la configuration client: Endpoint = SERVER_IP_ADDRESS:51820

INSTALLATION ET CONFIGURATION CLIENT:

LINUX:

Ajout du repo pour le paquet:

echo 'deb http://ftp.debian.org/debian buster-backports main' | sudo tee /etc/apt/sources.list.d/buster-backports.list

Update et installation:

sudo apt update
sudo apt install wireguard

Création des clefs:

wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey

création de la configuration:

nano /etc/wireguard/wg0.conf
/etc/wireguard/wg0.conf

[Interface]
# Clef privée du client
PrivateKey = 'CLIENT_PRIVATE_KEY'
# Adresse interne du client (en cohérence avec l'IP interne du serveur)
Address = 10.0.0.2/24

[Peer]
# Clef publique du serveur
PublicKey = 'SERVER_PUBLIC_KEY'
# Adresse IP publique du serveur
Endpoint = 'SERVER_IP_ADDRESS':51820
AllowedIPs = 0.0.0.0/0

Configuration de "l'IP forwarding":

sudo nano /etc/sysctl.conf
/etc/sysctl.conf

net.ipv4.ip_forward=1

Sécurisation des fichiers sensibles:

sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}

Pour démarrer la connection:

sudo wg-quick up wg0

WINDOWS:

Télécharger l'application à l'adresse:

https://download.wireguard.com/windows-client/wireguard-installer.exe

Créer une nouvelle config:

image

image

Configuration:

Appliquer la configuration suivante en renseignant CLEF-PRIVEE_CLIENT, IP_PUBLIQUE_SERVEUR et CLEF_PUBLIQUE_SERVEUR:

/etc/wireguard/wg0.conf

[Interface]
PrivateKey = 'CLIENT_PRIVATE_KEY'
Address = 10.0.0.2/24

[Peer]
PublicKey = 'SERVER_PUBLIC_KEY'
Endpoint = 'SERVER_IP_ADDRESS':51820
AllowedIPs = 0.0.0.0/0

Note: La port et les adresses IP internes au réseau peuvent également être modifiées (en cohérence avec la configuration du serveur)

Ajouter un client:

Commande à effectuer SUR LE SERVEUR:

sudo wg set wg0 peer 'CLEF_PUBLIQUE_CLIENT' allowed-ips 'IP_INTERNE_CLIENT'

La CLEF_PUBLIQUE_CLIENT s'obtient sur le client avec la commande:

sudo cat /etc/wireguard/publickey

Pour l'IP interne, elle doit être cohérente avec l'adresse IP interne du serveur. Dans cet exemple, le serveur a pour IP interne 10.0.0.1 et le client 10.0.0.2

Après l'ajout d'un client redémarrer le serveur:

sudo wg-quick down wg0
sudo wg-quick up wg0
Description
Open source VPN
Readme 809 KiB