Ce guide vous aidera à configurer OpenVPN sur votre routeur Linksys OpenWRT. En suivant ces étapes, vous pourrez vous connecter en toute sécurité à votre routeur depuis n'importe où dans le monde en utilisant un VPN.
Si vous rencontrez des problèmes ou si vous avez besoin d'aide, veuillez vous référer au Forum OpenWRT ou la documentation OpenVPN.
- Routeur OpenWRT: Assurez-vous que votre routeur est un modèle MBE70 fonctionnant avec OpenWRT
- Accès SSH: Activer l'accès SSH sur le routeur
- Vérifier la situation de NAT-Traversal: Si vous êtes dans cette situation, il y a une étape supplémentaire à réaliser.
1. Téléchargez le script d'installation
- Accédez au routeur: Utilisez un client SSH pour vous connecter à votre routeur.
ssh root@<router_ip>
- Téléchargez le script: Téléchargez le script d'installation sur votre routeur.
wget -O /tmp/setup_openvpn_server.sh <link_to_script>
Remarque: Veuillez vérifier les IP utilisées dans les variables VPN_POOL et VPN_DNS pour vous assurer qu'elles ne sont pas en conflit avec votre réseau. Le script ci-dessus utilise le réseau 10.8.0.0/24. Si ce réseau est déjà utilisé, soit du côté du routeur, soit du côté du client, vous ne pourrez pas établir de connexion VPN. Dans ce cas, il vous suffit de modifier ces variables.
2. Rendez le script exécutable
chmod +x /tmp/setup_openvpn_server.sh
3. Exécutez le script d'installation
sh /tmp/setup_openvpn_server.sh
Le script va:
- Installer les paquets nécessaires (openvpn-openssl and openvpn-easy-rsa).
- Générer les clés et les certificats.
- Configurer le serveur OpenVPN.
- Configurer les règles du pare-feu.
4. Transférez le fichier de configuration du client
Après avoir exécuté le script, vous devez transférer le fichier de configuration du client sur votre machine locale:
scp root@<router_ip>:/etc/openvpn/openvpn_client.ovpn /path/to/local/machine
5. Vérifiez la traversée de la NAT
Vous devez télécharger le script de vérification de la NAT et l'exécuter sur votre routeur. Il vous dira si vous êtes dans une situation de NAT:
wget -O /tmp/check_nat.sh <link_to_script>
chmod +x /tmp/check_nat.sh
/tmp/check_nat.sh
Le script fournit le diagnostic. Si vous obtenez le résultat ci-dessous, votre routeur est derrière un NAT:
L'appareil est probablement derrière un NAT.
Si vous n'êtes pas dans cette situation, vous pouvez passer directement à l'étape 6.
Si vous êtes dans cette situation, vous devez suivre les instructions ci-dessous. Notez que l'étape 5.a n'est obligatoire que si vous n'avez pas d'IP publique statique. Si vous êtes certain d'avoir une IP publique statique, vous pouvez passer directement à l'étape 5.b.
a. Configurez un service DNS dynamique
Il existe de nombreux services DNS dynamiques gratuits. Vous pouvez choisir celui que vous voulez. Pour les besoins de l'exemple, nous allons choisir https://www.dynu.com. Il vous sera demandé de choisir un nom de domaine. Disons que j'ai choisi “remote_me.ddnsfree.com”.
Vous devez maintenant configurer votre routeur pour qu'il transmette son adresse au service. Ainsi, si votre IP change, vous n'avez pas besoin de la configurer manuellement sur dynu.com, le routeur le fait pour vous automatiquement.
Pour ce faire, connectez-vous à votre routeur et sélectionnez Dynamic DNS (DNS dynamique):

Editez ensuite votre service my_ddns_IPv4 ou créez-en un nouveau:

Allez ensuite dans les paramètres avancés et configurez comme suit:

Si vous ne le faites pas, le routeur essaiera de partager son adresse IP privée, ce qui sera rejeté par le service Dynamic DNS.
Une fois que vous avez terminé, cliquez sur save and apply (enregistrer et appliquer) et retournez à la page DynamicDNS. Là, vous devrez démarrer le service et cliquer sur Start (Démarrer):

