Configuration d’OpenWRT avec NordVPN

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.

Instructions pour l’interface graphique (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.

  1. 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 y créer un mot de passe.
  2. Une fois connecté, sélectionnez l’onglet Système et choisissez Logiciel.



  3. Cliquez sur le bouton Mettre à jour les listes, attendez que le processus se termine, puis cliquez sur Rejeter.
  4. Installez les packages suivants en tapant leur nom dans le champ Filtre et en cliquant sur Installer...
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn



  5. 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.
  6. 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 :
      1. Connectez-vous à votre Nord Account, cliquez sur NordVPN et, sous Configuration manuelle, cliquez sur Identifiants de service. Vous trouverez votre nom d'utilisateur et votre mot de passe, que vous devrez connecter manuellement.



      2. 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 :
        1. Connectez-vous à votre Nord Account et cliquez sur NordVPN.



        2. Faites défiler vers le bas jusqu'à Paramètres avancés et cliquez sur Configurer NordVPN manuellement.



        3. Sélectionnez l'onglet Recommandation de serveur. Notre algorithme vous recommandera le meilleur serveur selon votre emplacement.



        4. 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 :
          1. Sous Configurer NordVPN manuellement, sélectionnez Fichiers de configuration OpenVPN.



          2. 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.
  7. Dans la section Chargement du fichier de configuration de l'OVPN, nommez la connexion VPN dans le champ nom de l'instance (no_us 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.



  8. Dans la section Instances OpenVPN, cliquez sur le bouton Modifier à côté de l’instance que vous venez de créer.



  9. 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 passe



    Vous trouverez vos identifiants de service NordVPN (nom d’utilisateur et mot de passe) dans le [tableau de bord de votre Nord Account] (https://my.nordaccount.com/dashboard/nordvpn/).
  10. Ensuite, copiez 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 configurer le fichier au-dessus. Cela devrait ressembler à ceci : auth-user-pass /etc/openvpn/nordvpn_us.auth


  11. Pour se connecter au serveur VPN, cliquez sur la case Activé puis sur le bouton Démarrer à côté de l'instance NordVPN créée.



  12. Cliquez sur le bouton enregistrer et appliquer en bas.
  13. 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 vous devez vous reconnecter.
  14. 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.



     
    
  15. Cliquez sur créer une interface et enregistrer.
  16. Choisissez l’onglet réseau en haut, puis accédez à la section pare-feu.
  17. Cliquez sur le bouton ajouter et paramétrez-le comme suit :
    1. Nommez-le « vpnfirewall ».
    2. Réglez l’option « Entrée » sur « Rejeter ».
    3. Laissez « Sortie » sur « Accepter » et « Transférer » sur « Rejeter ».
    4. Cochez l’option « Mascarade ».
    5. Cochez l’option « Serrage MSS ».
    6. Dans le menu déroulant « Réseaux couverts », choisissez « nordvpntun ».
    7. Dans le menu déroulant « Autoriser le transfert depuis les zones sources », choisissez « plan ».
    8. Cliquez sur le bouton « Enregistrer ».



  18. Dans la section Zones, recherchez la zone nommée lan, et cliquez sur le bouton Modifier.



     
  19. Dans la liste déroulante Autoriser le transfert depuis les zones sources, cochez l’option NordVPN.



     
  20. Encore une fois, cliquez sur Réseau en haut de la page et choisissez DHCP et DNS dans la liste déroulante.
  21. 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


     
  22. 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 B Enregistrer et appliquer.



     
  23. Retournez à l'onglet VPN > OpenVPN.
  24. 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.



  25. Cliquez de nouveau sur le bouton démarrer pour vous connecter au serveur VPN.

Instructions pour l’interface de ligne de commande (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/.

  1. 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.
  2. Le routeur n'a pas le paquet OpenVPN dans l'image du micrologiciel par défaut. Pour l’installer, veuillez exécuter la commande suivante :
    opkg update  
    opkg install openvpn-openssl  
    opkg install ip-full
    
    Vous 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
    
  3. 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
    
  4. Vous devrez ensuite télécharger les fichiers de configuration du serveur. Suivez ces étapes pour cela :
    1. Connectez-vous à votre Nord Account et cliquez sur NordVPN.



    2. Faites défiler vers le bas jusqu'à Paramètres avancés et cliquez sur Configurer NordVPN manuellement.



    3. Sélectionnez l'onglet Recommandation de serveur. Notre algorithme vous recommandera le meilleur serveur selon votre emplacement.



    4. 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 :
      1. Sous Configurer NordVPN manuellement, sélectionnez Fichiers de configuration OpenVPN.



      2. 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.



  5. 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.
  6. 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 nano
    
    Sinon, vous pouvez utiliser l’éditeur de texte vi intégré. Pour plus d’informations concernant les éditeurs de texte, veuillez consulter 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.ovpn
    
    Ensuite, ajoutez le mot « secret » (sans les guillemets) à la chaîne « auth-user-pass ». La ligne obtenue devrait être :
    auth-user-pass secret
    
    Vous 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/secret
    
    Ceci 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 de votre Nord Account.
  7. Configurez OpenVPN en utilisant le fichier de configuration téléchargé en procédant selon l’une des deux méthodes suivantes :
    1. 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
      
    2. 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 openvpn
      
      Ensuite, 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/openvpn
      
      Vous 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.
  8. 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 network
    
    Le 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 
    
  9. 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 firewall
    
    Si 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/firewall
    
    Cela affichera les 13 dernières lignes contenant les chaînes de caractères ci-dessus.
  10. 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 les DNS 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 contenir la section « wan » avec les trois chaînes du bas en annexe :  
    ```
    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/network 
    ```
    Vous 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 commit
    ```
    Les 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 :

  1. Ouvrez le fichier pare-feu en utilisant un éditeur de texte :
    sudo nano /etc/firewall.user
    
  2. 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
    
  3. 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
    
  4. 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.

  1. Modifiez le fichier de règles de pare-feu personnalisé :
    sudo nano /etc/firewall.user
    
  2. Écrivez cette fonction :
    \# when tun0 interface is down and within nftables no chain "forwarding\_rule" exists, then do the following.  
    if (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding\_rule; then  
    \# add new chain named forwarding\_rule  
       nft add chain inet fw4 forwarding\_rule  
    \# add rule within chain forward to jump to chain forwarding\_rule  
       nft add rule inet fw4 forward jump forwarding\_rule  
      
    \# add rule within chain forward\_rule to reject all traffic  
       nft add rule inet fw4 forwarding\_rule reject  
    fi
    
  3.  Ensuite, vous devez créer un script hotplug pour enclencher automatiquement le killswitch :
    sudo nano /etc/hotplug.d/iface/99-prevent-leak
    
  4. Écrivez le contenu suivant au script :
    #!/bin/sh  
      
    \# if action ifup is triggered, interface tun0 is up and the nftables chain "forwarding\_rule" contains text "reject", then flush that chain in order to allow traffic.  
    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  
      
      
    \# if action ifdown is triggered, interface tun0 is not up and the nftables chain "forwarding\_rule" does not contain text "reject", then add a rule to that chain in order to reject all traffic.  
    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
    

Reconnectez automatiquement le script

La connexion OpenVPN peut parfois se bloquer avec une sortie de journal similaire à « 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 :

  1. Ouvrez le fichier « /etc/rc.local » en utilisant un éditeur de texte :
    sudo nano /etc/rc.local
    
  2. Ajoutez la ligne suivante :
    /etc/openvpn/reconnect.sh &
    
  3. Créez le fichier « reconnect.sh » dans le répertoire « /etc/openvpn » en exécutant cette commande :
    sudo nano /etc/openvpn/reconnect.sh
    
  4. 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 GUI. Cependant, si vous souhaitez interrompre la connexion VPN, exécutez la commande suivante :

service openvpn stop
Cet article vous a-t-il été utile ?

Vous rencontrez encore des problèmes ?

  • Chat en direct

  • Formulaire de contact

La fonctionnalité de chat nécessite l’utilisation de cookies. En lançant une discussion, vous acceptez leur utilisation. Pour en savoir plus, consultez notre Politique relative aux cookies.