Skip to main content

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

openwrt12
openwrt13

Dans le filtre, recherchez :

openvpn-openssl
luci-app-openvpn

openwrt14

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

openwrt15

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 |

openwrt16
openwrt17

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

openwrt18
openwrt19
openwrt20

Configuration du firewall

Dans :

Network → Firewall

Créez une zone dédiée au VPN :

openwrt21
openwrt22

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 :

openwrt23

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

openwrt24

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.