How to set up NordVPN on an OpenWRT router using NordVPN Lite?

Introduction

This article explains how to set up a NordVPN connection on your OpenWrt router using the NordVPN Lite (nordvpnlite) client via the LuCI web interface or the command-line interface (CLI).

Before you start

  • You will need an OpenWrt router with either LuCI enabled for the web interface steps or SSH access for the command-line steps.
  • You will need your Nord Account authentication token, which you can get by logging in to your Nord Account dashboard.
  • You will need to download the NordVPN Lite package that matches your router's architecture (aarch64, mipsel, or x86_64) from the NordVPN downloads page.

Here’s what to do

Using the LuCI web interface

  1. Download the package:
     
    1. Download the .ipk package that matches your router's CPU from the NordVPN downloads page to your computer.
       
  2. Install the package:
     
    1. Open the LuCI web interface in your browser: http://<router-ip>/ (often 192.168.1.1).
    2. Click "System" and then "Software."


       
    3. Click "Update lists."
    4. Under "Upload Package", select the downloaded .ipk file and click "Upload & Install."
      NOTE: If you only see a URL field, paste the direct link to the .ipk and install.
       
  3. Configure NordVPN Lite:
     
    1. Once the installation is complete, navigate to "System" and then "File Editor."
    2. In the "Path" field, enter /etc/nordvpnlite/config.json
    3. Paste the configuration below into the text field and click "Save": 
      NOTE: Replace YOUR_AUTH_TOKEN_HERE with the token from your Nord Account.
{
  "log_level": "error",
  "log_file_path": "/var/log/nordvpnlite.log",
  "adapter_type": "linux-native",
  "interface": {
    "name": "nordvpnlite",
    "max_route_priority": 6000,
    "config_provider": "uci"
  },
  "authentication_token": "YOUR_AUTH_TOKEN_HERE",
  "vpn": "recommended"
}
  1. Start the connection:
     
    1. Navigate to "System" and then "Startup."
    2. Find nordvpnlite in the list and click "Start."
       
  2. Verify the connection:
     
    • You can check the connection status in the LuCI web interface by navigating to "Status" and clicking "System Log" for connection messages.
    • You can also see the nordvpnlite interface under "Network" and clicking "Interfaces."

Using the command-line interface (CLI)

First, connect to your router via SSH by entering ssh root@<router-ip>. Then follow the steps below.

  1. Download the package:
     
    1. Enter the command below to download the package directly into the /tmp directory on your router. Replace <file-name>.ipk with the correct file URL from the downloads page: wget https://downloads.nordcdn.com/nordvpnlite/<file-name>.ipk -P /tmp
       
  2. Install the package:
     
    1. Update the package lists: opkg update.
    2. Install the package: opkg install /tmp/<file-name>.ipk.
       
  3. Configure NordVPN Lite:
     
    1. Create and edit the configuration file by entering the command below. 
      NOTE: Replace YOUR_AUTH_TOKEN_HERE with your actual token before you run the command. Keep your token secret:
cat >/etc/nordvpnlite/config.json <<'JSON'
{
 "log_level": "error",
 "log_file_path": "/var/log/nordvpnlite.log",
 "adapter_type": "linux-native",
 "interface": {
   "name": "nordvpnlite",
   "max_route_priority": 6000,
   "config_provider": "uci"
 },
 "authentication_token": "YOUR_AUTH_TOKEN_HERE",
 "vpn": "recommended"
}
JSON
  1. Start the connection:
     
    1. Enter the command: nordvpnlite start.
       
  2. Verify the connection:
     
    1. You can use the following commands to check your connection:
       
      1. nordvpnlite status — Shows the current connection status.
      2. ip <PERSON> nordvpnlite — Confirms that the nordvpnlite network interface is active.
      3. wget -qO- https://ipinfo.io/ip — Shows your current public IP address, which should be a NordVPN server IP.
         
  3. Change location:
     
    1. Edit the configuration file to change the VPN server location. For example, to connect to Germany, you would run: sed -i 's/"vpn": "recommended"/"vpn": { "country": "de" }/' /etc/nordvpnlite/config.json
    2. Restart the service to apply the new settings: nordvpnlite stop nordvpnlite start
    3. To see a list of all available country codes, run: nordvpnlite countries.
       
  4. Update or remove:
     
    1. To update: Download the newer .ipk package and install it using the same method as in steps 1 and 2. Your configuration file will be preserved.
    2. To remove: Enter the command opkg remove nordvpnlite.
       
  5. Stop the connection:
     
    • To disconnect from the VPN, run nordvpnlite stop.

Additional tips

  • If you have connection issues, recheck your authentication token, JSON syntax, and your router's time.
  • If the network interface is missing, make sure the service is started and that no other VPN client is using the same interface name.
  • For more detailed logs, temporarily set "log_level": "info" in the config file, restart the service, and review the log at /var/log/nordvpnlite.log.
  • nordvpnlite is open-sourced. You may visit the official GitHub project page and repository, which contains more information.

 

Was this article helpful?

Still having issues?

  • Live chat

  • Email form

By clicking “Chat with support”, you agree to our Terms of Service and acknowledge our Privacy Policy. Chat functionality relies on cookies. By starting the chat, you agree to their use. Learn more in our Cookie Policy.