Instructions to obtain WireGuard details of your NordVPN account. These can be used to setup a WireGuard tunnel on your router to NordVPN.
Source: https://forum.gl-inet.com/t/configure-wireguard-client-to-connect-to-nordvpn-servers/10422/27
If you have any linux machine, use that or install a vm if you don't have one.
Get their official linux app installed. Make sure you have wireguard installed too. And set the used technology to Nordlynx by running nordvpn set technology nordlynx
Connect to nordvpn with command: nordvpn connect
(don't forget to login with nordvpn login --legacy
).
After successful connection run
ifconfig nordlynx
Run
sudo wg show nordlynx private-key
Output of this command should be something like this:
CKMAE9LARlt2eZHgGnNaSUYiKllKJN7f3hed/bWm5E8=
The key above is just a random key for demo purposes.
Run
sudo wg show nordlynx public-key
Output of this command should be something like this:
TO158iXbNXt2eZHgGnNaSUYiKZHgGN7f3hed/bWm5E8=
The key above is just a random key for demo purposes.
Make sure you have curl and jq installed on your host/router. These are needed to be able to fetch the config of NordVPN Server. If not installed, go ahead and install
opkg install curl jq
After installation enter the command below to fetch the recommended server config:
curl -s "https://api.nordvpn.com/v1/servers/recommendations?&filters\[servers_technologies\]\[identifier\]=wireguard_udp&limit=1"|jq -r '.[]|.hostname, .station, (.locations|.[]|.country|.city.name), (.locations|.[]|.country|.name), (.technologies|.[].metadata|.[].value), .load'
Output:
uk1818.nordvpn.com #your endpoint host
178.239.166.185 #its ip address
London #city
United Kingdom #country
K53l2wOIHU3262sX5N/5kAvCvt4r55lNui30EbvaDlE= #Server public key
10 #Server load at the time.
Or just visit the following url https://api.nordvpn.com/v1/servers/recommendations?&filters\[servers_technologies\]\[identifier\]=wireguard_udp&limit=1 from your browser and look for the details manually.
Another way of getting the NordVPN server details you want (steps after installation of curl and jq):
Use the NordVPN site ([https://nordvpn.com/servers/tools/]) to get the hostname of a server you desire. Feel free to use the server preferences on the right and/or advanced options
Copy the hostname of the desired server (this will be in the format of e.g. "us8261.nordvpn.com")
In the terminal type in the following, replace the ##HOSTNAME## with the above hostname:
curl --silent "https://api.nordvpn.com/v1/servers?limit=16384" | jq --raw-output '.[] | select(.hostname == "##HOSTNAME##") | "\nServer: \(.name)\nHostname: \(.hostname)\nIP Address: \(.station)\nLocation: \(.locations.[].country.name) - \(.locations.[].country.city.name)\nType: \(.technologies.[].name)\nPubKey: \(.technologies.[].metadata.[].value)\nLoad: \(.load)\nStatus: \(.status)\n"'
Wait for a moment and the terminal will print out the required details for your desired host, e.g.:
Server: United States #8261
Hostname: us8261.nordvpn.com
IP Address: 212.102.47.74
Location: United States - Seattle
Type: Wireguard
Public Key: 1GaNB9RbeGNzekcuRDcxTXvqtXWFe2K9GtUd+EjNuyI=
Load: 21
Status: online