Le photovoltaique

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

un VPN maison

lucky

Membre donateur
Membre du personnel

🔒 Tutoriel : Installer WireGuard sur Raspberry Pi​


permet depuis l exterieur d avoir acces au reseau local​




🎯 Introduction​


Ce tutoriel vous permet d'installer un serveur VPN WireGuard sur un Raspberry Pi pour accéder à vos appareils locaux (tracker solaire, domotique, NAS, etc.) de manière sécurisée depuis l'extérieur, sans ouvrir de multiples ports sur votre box Internet.


⚠️ Pourquoi ne PAS ouvrir de ports directement ?​


Mauvaise pratique : Ouvrir les ports 80, 8080, 8123, etc. directement vers vos appareils


  • ❌ Expose vos services à Internet (scans, attaques)
  • ❌ Pas de chiffrement (HTTP)
  • ❌ Risque de vulnérabilités (interface web non sécurisée)
  • ❌ Difficile à gérer (un port par service)

Bonne pratique : Utiliser un VPN WireGuard


  • ✅ Un seul port ouvert (51820 UDP)
  • ✅ Chiffrement fort de bout en bout
  • ✅ Accès à tout votre réseau local de manière transparente
  • ✅ Rapide et léger
  • ✅ Reconnexion automatique



🚀 Pourquoi WireGuard ?​


CritèreWireGuardOpenVPNPort Forwarding
Vitesse⚡ Très rapide🐌 Lent⚡ Rapide
Sécurité🔒 Excellente🔒 Bonne❌ Aucune
Simplicité✅ Très simple❌ Complexe⚠️ Dangereuse
CPU💚 Léger🔴 Lourd💚 Aucun
Reconnexion✅ Instantanée⚠️ LenteN/A

WireGuard est le VPN moderne : rapide, sécurisé, et facile à configurer.




🛠️ Matériel nécessaire​


Hardware​


  • Raspberry Pi 3B+, 4, ou 5 (recommandé : Pi 4 2GB minimum)
  • Carte microSD (16GB minimum)
  • Alimentation officielle
  • Câble Ethernet (recommandé pour la stabilité)

Software​


  • Raspberry Pi OS (anciennement Raspbian) - Lite ou Desktop
  • Accès SSH ou écran + clavier
  • Box Internet avec accès admin

Prérequis réseau​


  • Accès à l'interface d'administration de votre box
  • (Optionnel) IP publique fixe ou service DynDNS



📦 Installation​


Étape 1 : Préparation du Raspberry Pi​


1.1 Connexion SSH au Pi​

ssh pi@192.168.1.X
# Mot de passe par défaut : raspberry (à changer !)


1.2 Mise à jour du système​

sudo apt update && sudo apt upgrade -y
sudo reboot


⏱️ Durée : 5-10 minutes selon la connexion




Étape 2 : Installation de WireGuard avec PiVPN​


PiVPN est un script qui automatise l'installation et la configuration de WireGuard.


2.1 Téléchargement et lancement​

curl -L https://install.pivpn.io | bash


2.2 Configuration guidée​


L'installateur va vous poser plusieurs questions :


QuestionRéponse recommandée
Interface réseaueth0 (Ethernet) ou wlan0 (WiFi)
Utilisateurpi (par défaut)
Activer UFW ?Oui (firewall)
ProtocoleWireGuard ⚠️ (pas OpenVPN)
Port51820 (défaut)
DNS1.1.1.1 (Cloudflare) ou 8.8.8.8 (Google)
IP publiqueLaisser auto-détecter ou entrer votre DynDNS

⏱️ Durée : 10-15 minutes


2.3 Redémarrage​

sudo reboot




👥 Configuration des clients​


Étape 3 : Créer un profil client​


Un profil = un appareil (smartphone, PC, tablette, etc.)

pivpn add


Exemple d'interaction :

Enter a Name for the Client: mon-telephone
Done! mon-telephone.conf successfully created!


Le fichier de configuration est créé dans /home/pi/configs/




Étape 4 : Récupérer le profil​


Option A : QR Code (pour smartphone)​

pivpn -qr mon-telephone


Un QR code s'affiche dans le terminal.


Sur votre smartphone :


  1. Installer l'app WireGuard (Android / iOS)
  2. Ouvrir l'app → +Scanner le QR code
  3. Activer la connexion



Option B : Fichier .conf (pour PC)​

cat ~/configs/mon-telephone.conf


Copier le contenu et :


Sur Windows/Mac/Linux :


  1. Installer WireGuard (Téléchargement)
  2. Ouvrir WireGuard → Ajouter un tunnelImporter depuis un fichier
  3. Coller le contenu ou importer le fichier .conf
  4. Activer la connexion



