push
This commit is contained in:
commit
bb46ceecec
268
README.md
Normal file
268
README.md
Normal file
@ -0,0 +1,268 @@
|
||||
# WIREGUARD-VPN
|
||||
|
||||
## INSTALLATION ET CONFIGURATION SERVEUR (Linux):
|
||||
|
||||
### Update et installation:
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install wireguard
|
||||
```
|
||||
|
||||
### Création des clefs:
|
||||
|
||||
```bash
|
||||
wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
|
||||
```
|
||||
|
||||
### Création de la configuration serveur:
|
||||
|
||||
```bash
|
||||
sudo nano /etc/wireguard/wg0.conf
|
||||
```
|
||||
|
||||
Dans ce fichier de configuration, CLEF_PRIVEE_SERVEUR et INTERFACE_RESEAU sont à renseigner (remplacer):
|
||||
|
||||
```bash
|
||||
[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:
|
||||
|
||||
```bash
|
||||
cat /etc/wireguard/privatekey
|
||||
```
|
||||
|
||||
L' 'INTERFACE_RESEAU' s'obtient avec la commande:
|
||||
|
||||
```bash
|
||||
ip -o -4 route show to default | awk '{print $5}'
|
||||
```
|
||||
|
||||
Enfin, on protège l'accès aux fichiers sensibles:
|
||||
|
||||
```bash
|
||||
sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
|
||||
```
|
||||
|
||||
Configuration de "l'IP forwarding":
|
||||
|
||||
```bash
|
||||
sudo nano /etc/sysctl.conf
|
||||
```
|
||||
|
||||
```bash
|
||||
net.ipv4.ip_forward=1
|
||||
```
|
||||
|
||||
Vérifier que le fichier /proc/sys/net/ipv4/ip_forward contienne le chiffre 1:
|
||||
|
||||
```bash
|
||||
cat /proc/sys/net/ipv4/ip_forward
|
||||
1
|
||||
```
|
||||
|
||||
|
||||
### Démarrer le serveur:
|
||||
|
||||
```bash
|
||||
sudo wg-quick up wg0
|
||||
```
|
||||
|
||||
Pour activer le serveur au démarrage du système:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install wireguard
|
||||
```
|
||||
|
||||
#### Création des clefs:
|
||||
|
||||
```bash
|
||||
wg genkey | sudo tee /etc/wireguard/clients/clientprivatekey | wg pubkey | sudo tee /etc/wireguard/clients/clientpublickey
|
||||
```
|
||||
|
||||
#### création de la configuration:
|
||||
|
||||
```bash
|
||||
nano /etc/wireguard/client.conf
|
||||
```
|
||||
|
||||
|
||||
```bash
|
||||
/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":
|
||||
|
||||
```bash
|
||||
sudo nano /etc/sysctl.conf
|
||||
```
|
||||
|
||||
```bash
|
||||
/etc/sysctl.conf
|
||||
|
||||
net.ipv4.ip_forward=1
|
||||
```
|
||||
|
||||
#### Sécurisation des fichiers sensibles:
|
||||
```bash
|
||||
sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
|
||||
```
|
||||
|
||||
#### Pour démarrer la connection:
|
||||
```bash
|
||||
sudo wg-quick up wg0
|
||||
```
|
||||
|
||||
#### Installation d'un plugin pour Gnome
|
||||
|
||||
- Installer l'extension [Wireguard Indicator, by Gregos-Winus](https://extensions.gnome.org/extension/3160/wireguard-indicator/)
|
||||
- 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:
|
||||
|
||||
```bash
|
||||
/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:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
sudo wg-quick down wg0
|
||||
sudo wg-quick up wg0
|
||||
```
|
||||
|
||||
#### Connection client Android via QRcode:
|
||||
|
||||
- Commande à éffectuer sur le serveur pour afficher le QRcode:
|
||||
```bash
|
||||
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:
|
||||
|
||||
```bash
|
||||
\\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:
|
||||
|
||||
```bash
|
||||
smb://ADRESSEIP.LOCALE.MACHINE.SAMBA/
|
||||
```
|
||||
|
||||

|
||||
|
||||
* Enfin, appuyer sur "se connecter"
|
||||
|
||||
**Attention, sur Linux les slashs sont inversés par rapport à Windows.**
|
BIN
docs/QRcode.png
Normal file
BIN
docs/QRcode.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
BIN
docs/lin1.png
Normal file
BIN
docs/lin1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
docs/win1.png
Normal file
BIN
docs/win1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 163 KiB |
BIN
docs/win2.png
Normal file
BIN
docs/win2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 155 KiB |
BIN
docs/win3.png
Normal file
BIN
docs/win3.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
Loading…
x
Reference in New Issue
Block a user