In this article, we'll guide you through NordVPN installation and usage on Linux. We offer .deb and .rpm packages that are compatible with Debian, Ubuntu, Elementary OS, Linux Mint, Fedora, QubesOS, RHEL, CentOS, and openSUSE systems. The NordVPN native application is the recommended option for connecting to NordVPN servers on your Linux device. We designed it with your experience in mind, giving you features like auto-connect, automated Kill Switch, and Threat Protection.
Table of contents:
Installing NordVPN on Linux
To start using the NordVPN application for Linux, you need to download the NordVPN Linux client. You can do that in 2 ways:
- By downloading a Snap package.
Snaps are app packages for desktop, cloud, and IoT that are easy to install, secure, cross-platform, and dependency-free. If you do not have Snap pre-installed, you may follow Snap setup guides for various Linux distributions.
Please note that currently, we still do not support arm64, but our developers are working on this.
- By working in the terminal:
- Open the terminal;
- Write the command below:
sh <(curl -sSf https://downloads.nordcdn.com/apps/linux/install.sh)
- Following any on-screen instructions.
Note: If you do not have a curl package, evidenced by the fact that the above does not work, you can alternatively use this command:
sh <(wget -qO - https://downloads.nordcdn.com/apps/linux/install.sh)
Additionally, if you receive the following issue: Whoops! Permission denied accessing /run/nordvpn/nordvpnd.sock, all you need to do is write the following command:
sudo usermod -aG nordvpn $USER
and then reboot your device.
Using NordVPN on Linux
After you have installed the NordVPN application, you can start using it!
Please note that in NordVPN Linux application version 3.18.4, network traffic from the LAN through a VPN-connected computer is blocked by default. To unblock LAN traffic, turn LAN discovery ON or add to the allowlist any subnet or IP traffic to be forwarded.
Logging in
If you're using a Linux device without a graphical user interface, follow our guide on logging in to NordVPN on Linux devices without GUI.
If you're using a Linux device with a graphical user interface, you can start using it with the commands below:
- Log in to your NordVPN account by using this command:
nordvpn login
- Connect to a NordVPN server by using the command below:
nordvpn connect
Account and settings
Here you can find the list of available NordVPN commands for Linux.
Access the NordVPN client settings: | ||
nordvpn |
||
Get an extensive explanation of all commands: |
||
man nordvpn |
||
See the list of available commands or help for a specific command: |
||
nordvpn help |
or |
nordvpn h |
Log in or log out: |
||
nordvpn login |
or |
nordvpn logout |
Connect to a recommended NordVPN server: |
||
nordvpn connect |
or |
nordvpn c |
Connect to a specific server (e.g. nordvpn connect uk715): |
||
nordvpn connect <country_code server_number> |
||
Disconnect from the VPN: |
||
nordvpn disconnect |
or |
nordvpn d |
See account information: |
||
nordvpn account |
||
Register a new user account: |
||
nordvpn register |
||
Rate your last connection quality (1-5): |
||
nordvpn rate |
||
See the current settings: |
||
nordvpn settings |
||
See the connection status: |
||
nordvpn status |
||
See the country list: |
||
nordvpn countries |
||
See the city list (e.g.: nordvpn cities united_states): |
||
nordvpn cities |
||
See a list of available server groups: |
||
nordvpn groups |
Specialty servers
Connect to the closest Double VPN server: | ||
nordvpn c double_vpn |
||
Connect to a specific country using Double VPN servers: |
||
nordvpn connect --group double_vpn <country_code> |
Connect to a P2P server: | ||
nordvpn connect p2p |
||
Connect to a specific country using P2P servers: |
||
nordvpn connect --group p2p <country_code> |
Connect to a Dedicated IP server: | ||
nordvpn connect Dedicated_IP |
Features and configurations
Set a configuration option: | ||
nordvpn set |
or |
nordvpn s |
Enable or disable Threat Protection: |
||
nordvpn set threatprotectionlite on |
or |
nordvpn set threatprotectionlite off |
Enable or disable Kill Switch: |
||
nordvpn set killswitch on |
or |
nordvpn set killswitch off |
Enable or disable auto-connect: |
||
nordvpn set autoconnect on |
or |
nordvpn set autoconnect off |
Set a specific server for automatic connection (e.g.: nordvpn set autoconnect on us2435): |
||
nordvpn set autoconnect on <country_code+server_number> |
||
Enable or disable notifications: |
||
nordvpn set notify on |
or |
nordvpn set notify off |
Set custom DNS (you can set up a single DNS or two, just add spaces in between): |
||
nordvpn set dns 1.1.1.1 |
or |
nordvpn set dns 1.1.1.1 1.0.0.1 |
|
||
nordvpn set protocol udp |
or |
nordvpn set protocol tcp |
Enable or disable obfuscated servers: |
||
nordvpn set obfuscate on |
or |
nordvpn set dobfuscate off |
Set connection technology (OpenVPN or NordLynx): |
||
nordvpn set technology OpenVPN |
or |
nordvpn set technology NordLynx |
Turn Meshnet on or off on your device: |
||
nordvpn set meshnet on |
or |
nordvpn set meshnet off |
To enable or disable the post-quantum protection in NordVPN: |
||
nordvpn set pq on |
or |
nordvpn set pq off |
LAN discovery and allowlists
Enable or disable LAN discovery: |
||
nordvpn set lan-discovery enable |
or |
nordvpn set lan-discovery disable |
Get more information on LAN discovery: |
||
nordvpn set lan-discovery --help |
||
Add or remove a rule to allowlist a specified incoming port (you can allowlist multiple ports — just separate their numbers with a space): |
||
nordvpn whitelist add port <port> |
or |
nordvpn whitelist remove port <port> |
Add or remove a rule to allowlist a specified subnet: |
||
nordvpn whitelist add subnet <subnet> |
or |
nordvpn whitelist remove subnet <subnet> |