This commit is contained in:
parent
ab3b9dc081
commit
47ff46d936
@ -9,6 +9,7 @@
|
||||
- [Installer un serveur Debian SSH + Samba](serveur_debian_smb_ssh.md)
|
||||
- [Un mémo postgres-cli](postgres.md)
|
||||
- [Un mémo mysql](mysql.md)
|
||||
- [capturer le traffic réseau avec Wireshark](wireshark.md)
|
||||
- [Capturer le traffic réseau avec Wireshark](wireshark.md)
|
||||
- [Créer un certificat pour une wildcard](wildcard_certificates.md)
|
||||
- [calculer les adresses d'un réseau](calculer-adresses-reseau.md)
|
||||
- [Calculer les adresses d'un réseau](calculer-adresses-reseau.md)
|
||||
- [Installer et gérer un VPN avec Wireguard](wireguard/)
|
||||
106
docs/divers/server/wireguard/clients/index.md
Normal file
106
docs/divers/server/wireguard/clients/index.md
Normal file
@ -0,0 +1,106 @@
|
||||
# Clients WireGuard
|
||||
|
||||
## Linux
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install wireguard
|
||||
```
|
||||
|
||||
### Génération des clés
|
||||
|
||||
```bash
|
||||
wg genkey | sudo tee /etc/wireguard/clients/clientprivatekey | wg pubkey | sudo tee /etc/wireguard/clients/clientpublickey
|
||||
```
|
||||
|
||||
### Configuration `/etc/wireguard/client.conf`
|
||||
|
||||
```bash
|
||||
nano /etc/wireguard/client.conf
|
||||
```
|
||||
|
||||
```ini
|
||||
[Interface]
|
||||
PrivateKey = CLIENT_PRIVATE_KEY
|
||||
Address = 10.0.0.2/24
|
||||
DNS = 1.1.1.1
|
||||
|
||||
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
|
||||
|
||||
[Peer]
|
||||
PublicKey = SERVER_PUBLIC_KEY
|
||||
Endpoint = SERVER_IP_ADDRESS:51820
|
||||
AllowedIPs = 0.0.0.0/0
|
||||
```
|
||||
|
||||
IP Forwarding :
|
||||
|
||||
```bash
|
||||
sudo nano /etc/sysctl.conf
|
||||
# Ajouter : net.ipv4.ip_forward=1
|
||||
```
|
||||
|
||||
Sécuriser les fichiers :
|
||||
|
||||
```bash
|
||||
sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
|
||||
```
|
||||
|
||||
Démarrer la connexion :
|
||||
|
||||
```bash
|
||||
sudo wg-quick up wg0
|
||||
```
|
||||
|
||||
### Extension Gnome (optionnel)
|
||||
|
||||
Installer le connecteur GNOME Shell :
|
||||
|
||||
```bash
|
||||
sudo apt-get install gnome-browser-connector
|
||||
```
|
||||
|
||||
Puis installer l'extension [WireGuard Indicator](https://extensions.gnome.org/extension/3612/wireguard-indicator/) depuis le navigateur.
|
||||
|
||||
---
|
||||
|
||||
## Windows
|
||||
|
||||
Télécharger et installer le client : [wireguard-installer.exe](https://download.wireguard.com/windows-client/wireguard-installer.exe)
|
||||
|
||||
Ouvrir l'application, cliquer sur **+** → **Créer un tunnel vide**, puis appliquer la configuration :
|
||||
|
||||
```ini
|
||||
[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
|
||||
```
|
||||
|
||||
!!! tip
|
||||
La clé publique du client est affichée automatiquement dans l'interface de l'application. Transmettez-la à l'administrateur du serveur.
|
||||
|
||||
---
|
||||
|
||||
## Android (via QR Code)
|
||||
|
||||
Sur le **serveur**, générer et afficher le QR Code :
|
||||
|
||||
```bash
|
||||
sudo apt install qrencode
|
||||
qrencode -t ansiutf8 < /etc/wireguard/clients/client.conf
|
||||
```
|
||||
|
||||
Télécharger l'application WireGuard : [Play Store](https://play.google.com/store/apps/details?id=com.wireguard.android) ou [APK direct](https://download.wireguard.com/android-client/com.wireguard.android-1.0.20231018.apk)
|
||||
|
||||
Dans l'application : **+** → **Scanner depuis QR Code** → pointer la caméra vers le QR Code du terminal.
|
||||
|
||||
!!! warning
|
||||
Le QR Code contient la clé privée du client. Générez-le dans un environnement sécurisé.
|
||||
84
docs/divers/server/wireguard/gestion/index.md
Normal file
84
docs/divers/server/wireguard/gestion/index.md
Normal file
@ -0,0 +1,84 @@
|
||||
# Gestion des clients
|
||||
|
||||
## Ajouter un client
|
||||
|
||||
### Méthode recommandée — ajout permanent
|
||||
|
||||
Éditer le fichier de config du serveur :
|
||||
|
||||
```bash
|
||||
sudo nano /etc/wireguard/wg0.conf
|
||||
```
|
||||
|
||||
Ajouter un bloc `[Peer]` :
|
||||
|
||||
```ini
|
||||
[Peer]
|
||||
PublicKey = CLE_PUBLIQUE_CLIENT
|
||||
AllowedIPs = 10.0.0.X/32
|
||||
```
|
||||
|
||||
Puis redémarrer :
|
||||
|
||||
```bash
|
||||
sudo wg-quick down wg0
|
||||
sudo wg-quick up wg0
|
||||
```
|
||||
|
||||
### Méthode temporaire — ajout à chaud
|
||||
|
||||
```bash
|
||||
sudo wg set wg0 peer 'CLEF_PUBLIQUE_CLIENT' allowed-ips 'IP_INTERNE_CLIENT'
|
||||
```
|
||||
|
||||
!!! warning
|
||||
Cet ajout est **réinitialisé à chaque arrêt** du serveur. Préférer l'ajout dans `wg0.conf`.
|
||||
|
||||
## Obtenir la clé publique d'un client Linux
|
||||
|
||||
Commande à exécuter **sur le client** :
|
||||
|
||||
```bash
|
||||
sudo cat /etc/wireguard/publickey
|
||||
```
|
||||
|
||||
## Adressage interne
|
||||
|
||||
| Machine | IP interne |
|
||||
|---|---|
|
||||
| Serveur | `10.0.0.1` |
|
||||
| Client 1 | `10.0.0.2` |
|
||||
| Client 2 | `10.0.0.3` |
|
||||
| Client N | `10.0.0.N+1` |
|
||||
|
||||
---
|
||||
|
||||
# Accès aux partages Samba
|
||||
|
||||
Une fois connecté au VPN, les partages réseau des machines sur le même réseau que le serveur sont accessibles.
|
||||
|
||||
## Depuis Windows
|
||||
|
||||
Dans la barre d'adresse de l'Explorateur Windows :
|
||||
|
||||
```
|
||||
\\ADRESSEIP-SERVER-SAMBA\
|
||||
```
|
||||
|
||||
Renseigner les identifiants de la machine distante lors de l'invite.
|
||||
|
||||
## Depuis Linux
|
||||
|
||||
Dans l'explorateur de fichiers → **Autres emplacements** → champ "Connexion au serveur" :
|
||||
|
||||
```
|
||||
smb://ADRESSEIP-SERVER-SAMBA/
|
||||
```
|
||||
|
||||
Cliquer sur **Se connecter**.
|
||||
|
||||
!!! warning "Sens des slashs"
|
||||
| OS | Format |
|
||||
|---|---|
|
||||
| Windows | `\\ADRESSE\` |
|
||||
| Linux | `smb://ADRESSE/` |
|
||||
35
docs/divers/server/wireguard/index.md
Normal file
35
docs/divers/server/wireguard/index.md
Normal file
@ -0,0 +1,35 @@
|
||||
# WireGuard VPN
|
||||
|
||||

|
||||
|
||||
Guide d'installation et de configuration d'un VPN WireGuard — serveur Linux, clients multi-plateformes et gestion des accès réseau.
|
||||
|
||||
---
|
||||
|
||||
## Sections
|
||||
|
||||
### [Serveur](serveur/index.md)
|
||||
Installation sous Linux, génération des clés, configuration de `wg0.conf`, IP forwarding et démarrage du service.
|
||||
|
||||
### [Clients](clients/index.md)
|
||||
Configuration sous Linux, Windows et Android. Inclut l'extension Gnome et l'import par QR Code pour mobile.
|
||||
|
||||
### [Gestion des clients](gestion/index.md)
|
||||
Ajouter des pairs au serveur (temporaire ou permanent), récupérer les clés publiques et gérer l'adressage interne.
|
||||
|
||||
### [Accès Samba](gestion/index.md#accès-aux-partages-samba)
|
||||
Accéder aux partages réseau depuis un client Windows ou Linux via le VPN.
|
||||
|
||||
---
|
||||
|
||||
## Informations générales
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|---|---|
|
||||
| Port par défaut | `UDP 51820` |
|
||||
| Réseau interne (exemple) | `10.0.0.0/24` |
|
||||
| Adresse serveur (exemple) | `10.0.0.1` |
|
||||
| Dépôt | [GARAGENUM/wireguard-vpn](https://git.legaragenumerique.fr/GARAGENUM/wireguard-vpn) |
|
||||
|
||||
!!! tip "Serveur derrière un routeur"
|
||||
Si le serveur est derrière une box, pensez à rediriger le port **UDP 51820** vers son IP interne. L'`Endpoint` côté client sera l'IP publique de la box.
|
||||
99
docs/divers/server/wireguard/serveur/index.md
Normal file
99
docs/divers/server/wireguard/serveur/index.md
Normal file
@ -0,0 +1,99 @@
|
||||
# Serveur WireGuard
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
sudo apt update
|
||||
sudo apt install wireguard
|
||||
```
|
||||
|
||||
## Génération des clés
|
||||
|
||||
```bash
|
||||
wg genkey | sudo tee /etc/wireguard/privatekey | wg pubkey | sudo tee /etc/wireguard/publickey
|
||||
```
|
||||
|
||||
Afficher la clé privée (nécessaire pour la config) :
|
||||
|
||||
```bash
|
||||
cat /etc/wireguard/privatekey
|
||||
```
|
||||
|
||||
Identifier l'interface réseau active :
|
||||
|
||||
```bash
|
||||
ip -o -4 route show to default | awk '{print $5}'
|
||||
```
|
||||
|
||||
## Configuration `/etc/wireguard/wg0.conf`
|
||||
|
||||
```bash
|
||||
sudo nano /etc/wireguard/wg0.conf
|
||||
```
|
||||
|
||||
```ini
|
||||
[Interface]
|
||||
Address = 10.0.0.1/24
|
||||
ListenPort = 51820
|
||||
PrivateKey = CLEF_PRIVEE_SERVEUR
|
||||
|
||||
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]
|
||||
PublicKey = CLE_PUBLIQUE_CLIENT_1
|
||||
AllowedIPs = 10.0.0.2/32
|
||||
|
||||
[Peer]
|
||||
PublicKey = CLE_PUBLIQUE_CLIENT_2
|
||||
AllowedIPs = 10.0.0.3/32
|
||||
```
|
||||
|
||||
| Variable | Comment l'obtenir |
|
||||
|---|---|
|
||||
| `CLEF_PRIVEE_SERVEUR` | `cat /etc/wireguard/privatekey` |
|
||||
| `INTERFACE_RESEAU` | `ip -o -4 route show to default \| awk '{print $5}'` |
|
||||
| `CLE_PUBLIQUE_CLIENT_X` | Fournie par chaque client |
|
||||
|
||||
Protéger les fichiers sensibles :
|
||||
|
||||
```bash
|
||||
sudo chmod 600 /etc/wireguard/{privatekey,wg0.conf}
|
||||
```
|
||||
|
||||
## IP Forwarding
|
||||
|
||||
```bash
|
||||
sudo nano /etc/sysctl.conf
|
||||
```
|
||||
|
||||
```ini
|
||||
net.ipv4.ip_forward=1
|
||||
```
|
||||
|
||||
Vérification :
|
||||
|
||||
```bash
|
||||
cat /proc/sys/net/ipv4/ip_forward
|
||||
# Résultat attendu : 1
|
||||
```
|
||||
|
||||
## Démarrage
|
||||
|
||||
```bash
|
||||
# Démarrer
|
||||
sudo wg-quick up wg0
|
||||
|
||||
# Activer au démarrage du système
|
||||
sudo systemctl enable wg-quick@wg0.service
|
||||
```
|
||||
|
||||
| Action | Commande |
|
||||
|---|---|
|
||||
| Démarrer | `sudo wg-quick up wg0` |
|
||||
| Arrêter | `sudo wg-quick down wg0` |
|
||||
| Statut | `sudo wg show` |
|
||||
| Activer au boot | `sudo systemctl enable wg-quick@wg0.service` |
|
||||
|
||||
!!! warning "Serveur derrière un routeur / box"
|
||||
Pensez à rediriger le port **UDP 51820** vers l'IP interne du serveur. L'`Endpoint` côté client sera alors l'**IP publique de la box**.
|
||||
@ -134,6 +134,10 @@ nav:
|
||||
- "Wireshark": divers/server/wireshark.md
|
||||
- "Calcul Réseau": divers/server/calculer-adresses-reseau.md
|
||||
- "Créer un certificat pour une wildcard (*.domain.com)": divers/server/wildcard_certificates.md
|
||||
- "VPN Wireguard (installation et gestion)":
|
||||
- Serveur: divers/server/wireguard/serveur/index.md
|
||||
- Clients: divers/server/wireguard/clients/index.md
|
||||
- Gestion & Samba: divers/server/wireguard/gestion/index.md
|
||||
- "Les guides DevOps":
|
||||
- divers/devops/index.md
|
||||
- "Hugo":
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user