8_VPN
Installation des packages OpenVPN
Pour activer OpenVPN sur OpenWRT, installez les deux packages suivants :
- openvpn-openssl
- luci-app-openvpn
Rendez‑vous dans :
System → Software


Dans le filtre, recherchez :
openvpn-openssl
luci-app-openvpn

Installez les deux packages.
Génération des certificats avec EasyRSA
Téléchargez EasyRSA, extrayez le dossier, puis ouvrez un terminal PowerShell dans ce dossier :
.\EasyRSA-Start.bat

Dans le shell EasyRSA, exécutez :
easyrsa init-pki
easyrsa build-ca nopass
easyrsa gen-dh
easyrsa build-server-full server nopass
easyrsa build-client-full client1 nopass
Confirmez avec yes si demandé.
Vous devez obtenir les fichiers suivants :
ca.crt
dh.pem
server.crt
server.key
client1.crt
client1.key
Renommez dh.pem en dh2048.pem.
Transfert des fichiers vers OpenWRT
Dans LuCI → VPN → OpenVPN, importez les fichiers :
| OpenWRT (champ) | Fichier à envoyer | ||-| | Certificate authority | ca.crt | | Diffie-Hellman parameters | dh2048.pem | | Local certificate | server.crt | | Local private key | server.key |


Cliquez sur Save & Apply.
Configuration du serveur OpenVPN
Connectez‑vous en SSH et créez le fichier :
/etc/openvpn/server.conf
Exemple :
port 1194
proto udp
dev tun0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
push "route 192.168.200.0 255.255.255.0"
push "route 192.168.220.0 255.255.255.0"
push "route 192.168.230.0 255.255.255.0"
cipher AES-256-CBC
auth SHA256
verb 3
Vous pouvez bien sûr adapter selon votre architecture.
Déclaration de l’interface tun0
Ajoutez dans /etc/config/network :
config interface 'tun0'
option proto 'none'
option device 'tun0'
Puis créez l’interface dans :
Network → Interfaces → Add new interface



Configuration du firewall
Dans :
Network → Firewall
Créez une zone dédiée au VPN :


Cette zone doit :
- accepter INPUT
- accepter OUTPUT
- accepter FORWARD
- être autorisée vers LAN et WAN
⚠️ Attention : ceci est un LAB, pas une configuration de production.
Ensuite, ouvrez le port 1194/UDP :

Tu as également ajouté deux règles pour autoriser une IP spécifique à accéder au LAN :

Redémarrage des services
/etc/init.d/network restart
/etc/init.d/firewall restart
/etc/init.d/openvpn restart
Problème de MTU ?
Ajoutez dans /etc/openvpn/server.conf :
mssfix 1400
tun-mtu 1400
Fichier client OpenVPN
Voici un exemple de fichier client.ovpn :
client
dev tun
proto udp
remote TON_IP_PUBLIQUE 1194
resolv-retry infinite
nobind
persist-key
persist-tun
cipher AES-256-CBC
auth SHA256
<ca>
(COLLE ICI le contenu de ca.crt)
</ca>
<cert>
(COLLE ICI le contenu de client1.crt)
</cert>
<key>
(COLLE ICI le contenu de client1.key)
</key>
verb 3
Ce fichier peut être utilisé sur Windows, Linux, Android, iOS, etc.