NordVPN prend-il en charge OpenWRT ?
Des rapports indiquent que les routeurs dotés du micrologiciel OpenWRT prennent en charge les VPN tels que NordVPN. Cependant, sachez que le personnel de NordVPN n’a pas testé la configuration suivante ; elle a été partagée et testée par nos merveilleux clients. NordVPN souhaite notamment remercier Unwind, un membre actif de la communauté OpenWRT, pour son aide précieuse concernant les instructions OpenWRT à jour. Consultez notre guide si vous souhaitez configurer NordVPN à l’aide de nordvpnlite.
Instructions GUI
Ce guide vous expliquera comment configurer une connexion NordVPN sur des routeurs dotés du micrologiciel OpenWRT, par le biais de l’interface Web LuCI.
- Vous pouvez accéder à l’interface LuCI de votre routeur OpenWRT en saisissant son adresse IP locale dans votre navigateur Web et en vous connectant. L’adresse IP par défaut est 192.168.1.1 et le nom d’utilisateur est root.
REMARQUE : Le système ne définit pas de mot de passe par défaut ; vous pouvez donc laisser cet emplacement vide. Toutefois, lorsque vous vous connectez, le système affiche un message vous demandant d’en définir un.
Pour ce faire, cliquez sur Système>Administration et vous pourrez créer un mot de passe.
- Une fois connecté, sélectionnez l’onglet Système et choisissez Logiciel.
- Cliquez sur le bouton Mettre à jour les listes, attendez que le processus se termine, puis cliquez sur Rejeter.
- Installez les packages suivants en tapant leur nom dans le champ Filtre et en cliquant sur Installer...
- openvpn-openssl
- ip-full
- luci-app-openvpn
- Cliquez sur Enregistrer et appliquer et actualisez la page du routeur. Vous devriez maintenant voir un nouvel onglet appelé VPN. Cliquez dessus et choisissez OpenVPN dans la liste déroulante.
- Vous devez maintenant télécharger les fichiers de configuration du client OpenVPN. Ensuite, vous pouvez vous connecter à un serveur recommandé via votre NordAccount.
Suivez les étapes ci-dessous pour trouver les identifiants de service pour la configuration manuelle de la connexion :-
-
Connectez-vous à votre Nord Account, cliquez sur NordVPN et, sous Configuration manuelle, cliquez sur Informations d'identification du service. Vous trouverez votre nom d'utilisateur et votre mot de passe qui seront nécessaires pour vous connecter manuellement.
- Vous devrez alors télécharger les fichiers de configuration du client OpenVPN.
Suivez les étapes ci-dessous pour trouver le meilleur serveur pour votre connexion :-
Connectez-vous à votre Nord Account et cliquez sur NordVPN.
- Faites défiler vers le bas jusqu’à Paramètres avancés et cliquez sur Configurer NordVPN manuellement.
- Sélectionnez l’onglet Recommandation de serveur. Notre algorithme vous recommandera le meilleur serveur selon votre emplacement.
- En cliquant sur Filtres avancés, vous pouvez personnaliser les serveurs recommandés en sélectionnant le Type de serveur et le Protocole de sécurité.
Si vous souhaitez sélectionner un serveur spécifique, procédez comme suit :- Sous Configurer NordVPN manuellement, sélectionnez Fichiers de configuration OpenVPN.
- Vous pouvez trouver le serveur auquel vous souhaitez vous connecter en utilisant la barre Recherche ou en faisant défiler vers le bas. Ensuite, vous pouvez le télécharger en cliquant sur Télécharger UDP ou Télécharger TCP.
Dans ce guide, nous utiliserons le serveur us5104.nordvpn.com.
- Sous Configurer NordVPN manuellement, sélectionnez Fichiers de configuration OpenVPN.
-
Connectez-vous à votre Nord Account et cliquez sur NordVPN.
-
Connectez-vous à votre Nord Account, cliquez sur NordVPN et, sous Configuration manuelle, cliquez sur Informations d'identification du service. Vous trouverez votre nom d'utilisateur et votre mot de passe qui seront nécessaires pour vous connecter manuellement.
-
- Dans la section Chargement du fichier de configuration OVPN, nommez la connexion VPN dans le champ nom de l’instance (nous l’avons nommée « nordvpn_us »). Cliquez ensuite sur le bouton choisir un fichier, localisez le fichier du serveur téléchargé et cliquez sur charger.
- Dans la section Instances OpenVPN, cliquez sur le bouton Modifier à côté de l’instance que vous venez de créer.
-
Entrez vos identifiants de service NordVPN, votre nom d’utilisateur et votre mot de passe dans le champ inférieur sur des lignes séparées.
nom d'utilisateur
mot de passeVous trouverez vos identifiants de service NordVPN (nom d’utilisateur et mot de passe) dans le tableau de bord Nord Account.
- Copiez maintenant le chemin d’accès dans le fichier d’identifiants, qui est indiqué juste au-dessus du champ contenant les identifiants, et collez-le à côté de la ligne « auth-user-pass » dans la section fichier de configuration au-dessus.
Il devrait ressembler à auth-user-pass /etc/openvpn/nordvpn_us.auth
- Pour vous connecter au serveur VPN, cliquez sur la case Activé puis sur le bouton Démarrer à côté de l’instance NordVPN créée.
- Cliquez sur le bouton enregistrer et appliquer en bas.
- En haut du menu de recherche, survolez Système et cliquez sur Redémarrer. Une autre page s’ouvrira. Cliquez sur le bouton Réinitialiser, puis reconnectez-vous.
- Survolez l’onglet réseau en haut de la page et choisissez interfaces :
1. Cliquez sur Ajouter une nouvelle interface.
2. Dans la section nom, écrivez nordvpntun.
3. Cliquez sur protocole et choisissez non géré.
4. Dans le menu déroulant interface, saisissez le nom tun0 dans le champ du bas -- custom -- et appuyez sur Entrer.
- Cliquez sur Créer une interface et enregistrer.
- Choisissez l’onglet réseau en haut, puis accédez à la section pare-feu.
- Cliquez sur le bouton ajouter et paramétrez-le comme suit :
- Nommez-le « vpnfirewall ».
- Réglez l’option « Entrée » sur « Rejeter ».
- Laissez « Sortie » sur « Accepter » et « Transférer » sur « Rejeter ».
- Cochez l’option « Détournement ».
- Cochez l’option « Serrage MSS ».
- Dans le menu déroulant « Réseaux couverts », choisissez « nordvpntun ».
- Dans le menu déroulant « Autoriser le transfert depuis les zones sources », choisissez « lan ».
- Cliquez sur le bouton « Enregistrer ».
- Dans la section Zones, recherchez la zone nommée lan, et cliquez sur le bouton Modifier.
- Dans la liste déroulante Autoriser le transfert depuis les zones sources, cochez l’option NordVPN.
- Encore une fois, cliquez sur Réseau en haut de la page et choisissez DHCP et DNS dans la liste déroulante.
- Trouvez l’option Transferts DNS dans l’onglet paramètres généraux et entrez les adresses DNS de NordVPN. Les adresses sont : 103.86.96.100 et 103.86.99.100
- Accédez à l’onglet fichiers de résolution et d’hébergement, cochez la case ignorer le fichier de résolution, et cliquez sur le bouton Enregistrer et appliquer.
- Retournez sur l’onglet VPN > OpenVPN.
- Dans la section Instances OpenVPN, cochez la case Activer à côté de l’option NordVPN dans la liste, et cliquez sur le bouton Enregistrer et appliquer.
- Cliquez de nouveau sur le bouton démarrer pour vous connecter au serveur VPN.
Instructions CLI
Si vous souhaitez un tutoriel plus avancé, optez plutôt pour ce guide. Pour bénéficier des avantages d’un VPN sur OpenWrt, vous devez disposer d’un routeur équipé du micrologiciel OpenWrt et d’un client OpenVPN activé. La page principale du micrologiciel est https://openwrt.org/.
- Tout d’abord, vous devez être en mesure d’accéder à votre routeur à l’aide de SSH en utilisant son adresse IP LAN. Par défaut, l’adresse IP est 192.168.1.1 et le nom d’utilisateur est root ; toutefois, si vous modifiez l’une des valeurs par défaut, l’adresse IP peut être différente.
-
Le routeur n’a pas le paquet OpenVPN dans l’image du micrologiciel par défaut. Pour l’installer, exécutez la commande suivante :
opkg update opkg install openvpn-openssl opkg install ip-fullVous pouvez également installer le composant LuCI de la configuration OpenVPN, mais il est facultatif. Vous pouvez le faire en exécutant cette commande :
opkg install luci-app-openvpn -
Une fois que vous avez installé le paquet OpenVPN, vous pouvez le lancer automatiquement au démarrage du routeur en exécutant cette commande :
/etc/init.d/openvpn enable - Vous devrez ensuite télécharger les fichiers de configuration du serveur. Suivez ces étapes pour cela :
-
Connectez-vous à votre Nord Account et cliquez sur NordVPN.
- Faites défiler vers le bas jusqu’à Paramètres avancés et cliquez sur Configurer NordVPN manuellement.
- Sélectionnez l’onglet Recommandation de serveur. Notre algorithme vous recommandera le meilleur serveur selon votre emplacement.
- En cliquant sur Filtres avancés, vous pouvez personnaliser les serveurs recommandés en sélectionnant le Type de serveur et le Protocole de sécurité.
Si vous souhaitez sélectionner un serveur spécifique, procédez comme suit :- Sous Configurer NordVPN manuellement, sélectionnez Fichiers de configuration OpenVPN.
- Vous pouvez trouver le serveur auquel vous souhaitez vous connecter en utilisant la barre Recherche ou en faisant défiler vers le bas. Ensuite, vous pouvez le télécharger en cliquant sur Télécharger UDP ou Télécharger TCP.
- Sous Configurer NordVPN manuellement, sélectionnez Fichiers de configuration OpenVPN.
-
Connectez-vous à votre Nord Account et cliquez sur NordVPN.
-
Dans ce guide, nous avons utilisé le serveur uk2054.nordvpn.com, mais vous devriez utiliser le serveur recommandé par le site Web.
Pour télécharger un fichier de serveur, sélectionnez le pays où vous souhaitez vous connecter, cliquez sur Afficher les protocoles disponibles, faites un clic droit sur Télécharger la configuration pour OpenVPN TCP ou OpenVPN UDP et choisissez Copier l’adresse du lien.
Ensuite, retournez à votre session SSH et exécutez la commande suivante :wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/uk2054.nordvpn.com.udp.ovpn
Cependant, utilisez le lien que vous avez copié pour votre fichier de serveur spécifique. Cette commande télécharge le fichier de configuration dans le répertoire /etc/openvpn pour en faciliter l’accès.
Vous pouvez également télécharger le fichier de configuration de serveur sur une autre machine et le transférer vers le routeur OpenWrt par d’autres méthodes, comme les protocoles SCP ou SFTP.
Pour les versions plus anciennes d’OpenWrt :
vous pouvez télécharger une archive ici : https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. Dans l’archive téléchargée, vous trouverez les fichiers correspondants avec les extensions .crt et .key. Les fichiers sont spécifiques à chaque serveur VPN.
-
La configuration d’OpenVPN pour NordVPN exige que vous indiquiez le nom d’utilisateur, les identifiants de service et le mot de passe pour NordVPN à chaque lancement d’OpenVPN. Toutefois, nous allons procéder à quelques réglages afin que les identifiants soient fournis automatiquement.
Tout d’abord, pour faciliter le processus, nous allons installer l’éditeur de texte Nano en exécutant la commande suivante :opkg install nanoSinon, vous pouvez utiliser l’éditeur de texte vi intégré. Pour plus d’informations concernant les éditeurs de texte, consultez cet article.
Ouvrez alors le fichier de configuration du serveur téléchargé avec l’éditeur de texte Nano. Dans notre cas, la commande serait la suivante :nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpnEnsuite, ajoutez le mot « secret » (sans les guillemets) à la chaîne « auth-user-pass ». La ligne obtenue devrait être :
auth-user-pass secretVous devez créer un nouveau fichier secret pour stocker les informations d’identification du service NordVPN. Pour ce faire, exécutez la commande suivante :
nano /etc/openvpn/secretCeci créera le nouveau fichier et l’ouvrira avec l’éditeur de texte Nano.
Sur la première ligne du fichier, saisissez votre nom d’utilisateur de service NordVPN, et sur la seconde ligne, votre mot de passe de service pour NordVPN.Vous trouverez vos identifiants de service NordVPN (nom d’utilisateur et mot de passe) dans le tableau de bord Nord Account.
- Configurez OpenVPN en utilisant le fichier de configuration téléchargé en procédant selon l’une des deux méthodes suivantes :
-
Changez l’extension du fichier de .ovpn en .conf, ce qui permettra à OpenVPN de le trouver automatiquement par son extension.
Pour ce faire, vous pouvez utiliser la commande mv :mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf -
Indiquez le nom du fichier dans « /etc/config/openvpn » avec les commandes « uci » suivantes :
uci set openvpn.nordvpn=openvpn uci set openvpn.nordvpn.enabled='1' uci set openvpn.nordvpn.config='/etc/openvpn/uk2054.nordvpn.com.udp.ovpn' uci commit openvpnEnsuite, le fichier « /etc/config/openvpn » devrait contenir les chaînes de caractères suivantes :
config openvpn 'nordvpn' option enabled '1' option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'Vous pouvez le vérifier en exécutant cette commande :
tail /etc/config/openvpnVous pouvez également changer l’extension du fichier de .ovpn en .conf et le mentionner dans le fichier « /etc/config/openvpn ». Toutefois, dans ce cas, OpenVPN ne démarrera qu’une seule fois avec ce fichier de configuration.
-
-
Créez une nouvelle interface réseau en exécutant les commandes suivantes :
uci set network.nordvpntun=interface uci set network.nordvpntun.proto='none' uci set network.nordvpntun.ifname='tun0' uci commit networkLe fichier « /etc/config/network » contiendra désormais les chaînes de caractères suivantes en annexe :
config interface 'nordvpntun' option proto 'none' option ifname 'tun0'Vous pouvez le vérifier en exécutant cette commande :
tail /etc/config/network -
Créez une nouvelle zone de pare-feu et ajoutez une règle de transfert du LAN vers le VPN en exécutant les commandes suivantes :
uci add firewall zone uci set firewall.@zone[-1].name='vpnfirewall' uci set firewall.@zone[-1].input='REJECT' uci set firewall.@zone[-1].output='ACCEPT' uci set firewall.@zone[-1].forward='REJECT' uci set firewall.@zone[-1].masq='1' uci set firewall.@zone[-1].mtu_fix='1' uci add_list firewall.@zone[-1].network='nordvpntun' uci add firewall forwarding uci set firewall.@forwarding[-1].src='lan' uci set firewall.@forwarding[-1].dest='vpnfirewall' uci commit firewallSi cela a été correctement effectué, le fichier « /etc/config/firewall » devrait contenir les chaînes de caractères suivantes :
config zone option name 'vpnfirewall' option input 'REJECT' option output 'ACCEPT' option forward 'REJECT' option masq '1' option mtu_fix '1' list network 'nordvpntun' config forwarding option src 'lan' option dest 'vpnfirewall'Vous pouvez le vérifier en exécutant cette commande :
tail -13 /etc/config/firewallCela affichera les 13 dernières lignes contenant les chaînes de caractères ci-dessus.
-
Vous devrez alors configurer les serveurs DNS de NordVPN. L’approche la plus simple consiste à utiliser le DNS NordVPN pour l’interface WAN du routeur. Pour ajouter le DNS de NordVPN, exécutez les commandes suivantes :
uci set network.wan.peerdns='0' uci del network.wan.dns uci add_list network.wan.dns='103.86.96.100' uci add_list network.wan.dns='103.86.99.100' uci commit
REMARQUE : Si vous recevez un message d'erreur « uci: Entry not found » après avoir exécuté la commande uci del network.wan.dns, vous pouvez l'ignorer.
Le fichier « /etc/config/network » devrait comporter la section « wan » avec les trois chaînes du bas ajoutées :config interface 'wan' <...> option peerdns '0' list dns '103.86.96.100' list dns '103.86.99.100'
Vous pouvez vérifier en exécutant la commande et en trouvant l'interface « wan » dans la sortie :cat /etc/config/networkVous pouvez également ajouter d'autres adresses DNS, comme celle de Google, en exécutant les commandes suivantes :
uci set network.wan.peerdns='0' uci del network.wan.dns uci add_list network.wan.dns='8.8.8.8' uci add_list network.wan.dns='8.8.4.4' uci commitLes chaînes ajoutées doivent être similaires aux précédentes.
(Facultatif) Killswitch pour OpenWRT 22.02 ou versions antérieures (iptables)
Pour éviter les fuites de trafic en cas de déconnexion du tunnel VPN, procédez comme suit :
-
Ouvrez le fichier pare-feu en utilisant un éditeur de texte :
sudo nano /etc/firewall.user -
Ajoutez le contenu suivant :
# Ce fichier est interprété comme un script shell. # Mettez vos règles iptables personnalisées ici, et elles seront exécutées à chaque (re)démarrage du pare-feu # Les chaînes internes du pare-feu uci sont vidées et recréées lors du rechargement, donc # mettez les règles personnalisées dans les chaînes racines, par exemple INPUT ou FORWARD, ou dans les # chaînes spéciales de l’utilisateur, par exemple input_wan_rule ou postrouting_lan_rule. if (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then iptables -I forwarding_rule -j REJECT fi -
Créez un fichier appelé « 99-prevent-leak » dans le dossier « /etc/hotplug.d/iface » en exécutant cette commande :
nano /etc/hotplug.d/iface/99-prevent-leak -
Ajoutez le contenu suivant au script :
#!/bin/sh if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (iptables -C forwarding_rule -j REJECT); then iptables -D forwarding_rule -j REJECT fi if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then iptables -I forwarding_rule -j REJECT fi
(Facultatif) Killswitch pour OpenWRT 22.03 ou nouvelles versions (nftables)
Veuillez suivre les étapes ci-dessous pour éviter les fuites de trafic si le tunnel VPN ne fonctionne pas.
-
Modifiez le fichier de règles de pare-feu personnalisé :
sudo nano /etc/firewall.user -
Écrivez cette fonction :
# lorsque l’interface tun0 est hors service et qu’aucune chaîne « forwarding_rule » n’existe dans nftables, procédez comme suit. if (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule; then # ajouter une nouvelle chaîne nommée forwarding_rule nft add chain inet fw4 forwarding_rule # ajouter une règle dans la chaîne forward pour passer à la chaîne forwarding_rule nft add rule inet fw4 forward jump forwarding_rule # ajouter une règle dans la chaîne forward_rule pour rejeter tout le trafic nft add rule inet fw4 forwarding_rule reject fi -
Ensuite, vous devez créer un script hotplug pour enclencher automatiquement le Kill Switch :
sudo nano /etc/hotplug.d/iface/99-prevent-leak -
Écrivez le contenu suivant dans le script :
#!/bin/sh # si l’action ifup est déclenchée, l’interface tun0 est active et la chaîne nftables « forwarding_rule » contient le texte « reject », alors videz cette chaîne afin d’autoriser le trafic. if [ "$ACTION" = ifup ] && (ip a s tun0 up) && (nft list chain inet fw4 forwarding_rule | grep -q 'reject'); then nft flush chain inet fw4 forwarding_rule fi # si l’action ifdown est déclenchée, l’interface tun0 n’est pas active et la chaîne nftables « forwarding_rule » ne contient pas le texte « reject », alors ajoutez une règle à cette chaîne afin de rejeter tout le trafic. if [ "$ACTION" = ifdown ] && (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule | grep -q 'reject'); then nft add rule inet fw4 forwarding_rule reject fi
Reconnexion automatique du script
La connexion OpenVPN peut parfois se bloquer avec une sortie de journal du type « couldn’t resolve host… ». Dans ce cas, le tunnel VPN est toujours présent, mais la connexion est perdue. Pour créer un script qui se reconnecterait automatiquement, procédez comme suit :
-
Ouvrez le fichier « /etc/rc.local » en utilisant un éditeur de texte :
sudo nano /etc/rc.local -
Ajoutez la ligne suivante :
/etc/openvpn/reconnect.sh & -
Créez le fichier « reconnect.sh » dans le répertoire « /etc/openvpn » en exécutant cette commande :
sudo nano /etc/openvpn/reconnect.sh -
Dans le fichier, saisissez le contenu de script suivant :
#!/bin/sh n=10 while sleep 50; do t=$(ping -c $n 8.8.8.8 | grep -o -E '[0-9]+ packets r' | grep -o -E '[0-9]+') if [ "$t" -eq 0 ]; then /etc/init.d/openvpn restart fi done
Statut de connexion
Après avoir suivi ces instructions, le routeur devrait être connecté avec la connexion configurée.Pour vérifier si vous y êtes parvenu, consultez la page d’accueil de NordVPN : l’état en haut de la page doit indiquer « Protégé ».
Si vous souhaitez interrompre la connexion VPN, cliquez sur le bouton stop à côté de l’option NordVPN dans la section VPN > OpenVPN > Instances OpenVPN, si vous avez suivi les étapes pour la GUI. Cependant, si vous souhaitez interrompre la connexion VPN, exécutez la commande suivante :
service openvpn stop