Étape 5 : Créer plusieurs profils (optionnel)​

pivpn add # Pour chaque appareil


Exemples :


  • mon-telephone
  • mon-laptop
  • tablette-salon
  • pc-bureau

💡 Conseil : Un profil par appareil pour pouvoir révoquer individuellement.




🌐 Redirection de port sur votre box​


Étape 6 : Configuration de la box Internet​


6.1 Trouver l'IP locale du Raspberry Pi​

hostname -I


Exemple de résultat : 192.168.1.50




6.2 Attribuer une IP fixe au Pi​


Dans l'interface de votre box (Orange, SFR, Bouygues, etc.) :


  1. DHCPBaux statiques ou Réservation d'adresse
  2. Associer l'adresse MAC du Pi à une IP fixe (ex: 192.168.1.50)

Ou directement sur le Pi (moins recommandé) :

sudo nano /etc/dhcpcd.conf


Ajouter à la fin :

interface eth0
static ip_address=192.168.1.50/24
static routers=192.168.1.1
static domain_name_servers=1.1.1.1 8.8.8.8




6.3 Redirection de port (NAT/PAT)​


Dans l'interface de votre box :


ParamètreValeur
NomWireGuard VPN
ProtocoleUDP
Port externe51820
Port interne51820
IP locale192.168.1.50 (IP du Pi)

Guides par FAI :





✅ Vérification et tests​


Étape 7 : Vérifier que WireGuard fonctionne​


7.1 Sur le Raspberry Pi​

sudo wg show


Résultat attendu :

interface: wg0
public key: xxx...xxx
private key: (hidden)
listening port: 51820

peer: yyy...yyy
endpoint: 82.xxx.xxx.xxx:xxxxx
allowed ips: 10.6.0.2/32
latest handshake: 30 seconds ago
transfer: 2.50 KiB received, 1.80 KiB sent


Si vous voyez latest handshake, c'est bon signe ! ✅




7.2 Depuis votre smartphone (en 4G/5G)​


  1. Désactiver le WiFi sur votre téléphone (passer en 4G)
  2. Activer WireGuard dans l'app
  3. Tester l'accès:
    • Ouvrir un navigateur
    • Aller sur http://192.168.1.100 (votre tracker solaire par exemple)
    • Si ça s'affiche → SUCCÈS ! 🎉



7.3 Vérifier votre IP​


Avec WireGuard activé :



Vous devez voir l'IP publique de votre box, pas celle de votre opérateur mobile.




🔧 Commandes utiles​


Gestion des clients​

# Lister tous les clients
pivpn list

# Afficher un QR code
pivpn -qr <nom-client>

# Supprimer un client
pivpn remove

# Voir les clients connectés
pivpn -c

# Statistiques
pivpn -d




Gestion du service WireGuard​

# Statut du service
sudo systemctl status wg-quick@wg0

# Redémarrer WireGuard
sudo systemctl restart wg-quick@wg0

# Arrêter WireGuard
sudo systemctl stop wg-quick@wg0

# Démarrer WireGuard
sudo systemctl start wg-quick@wg0

# Activer au démarrage (déjà fait par PiVPN)
sudo systemctl enable wg-quick@wg0




Logs et debug​

# Logs du service
sudo journalctl -u wg-quick@wg0 -f

# Debug PiVPN
pivpn debug

# Tester la connectivité depuis le Pi
ping 1.1.1.1