b. Modifiez le fichier OpenVPN
Pour ceux qui n'ont pas besoin du service DNS dynamique car ils ont une IP statique, veuillez récupérer votre IP statique. Vous pouvez demander à votre moteur de recherche internet préféré ou lancer une commande plus minimaliste:
curl ifconfig.me
Maintenant que nous connaissons notre IP, nous devons éditer le fichier opvn décrivant la connexion. Ouvrez le fichier “openvpn_client.ovpn” que vous avez récupéré plus tôt et éditez la ligne 4:
remote 192.168.1.22 1194
devient: (l'adresse IP ci-dessus est juste un exemple):
remove my_own_chosen_ddns_name.my_ddns_service.com 1194
ou si vous connaissez votre IP publique statique:
remote x.x.x.x 1194
Très bien, maintenant sauvegardez votre fichier. Vous pouvez passer à l'étape suivante.
c. Configurez le routeur du ISP
C'est la partie la plus délicate et elle dépend vraiment de votre fournisseur d'accès, c'est donc là qu'il sera compliqué de fournir des explications claires. Tout d'abord, vous devez vous connecter au routeur qui effectue le NAT. Pour trouver l'IP de ce routeur, vous pouvez utiliser la commande suivante sur votre routeur OpenWRT:
route
Vous obtiendrez quelque chose comme ceci:
Table de routage IP du kernel
Vous devez rechercher la passerelle par défaut. Dans le cas ci-dessus, la passerelle par défaut est 192.168.1.1.
Maintenant, vous devez vous connecter à ce périphérique et trouver la configuration de routage / NAT. Ensuite, vous devez configurer le port 1194 venant de l'extérieur, pour qu'il soit transféré au port 1194 à l'intérieur de votre réseau privé vers votre appareil OpenWRT. Voici comment cela se passe dans mon cas:

Encore une fois, cela dépendra de votre fournisseur d'accès. Si vous avez réussi cette partie, vous pouvez enfin passer à l'étape 6!
Si vous n'avez pas réussi à passer cette étape, ne paniquez pas, une autre configuration est possible, veuillez consulter Configuration de l'accès à distance avec ZeroTier VPN.
6. Connectez-vous en utilisant le client OpenVPN
- Installez le client OpenVPN: Téléchargez et installez le client OpenVPN pour votre système d'exploitation depuis le site officiel d'OpenVPN.
- Importez le fichier de configuration: Ouvrez le client OpenVPN et importez le fichier openvpn_client.ovpn que vous avez transféré sur votre machine locale.
- Connectez-vous au VPN: Sélectionnez la configuration importée et cliquez sur Connect (Connecter).
7. Vérifiez la connexion
Une fois connecté, vérifiez que votre adresse IP a changé et que vous pouvez accéder aux ressources internes de votre réseau. Si vous n'avez pas édité le script OpenVPN_Remote.sh fourni au début de cet article, alors vous pouvez essayer de SSH votre routeur avec l'IP suivante: 10.8.0.1
Problèmes courants
- Connexion refusée: Assurez-vous que le pare-feu de votre routeur autorise les connexions entrantes sur le port OpenVPN.
Erreurs de configuration: Vérifiez les journaux OpenVPN pour toute erreur de configuration:
logread -e openvpn
Pour les utilisateurs avancés, vous pouvez personnaliser davantage la configuration d'OpenVPN. Editez le fichier de configuration du serveur situé dans /etc/openvpn/openvpn_server.conf et effectuez les changements nécessaires.
Considérations relatives à la sécurité
- Utilisez des mots de passe forts: Assurez-vous que tous les mots de passe sont forts et sécurisés.
- Maintenez le logiciel à jour: Mettez régulièrement à jour OpenWRT et les paquets installés avec les dernières versions.
Contrôlez les journaux: Vérifiez régulièrement les journaux OpenVPN et les journaux du système pour toute activité inhabituelle.

