Comment configurer manuellement NordVPN sur un routeur OpenWRT

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 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 Filter 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 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 (OVPN configuration file upload), nommez la connexion VPN dans le champ nom de l’instance (instance name) (nous l’avons nommée "nordvpn_us "). Cliquez ensuite sur le bouton choisir un fichier (choose file), localisez le fichier du serveur téléchargé et cliquez sur charger (upload).



  8. Dans la section Instances OpenVPN (OpenVPN instances), cliquez sur le bouton Modifier (edit) à 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. username
    password


    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 (config file) 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 (save & apply) 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 (Add New Interface).
    2. Dans la section nom, écrivez nordvpntun.
    3. Cliquez sur protocole (protocol) et choisissez non géré (unmanaged).
    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 Détournement (Masquerading).
    5. Cochez l’option Serrage MSS (MSS clamping).
    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 (Edit).



  19. Dans la liste déroulante Autoriser le transfert depuis les zones sources (Allow Forward to Destination Zones), cochez l’option NordVPN.



  20. Encore une fois, cliquez sur Réseau (Network) 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 (general settings) 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 (resolv and hosts files), cochez la case ignorer le fichier de résolution (ignore resolve file), et cliquez sur le bouton  Enregistrer et appliquer (Save & Apply).



  23. Retournez à l’onglet VPN > OpenVPN.
  24. Dans la section Instances OpenVPN (OpenVPN instances), cochez la case Activer (Enable) à côté de l’option NordVPN dans la liste, et cliquez sur le bouton Enregistrer et appliquer (Save & apply).



  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, exécutez 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, 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.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. La méthode la plus simple consiste à utiliser le DNS de NordVPN pour l’interface WAN du routeur :
    ```auto
    
    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 » doit contenir la section « wan » avec les trois chaînes du bas en annexe :
    
    ```auto
    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 recherchant l’interface « wan » dans la sortie :
    
    ```auto
    cat /etc/config/network 
    ```
    
    Vous pouvez également ajouter différentes adresses DNS, telles que celles de Google, en exécutant ces commandes :
    
    ```auto
    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 :
    # 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
    
  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
    
    # 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
    

Reconnectez automatiquement le 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 :

  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

En cliquant sur "Discuter avec notre service d'assistance", vous acceptez nos Conditions d'utilisation et reconnaissez notre Politique de confidentialité. 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.