Ce guide fournit des instructions détaillées pour sécuriser l'accès à distance à votre routeur OpenWRT en utilisant le DNS dynamique (DDNS) avec No-IP et le VPN avec ZeroTier. Le script fourni automatise le processus d'installation et de configuration, permettant aux utilisateurs d'accéder à distance à leurs routeurs depuis n'importe où.
Pour une assistance supplémentaire, veuillez visiter le Forum OpenWRT.
Conditions préalabless
- Routeur OpenWRT: Assurez-vous que votre routeur fonctionne avec OpenWRT 19.07.
- Compte No-IP: Créez un compte sur No-IP ou tout autre service de DNS dynamique.
- Compte ZeroTier: Créez un compte sur ZeroTier.
- Accès SSH: Assurez-vous d'avoir activé l'accès SSH à votre routeur.
1. Créez un nom d'hôte No-IP
Créez un compte No-IP:
- Allez sur le site web de No-IP et créez un compte.
Créez un nom d'hôte:
- Connectez-vous à votre compte No-IP.
- Naviguez jusqu'à la section Dynamic DNS (DNS Dynamique) .
- Cliquez sur Add a Hostname (Ajouter un nom d'hôte).
- Entrez un nom d'hôte (par exemple, deadtest) et choisissez un domaine (par exemple, ddns.net)
- Cliquez sur Add Hostname (Ajouter un nom d'hôte)
2. Préparez le script
Enregistrez le script suivant sous le nom de setup_remote_access.sh sur votre machine locale et modifiez les variables suivantes:
- Télécharger le script: setup_remote_access.sh
# Définir les variables
NETWORK_ID='<networkID string>' # Remplacer par l'ID réseau réel
DOMAIN='<No-IP hostname>' # Nom d'hôte No-IP
USERNAME='<No-Username NOT EMAIL!>' # Remplacer par votre adresse email No-IP
PASSWORD='<Username password>' # Remplacer par votre mot de passe No-IP
3. Exécutez le script.
- Téléchargez le script: Téléchargez le script setup_remote_access.sh sur votre routeur. Remplacez <router_ip> par l'adresse IP de votre routeur.
scp setup_remote_access.sh root@<router_ip>:/tmp/
-
Exécutez le script sur le routeur:
ssh root@<router_ip>sh /tmp/setup_remote_access.sh
4. Autorisez l'appareil sur ZeroTier Central.
-
Connectez-vous à ZeroTier Central:
- Allez sur le tableau de bord de ZeroTier Central et connectez-vous.
-
Autorisez l'appareil:
- Trouvez votre appareil sous le réseau que vous avez spécifié et autorisez-le.
5. Vérifiez la configuration.
Sur le routeur:
- Vérifiez l'état du DDNS:
/etc/init.d/ddns status
- Forcez la mise à jour du DDNS:
/usr/lib/ddns/update_noip.sh
- Vérifiez l'état de ZeroTier:
zerotier-cli status
zerotier-cli listnetworks
Sur votre machine locale:
- Vérifiez la mise à jour du DDNS:
nslookup deadtest.ddns.net
- Testez l'accès SSH:
- Via le nom d'hôte DDNS:
- Via l'adresse IP ZeroTier:
ssh root@<zerotier_ip_address>
-
Problèmes de DDNS:
- Assurez-vous que les informations d'identification No-IP sont correctes.
- Vérifiez que le script de mise à jour du DDNS est exécutable.
- Recherchez les erreurs dans le journal de mise à jour du DDNS (/var/log/ddns/).
-
Problèmes liés à ZeroTier:
- Assurez-vous que le service ZeroTier est en cours d'exécution.
- Vérifiez que le périphérique est autorisé sur ZeroTier Central.
- Vérifiez qu'il n'y a pas de problèmes de connectivité réseau.
-
Problèmes d'accès SSH:
- Vérifiez que le service SSH fonctionne (/etc/init.d/dropbear status).
- Vérifiez que les règles du pare-feu sont correctement configurées pour autoriser l'accès SSH.
En suivant ce guide, vous pouvez mettre en place un accès distant sécurisé à votre routeur OpenWRT en utilisant No-IP DDNS et ZeroTier VPN. Cette configuration vous permet de gérer votre routeur depuis n'importe quel endroit disposant d'une connexion Internet, ce qui est à la fois pratique et sûr.
Sécurité supplémentaire: Utilisation de paires de clés SSH
Pour renforcer la sécurité et minimiser le risque d'attaques par force brute, il est recommandé d'utiliser des paires de clés SSH plutôt que des mots de passe pour l'authentification.
Générez une paire de clés SSH
Sur votre machine locale, générez une paire de clés SSH si vous n'en avez pas déjà une:
-
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Cela créera une clé publique (~/.ssh/id_rsa.pub) et une clé privée (~/.ssh/id_rsa).
Copiez la clé publique sur le routeur
Copiez et collez votre clé publique sur le routeur (https://192.168.1.1/cgi-bin/luci/admin/system/admin/sshkeys).
-
cat ~/.ssh/id_rsa.pub
Désactivez l'authentification par mot de passe
Après avoir copié votre clé publique, désactivez l'authentification par mot de passe sur votre routeur afin d'éviter les attaques par force brute:
- Modifiez la configuration de Dropbear:
vi /etc/config/dropbear
- Modifiez la configuration pour désactiver l'authentification par mot de passe: Ajoutez la ligne suivante ou modifiez-la si elle existe déjà:
config dropbear option PasswordAuth 'off' option RootPasswordAuth 'off'
- Redémarrez le service Dropbear:
/etc/init.d/dropbear restart
Testez l'authentification par clé SSH
Essayez de vous connecter en SSH à votre routeur pour vous assurer que l'authentification par clé fonctionne et que l'authentification par mot de passe est désactivée:
-
ssh root@<router_ip>
Si l'authentification réussit sans demander de mot de passe, l'authentification par clé SSH est correctement configurée.