🌍 DynDNS (si pas d'IP fixe)​


Si votre FAI change régulièrement votre IP publique, utilisez un service DynDNS gratuit.


Services DynDNS recommandés​


  • DuckDNS - 100% gratuit, simple
  • No-IP - Gratuit avec renouvellement mensuel
  • Dynu - Gratuit



Installation DuckDNS sur le Pi​


1. Créer un compte sur DuckDNS​


  • Aller sur https://www.duckdns.org
  • Se connecter (Google, GitHub, etc.)
  • Créer un sous-domaine : mon-tracker.duckdns.org
  • Noter votre token

2. Configuration sur le Pi​

mkdir ~/duckdns
cd ~/duckdns
nano duck.sh


Contenu de duck.sh :

#!/bin/bash
echo url="https://www.duckdns.org/update?domains=mon-tracker&token=VOTRE_TOKEN&ip=" | curl -k -o ~/duckdns/duck.log -K -


⚠️ Remplacer :


  • mon-tracker par votre sous-domaine
  • VOTRE_TOKEN par votre token DuckDNS
chmod 700 duck.sh


3. Tester le script​

./duck.sh
cat duck.log


Résultat attendu : OK


4. Automatiser avec Cron​

crontab -e


Ajouter à la fin :

*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1


Sauvegarde : Ctrl+X → Y → Entrée




5. Mettre à jour PiVPN avec le DynDNS​

sudo nano /etc/pivpn/wireguard/setupVars.conf


Modifier la ligne :

pivpnHOST=mon-tracker.duckdns.org


Sauvegarder et quitter.




🛡️ Sécurité​


Étape 8 : Durcir la sécurité du Raspberry Pi​


8.1 Changer le mot de passe par défaut​

passwd


Choisir un mot de passe fort !




8.2 Désactiver l'authentification SSH par mot de passe​


Utiliser uniquement des clés SSH (recommandé)


Sur votre PC local :

ssh-keygen -t ed25519
ssh-copy-id pi@192.168.1.50


Puis sur le Pi :

sudo nano /etc/ssh/sshd_config


Modifier :

PasswordAuthentication no
PubkeyAuthentication yes


Redémarrer SSH :

sudo systemctl restart ssh




8.3 Changer le port SSH (optionnel)​

sudo nano /etc/ssh/sshd_config


Modifier :

Port 2222 # Au lieu de 22

sudo systemctl restart ssh


⚠️ Nouvelle connexion :

ssh -p 2222 pi@192.168.1.50




8.4 Installer Fail2Ban (protection contre le bruteforce)​

sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban




8.5 Vérifier le firewall UFW​

sudo ufw status


Doit afficher :

Status: active

To Action From
-- ------ ----
51820/udp ALLOW Anywhere
22/tcp ALLOW Anywhere


Si SSH n'est pas autorisé :

sudo ufw allow 22/tcp




🔍 Dépannage​


Problème : Impossible de se connecter au VPN​


Vérification 1 : Le service tourne-t-il ?​

sudo systemctl status wg-quick@wg0


Si inactif :

sudo systemctl start wg-quick@wg0




Vérification 2 : Le port est-il bien redirigé ?​


Tester depuis l'extérieur (4G) :

nc -vuz VOTRE_IP_PUBLIQUE 51820


Si "Connection refused" → problème de redirection de port




Vérification 3 : Logs WireGuard​

sudo journalctl -u wg-quick@wg0 -n 50




Problème : Connexion établie mais pas d'accès au réseau local​


Vérification 1 : IP forwarding activé ?​

sudo sysctl net.ipv4.ip_forward


Doit afficher net.ipv4.ip_forward = 1


Si 0 :

sudo nano /etc/sysctl.conf


Décommenter :

net.ipv4.ip_forward=1


Appliquer :

sudo sysctl -p




Vérification 2 : Firewall qui bloque ?​

sudo ufw status verbose


Autoriser le trafic WireGuard :

sudo ufw route allow in on wg0
sudo ufw reload




Problème : DynDNS ne se met pas à jour​

cat ~/duckdns/duck.log


Si KO :


  • Vérifier le token
  • Vérifier le nom de domaine
  • Tester manuellement : ./duck.sh



Problème : Déconnexions fréquentes​


Sur le client mobile, modifier la config :

[Interface]
...
PersistentKeepalive = 25


Cela envoie un ping toutes les 25 secondes pour maintenir la connexion.




📊 Résumé - Checklist finale​


✅ Sur le Raspberry Pi​


  • [ ] Raspberry Pi OS à jour
  • [ ] WireGuard installé via PiVPN
  • [ ] Au moins un profil client créé
  • [ ] IP fixe attribuée au Pi
  • [ ] Firewall UFW activé
  • [ ] Fail2Ban installé (optionnel)
  • [ ] DynDNS configuré (si pas d'IP fixe)

✅ Sur la box Internet​


  • [ ] Port 51820 UDP redirigé vers le Pi
  • [ ] IP du Pi réservée dans le DHCP

✅ Sur les clients (smartphone, PC)​


  • [ ] App WireGuard installée
  • [ ] Profil importé (QR code ou .conf)
  • [ ] Connexion testée en 4G/5G
  • [ ] Accès au réseau local vérifié



🎉 Félicitations !​


Vous avez maintenant un VPN WireGuard sécurisé pour accéder à :


  • 🌞 Votre tracker solaire
  • 🏠 Votre système domotique
  • 💾 Votre NAS
  • 🖥️ Tous vos appareils locaux

Sans exposer de services sur Internet !




📚 Ressources supplémentaires​





💬 Besoin d'aide ?​


Posez vos questions sur le forum :



Tutoriel rédigé pour la communauté ThéGuilde
Dernière mise à jour : Novembre 2025
 
Dernière édition:
Haut Bas