WireGuard
leukOS embarque WireGuard dans ses images OS Buildroot et peut lever un tunnel VPN au boot via un script d'init.
Ce qui est configuré dans le projet
BR2_PACKAGE_WIREGUARD_TOOLS=ydans les defconfigs Buildroot.BR2_PACKAGE_IPROUTE2=yetBR2_PACKAGE_BASH=y(requis pourwg-quick).- Script d'init SysV :
S89wireguard. - Modèle de configuration :
/etc/wireguard/wg0.conf.example.
Le script S89wireguard démarre le tunnel avant les services applicatifs (S90+) et :
- ignore proprement si
wg-quickn'est pas présent ; - ignore si
/etc/wireguard/wg0.confest absent ; - ignore si la conf contient encore
CHANGE_ME; - continue le boot même en cas d'échec du tunnel.
Fichiers ajoutés (overlay)
Pour chaque overlay Raspberry Pi (rpi, rpi3plus, rpi4, rpi5) :
etc/init.d/S89wireguardetc/wireguard/wg0.conf.example
Activer WireGuard sur une cible
- Copier le modèle :
cp /etc/wireguard/wg0.conf.example /etc/wireguard/wg0.conf
-
Remplacer toutes les valeurs
CHANGE_MEdanswg0.conf. -
Protéger les permissions :
chmod 600 /etc/wireguard/wg0.conf
- Démarrer immédiatement sans reboot :
/etc/init.d/S89wireguard start
- Vérifier :
ip addr show wg0
wg show
Exemple minimal
[Interface]
Address = 10.66.0.2/24
PrivateKey = <node_private_key_base64>
ListenPort = 51820
[Peer]
PublicKey = <hub_public_key_base64>
PresharedKey = <preshared_key_base64>
AllowedIPs = 10.66.0.0/24
Endpoint = vpn.example.com:51820
PersistentKeepalive = 25
Génération de clés
wg genkey | tee private.key | wg pubkey > public.key
wg genpsk > psk.key
Dépannage rapide
- Interface absente : vérifier que
wg0.confexiste et ne contient plusCHANGE_ME. wg-quick: not found: reconstruire l'image avec une defconfig leukOS à jour.- Pas de handshake : vérifier
Endpoint, ports, NAT/firewall et clés/public keys.