gregandev
eb6e301314
|
1 year ago | |
---|---|---|
docs | 2 years ago | |
README.md | 1 year ago |
README.md
WIREGUARD-VPN
INSTALLATION ET CONFIGURATION SERVEUR (Linux):
Update et installation:
sudo apt-get update
sudo apt install openresolv wireguard -y
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):
[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éseau
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
[Peer]
# Ajouter les clients
PublicKey = 'CLE_PUBLIQUE_CLIENT_1'
AllowedIPs = 10.0.0.2/32
[Peer]
# Ajouter les clients
PublicKey = 'CLE_PUBLIQUE_CLIENT_2'
AllowedIPs = 10.0.0.3/32
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}
Configuration de "l'IP forwarding":
sudo nano /etc/sysctl.conf
net.ipv4.ip_forward=1
Vérifier que le fichier /proc/sys/net/ipv4/ip_forward contienne le chiffre 1:
cat /proc/sys/net/ipv4/ip_forward
1
Démarrer le serveur:
sudo wg-quick up wg0
Pour activer le serveur au démarrage du système:
sudo systemctl enable wg-quick@wg0.service
**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 (sur le réseau interne)
- 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:
Update et installation:
sudo apt update
sudo apt install wireguard
Création des clefs:
wg genkey | sudo tee /etc/wireguard/clients/clientprivatekey | wg pubkey | sudo tee /etc/wireguard/clients/clientpublickey
création de la configuration:
nano /etc/wireguard/client.conf
/etc/wireguard/client.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
DNS = 8.8.8.8
[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
Installation d'un plugin pour Gnome
- Installer l'extension Wireguard Indicator, by Gregos-Winus
- Suivez les indications données en cliquant sur l'applet en haut à droite.
WINDOWS:
Télécharger l'application à l'adresse:
https://download.wireguard.com/windows-client/wireguard-installer.exe
Créer une nouvelle config:
Configuration:
Appliquer la configuration suivante en renseignant CLEF-PRIVEE_CLIENT, IP_PUBLIQUE_SERVEUR et CLEF_PUBLIQUE_SERVEUR:
/etc/wireguard/clients/client.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'
- NOTE: Après l'arret du serveur, l'ajout du client est réinitialisé. Privilégier l'ajout du client dans la configuration du serveur au niveau de "[Peer]"
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
Connection client Android via QRcode:
- Commande à éffectuer sur le serveur pour afficher le QRcode:
sudo apt install qrencode
qrencode -t ansiutf8 < /etc/wireguard/clients/client.conf
Accès partage SAMBA:
Pour accéder au partage samba d'une machine sur le même réseaux que le serveur:
A) pour un client Windows:
- Dans le barre d'adresse de l'explorateur windows, entrer l'adresse de la machine partageant du contenu via samba:
\\ADRESSEIP.LOCALE.MACHINE.SAMBA\
- Entrer les acréditations (nom d'utilisateur et mot de passe de la session utilisateur) de la machine partageant le contenu samba lors de l'apparition de la fenêtre contextuelle.
B) pour un client Linux:
- Dans l'explorateur de fichiers, choisir autre emplacements; en bas de la fenêtre, un champs de connexion serveur attend une URL, y entrer l'adresse de la machine partageant du contenu via samba:
smb://ADRESSEIP.LOCALE.MACHINE.SAMBA/
- Enfin, appuyer sur "se connecter"
Attention, sur Linux les slashs sont inversés par rapport à Windows.