Støtter NordVPN OpenWrt?
Rapporter tyder på at rutere med OpenWRT-fastvare støtter VPN-tjenester som NordVPN. Vær imidlertid oppmerksom på at NordVPNs ansatte ikke har testet følgende konfigurasjon – den har blitt delt og testet av våre fantastiske kunder. NordVPN vil spesielt takke Unwind, et aktivt medlem av OpenWRT-fellesskapet, for deres kontinuerlige hjelp med å gi oss oppdaterte OpenWRT-instruksjoner.
GUI-instruksjoner
Denne veiledningen forklarer hvordan du konfigurerer en NordVPN-tilkobling på rutere med OpenWrt-fastvare via LuCI-nettgrensesnittet.
-
Du får tilgang til LuCI-grensesnittet på OpenWrt-ruteren ved å skrive
inn ruterens lokale IP-adresse i nettleseren din og logge inn. Standard
IP-adresse er 192.168.1.1 og
brukernavnet er root.
MERK: Systemet angir ikke noe passord som standard, så du kan la dette feltet være tomt. Men når du logger inn, viser systemet en melding som ber deg om å angi et passord.
For å gjøre det, klikker du på System > Administrasjon (Administration), hvor du kan opprette et passord. -
Når du har logget inn, velger du
fanen System og deretter
Programvare (Software).
- Klikk på Oppdater lister-knappen, vent til prosessen er fullført, og klikk på Avvis.
-
Installer følgende pakker ved å skrive navnet deres i
filter-feltet og klikk på
Installer … (Install…).
- openvpn-openssl
- ip-full
-
luci-app-openvpn
- Klikk på Lagre og bruk, og oppdater rutersiden. Nå bør du se en ny fane kalt VPN. Klikk på den og velg OpenVPN fra rullegardinmenyen.
-
Nå må du laste ned konfigurasjonsfilene for OpenVPN-klienten. Deretter
kan du koble til en anbefalt server via din
Nord Account. Følg trinnene
nedenfor for å finne
tilgangsopplysningene for konfigurasjon av manuell tilkobling:
-
-
Logg inn på
Nord Account, klikk på NordVPN og klikk deretter på
Tilgangsopplysninger for tjenesten (Service
credentials)
under Manuell konfigurasjon. Her finner du
Brukernavn (Username) og
Passord (Password) som du trenger for å koble
til manuelt.
-
Nå må du laste ned konfigurasjonsfilene for OpenVPN-klienten.
Følg trinnene nedenfor for å finne den beste serveren for
tilkoblingen din:
-
Logg inn på din
Nord Account, og klikk på NordVPN.
-
Bla ned til
Avanserte innstillinger (Advanced Settings)
og klikk på
Konfigurer NordVPN manuelt (Set up NordVPN
manually).
-
Velg fanen
Serveranbefaling (Server recommendation).
Algoritmen vår anbefaler den beste serveren for deg i
henhold til hvor du befinner deg.
-
Ved å trykke på
Avanserte filtre (Advanced filters), kan du
tilpasse de anbefalte serverne ved å velge
Servertype (Server type) og
Sikkerhetsprotokoll (Security protocol).
Dersom du ønsker å velge en bestemt server, følger du disse trinnene:
-
Under
Konfigurer NordVPN manuelt (Set up NordVPN
manually),
velger du
OpenVPN-konfigurasjonsfiler (OpenVPN configuration
files).
-
Du kan finne serveren du ønsker å koble til ved å bruke
Søkefeltet eller ved å bla ned.
Deretter kan du laste den ned ved å klikke på
Last ned UDP (Download UDP) eller
Last ned TCP (Download TCP).
I denne veiledningen bruker vi serveren us5104.nordvpn.com.
-
Under
Konfigurer NordVPN manuelt (Set up NordVPN
manually),
velger du
OpenVPN-konfigurasjonsfiler (OpenVPN configuration
files).
-
Logg inn på din
Nord Account, og klikk på NordVPN.
-
Logg inn på
Nord Account, klikk på NordVPN og klikk deretter på
Tilgangsopplysninger for tjenesten (Service
credentials)
under Manuell konfigurasjon. Her finner du
Brukernavn (Username) og
Passord (Password) som du trenger for å koble
til manuelt.
-
-
I delen
Opplasting av OVPN-konfigurasjonsfil (OVPN configuration file
upload)
gir du VPN-tilkoblingen et navn i feltet
Forekomstnavn (Instance name) (vi har kalt den «nordvpn_us»). Klikk deretter på knappen Velg fil (Choose File),
finn den nedlastede serverfilen og klikk på
Last opp (Upload).
-
I delen OpenVPN-forekomster (OpenVPN instances) klikker
du på Rediger (Edit)-knappen ved siden av forekomsten
du opprettet.
-
Skriv inn tilgangsopplysningene dine for NordVPN-tjenesten (brukernavn
og passord) på separate linjer i det nederste feltet.
brukernavn
passord
Du finner tilgangsopplysningene til NordVPN-tjenesten (brukernavn og passord) i Nord Account-kontrollpanelet. -
Kopier nå banen til filen med tilgangsopplysningene som er angitt rett
over feltet som inneholder tilgangsopplysningene, og lim den inn ved
siden av linjen «auth-user-pass» i delen
Konfigurasjonsfil (Config file) ovenfor. Det skal se
slik ut: auth-user-pass /etc/openvpn/nordvpn_us.auth
-
For å koble til VPN-serveren, klikker du på avkrysningsboksen
Aktivert (Enabled) og deretter på
Start-knappen ved siden av den opprettede
NordVPN-forekomsten.
- Klikk på Lagre og bruk-knappen nederst.
- Øverst i navigasjonsmenyen holder du markøren over System og klikker på Omstart. En annen side åpnes. Klikk på knappen Utfør omstart, og logg inn på nytt.
-
Hold markøren over Nettverk-fanen øverst på siden og
velg Grensesnitt:1. Klikk på
Legg til nytt grensesnitt (Add new interface…).
2. I feltet Navn (Name) skriver du nordvpntun.
3. Klikk på Protokoll (Protocol) og velg Ikke administrert (Unmanaged).
4. I rullegardinmenyen Grensesnitt (Interface) skriver du inn navnet tun0 i feltet -- tilpasset -- nederst og trykker Enter.
- Klikk på Opprett grensesnitt (Create interface) og Lagre.
- Velg Nettverk-fanen øverst igjen og gå til Brannmur-delen.
-
Klikk på Legg til-knappen og juster den som følger:
- Gi den navnet «vpnfirewall».
- Sett alternativet «Inngang (Input)» til «Avvis (Reject)».
- La «Utdata (Output)» stå som «Godta (Accept)», og «Videresend (Forward)» som «Avvis (Reject)».
- Marker av for alternativet «Skjul (Masquerading)».
- Marker av for alternativet «MSS-klamping (MSS clamping)».
- Fra rullegardinmenyen «Dekkede nettverk (Covered networks)» velger du «nordvpntun».
- I rullegardinmenyen «Tillat videresending fra kildesoner (Allow forward from source zones)» velger du «lan».
-
Klikk på «Lagre (Save)»-knappen.
-
I delen Soner (Zones) finner du sonen med navnet
lan og klikker på
Rediger (Edit)-knappen.
-
I rullegardinmenyen
Tillat videresending til destinasjonssoner (Allow forward to
destination zones)
merker du av for nordvpntun.
- Klikk igjen på Nettverk øverst på siden, og velg deretter DHCP og DNS fra rullegardinlisten.
-
Finn alternativet DNS-viderekoblinger under fanen
Generelle innstillinger (General Settings) og skriv inn
NordVPNs DNS-adresser. Adressene
er: 103.86.96.100 og 103.86.99.100.
-
Gå til fanen
Resolv- og vertsfiler (Resolv and Hosts Files), merk av
i boksen Ignorer resolvefil (Ignore resolve file) og
klikk på knappen Lagre og bruk (Save & Apply).
- Gå tilbake til fanen VPN > OpenVPN.
-
I delen OpenVPN-forekomster (OpenVPN instances),
markerer du av for alternativet Aktiver (Enable) ved
siden av NordVPN-alternativet i listen, og klikker på
Lagre og bruk (Save & Apply).
- Klikk på Start-knappen igjen for å koble til VPN-serveren.
CLI-instruksjoner
Hvis du vil ha en mer avansert veiledning, kan du følge denne veiledningen i stedet. Du trenger en ruter med både OpenWrt-fastvare og en aktivert OpenVPN-klient for å få fordelene med et VPN på OpenWrt. Fastvarens hovedside er https://openwrt.org/.
- Først må du få tilgang til ruteren din med SSH ved å bruke ruterens LAN-IP-adresse. IP-adressen er som standard 192.168.1.1, og brukernavnet er root. Hvis du imidlertid endrer noen av standardverdiene, kan IP-adressen være annerledes.
-
Ruteren har ikke OpenVPN-pakken i fastvarebildet som standard. For å
installere den, kjører du følgende kommandoer:
I tillegg kan du installere LuCI-komponenten i OpenVPN-konfigurasjonen, men det er valgfritt. Du kan gjøre det ved å kjøre denne kommandoen:opkg update opkg install openvpn-openssl opkg install ip-fullopkg install luci-app-openvpn -
Når du har installert OpenVPN-pakken, kan du få den til å starte
automatisk hver gang ruteren starter ved å kjøre denne kommandoen:
/etc/init.d/openvpn enable -
Deretter må du laste ned serverens konfigurasjonsfiler. Følg disse
trinnene for å gjøre det:
-
Logg inn på din
Nord Account, og klikk på NordVPN.
-
Bla ned til
Avanserte innstillinger (Advanced Settings) og
klikk på
Konfigurer NordVPN manuelt (Set up NordVPN manually).
-
Velg fanen
Serveranbefaling (Server recommendation).
Algoritmen vår anbefaler den beste serveren for deg i henhold til
hvor du befinner deg.
-
Ved å trykke på
Avanserte filtre (Advanced filters), kan du
tilpasse de anbefalte serverne ved å velge
Servertype (Server type) og
Sikkerhetsprotokoll (Security protocol).
Dersom du ønsker å velge en bestemt server, følger du disse trinnene:
-
Under
Konfigurer NordVPN manuelt (Set up NordVPN manually),
velger du
OpenVPN-konfigurasjonsfiler (OpenVPN configuration
files).
-
Du kan finne serveren du ønsker å koble til ved å bruke
Søkefeltet eller ved å bla ned. Deretter kan du
laste den ned ved å klikke på
Last ned UDP (Download UDP) eller
Last ned TCP (Download TCP).
-
Under
Konfigurer NordVPN manuelt (Set up NordVPN manually),
velger du
OpenVPN-konfigurasjonsfiler (OpenVPN configuration
files).
-
Logg inn på din
Nord Account, og klikk på NordVPN.
-
I denne veiledningen har vi brukt
serveren uk2054.nordvpn.com, men du bør bruke
serveren som nettstedet anbefaler. For å laste ned en serverfil, velger
du landet du ønsker å koble til, klikker på «Vis tilgjengelige
protokoller», høyreklikker på «Last ned konfigurasjon» for «OpenVPN TCP»
eller «OpenVPN UDP» og velger «Kopier lenkeadresse». Deretter går du
tilbake til SSH-økten og kjører følgende kommando:
Bruk imidlertid lenken du kopierte for den spesifikke serverfilen din. Denne kommandoen laster ned konfigurasjonsfilen til mappen /etc/openvpn slik at det er enkelt å få tilgang til den. Alternativt kan du laste ned serverens konfigurasjonsfil til en annen maskin og overføre den til OpenWrt-ruteren ved hjelp av alternative metoder som SCP- eller SFTP-protokoller. For eldre OpenWrt-versjoner:wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn\_udp/servers/uk2054.nordvpn.com.udp.ovpn
Du kan enkelt laste ned et arkiv her https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. I det nedlastede arkivet finner du de tilhørende filene med filtypene .crt og .key. Filene er spesifikke for hver VPN-server. -
OpenVPN-konfigurasjonen for NordVPN krever at du oppgir brukernavn og
passord for NordVPN-tjenesten hver gang OpenVPN starter. Vi vil
imidlertid gjøre noen justeringer slik at tilgangsopplysningene oppgis
automatisk. For å gjøre prosessen enklere, installerer du først
tekstredigeringsprogrammet nano ved å kjøre
følgende kommando:
Du kan også bruke det innebygde tekstredigeringsprogrammet vi. Mer informasjon om tekstredigeringsprogrammene finnes i denne artikkelen. Nå kan du åpne den nedlastede serverkonfigurasjonsfilen med tekstredigeringsprogrammet nano. I vårt tilfelle vil kommandoen være:opkg install nano
Deretter legger du til ordet «secret» (uten anførselstegn) til strengen «auth-user-pass». Den endelige linjen skal se sånn ut:nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
Du må opprette en ny secret-fil for å lagre tilgangsopplysningene for NordVPN-tjenesten. For å gjøre dette kjører du følgende kommando:auth-user-pass secret
Dette oppretter og åpner en ny fil ved hjelp av tekstredigeringsprogrammet nano. På filens første linje skriver du brukernavnet for NordVPN-tjenesten, og på den andre linjen skriver du passordet for NordVPN-tjenesten. Du finner tilgangsopplysningene til NordVPN-tjenesten (brukernavn og passord) i Nord Account-kontrollpanelet.nano /etc/openvpn/secret -
Konfigurer OpenVPN ved hjelp av den nedlastede konfigurasjonsfilen på en
av to måter:
-
Endre filtypen
fra .ovpn til .conf,
slik at OpenVPN automatisk finner den ved hjelp av filtypen. For å
gjøre dette kan du bruke kommandoen mv:
mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf -
Angi filnavnet i «/etc/config/openvpn» ved å bruke følgende
«uci»-kommandoer:
Etter det skal filen «/etc/config/openvpn» inneholde følgende tilføyde strenger: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
Du kan sjekke dette ved å kjøre denne kommandoen:config openvpn 'nordvpn' option enabled '1' option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
Du kan også endre filtypen fra .ovpn til .conf og angi den i filen «/etc/config/openvpn». I så fall vil OpenVPN imidlertid bare starte med denne konfigurasjonsfilen én gang.tail /etc/config/openvpn
-
Endre filtypen
fra .ovpn til .conf,
slik at OpenVPN automatisk finner den ved hjelp av filtypen. For å
gjøre dette kan du bruke kommandoen mv:
-
Opprett et nytt nettverksgrensesnitt ved å kjøre følgende kommandoer:
Filen «/etc/config/network» inneholder nå følgende tilføyde strenger:uci set network.nordvpntun=interface uci set network.nordvpntun.proto='none' uci set network.nordvpntun.ifname='tun0' uci commit network
Du kan sjekke det ved å kjøre denne kommandoen:config interface 'nordvpntun' option proto 'none' option ifname 'tun0'tail /etc/config/network -
Opprett en ny brannmursone og legg til en regel om videresending fra LAN
til VPN ved å kjøre følgende kommandoer:
Hvis dette er gjort riktig, skal filen «/etc/config/firewall» inneholde følgende tilføyde strenger: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
Du kan sjekke det ved å kjøre denne kommandoen: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'
Dette viser de siste 13 linjene som inneholder strengene nevnt ovenfor.tail -13 /etc/config/firewall -
Nå må du konfigurere DNS-serverne. Den enkleste metoden er å bruke
NordVPN DNS til ruterens WAN-grensesnitt. For å legge til NordVPN DNS,
kjører du følgende kommandoer:```` 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 ```MERK: Hvis _du får feilmeldingen «__uci: Entry not found__» etter å ha kjørt kommandoen __uci del network.wan.dns__, kan du se bort fra den. Filen «/etc/config/network» bør inneholde delen «wan» med de tre nederste strengene tilføyd: ``` config interface 'wan' <...> option peerdns '0' list dns '103.86.96.100' list dns '103.86.99.100' ``` Du kan sjekke dette ved å kjøre kommandoen og finne «wan»-grensesnittet i utdataen. ``` cat /etc/config/network ``` Du kan også legge til andre DNS-adresser, som for eksempel Googles, ved å kjøre disse kommandoene: ``` 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 ``` De tilføyde strengene bør ligne på de tidligere strengene.
(Valgfritt) Killswitch til OpenWRT 22.02 eller eldre versjoner (iptables)
Følg disse trinnene for å unngå trafikklekkasje hvis VPN-tunnelen kobles fra:
-
Åpne brannmuren med et tekstredigeringsprogram:
sudo nano /etc/firewall.user -
Legg til følgende innhold:
\# This file is interpreted as a shell script. \# Put your custom iptables rules here, and they will be executed with each firewall (re-)start \# Internal uci firewall chains are flushed and recreated on reload, so \# put custom rules into the root chains, e.g. INPUT or FORWARD, or into the \# special user chains, e.g. input\_wan\_rule or postrouting\_lan\_rule. if (! ip a s tun0 up) && (! iptables -C forwarding\_rule -j REJECT); then iptables -I forwarding\_rule -j REJECT fi -
Opprett en fil med navnet «99-prevent-leak» i mappen
«/etc/hotplug.d/iface» ved å kjøre denne kommandoen:
nano /etc/hotplug.d/iface/99-prevent-leak -
Legg til følgende innhold i skriptet:
#!/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
(Valgfritt) Killswitch til OpenWRT 22.03 eller nyere versjoner (nftables)
Følg disse trinnene for å unngå trafikklekkasje dersom VPN-tunnelen ikke fungerer.
-
Rediger filen med egendefinerte brannmurregler:
sudo nano /etc/firewall.user -
Skriv denne funksjonen:
\# 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 -
Deretter må du opprette et hotplug-skript for å aktivere
killswitchen automatisk:
sudo nano /etc/hotplug.d/iface/99-prevent-leak -
Skriv følgende innhold i skriptet:
#!/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
Skript for automatisk gjenoppretting av tilkoblingen
OpenVPN-tilkoblingen kan noen ganger krasje med en loggutskrift som ligner på «couldn’t resolve host…». I dette tilfellet forblir VPN-tunnelen, men tilkoblingen går tapt. For å opprette et skript som gjenoppretter tilkoblingen automatisk, følger du disse trinnene:
-
Åpne filen «/etc/rc.local» med et tekstredigeringsprogram:
sudo nano /etc/rc.local -
Legg til følgende linje:
/etc/openvpn/reconnect.sh & -
Opprett filen «reconnect.sh» i mappen «/etc/openvpn» ved å kjøre denne
kommandoen:
sudo nano /etc/openvpn/reconnect.sh -
I filen skriver du inn følgende skriptinnhold:
#!/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
Tilkoblingsstatus
Etter å ha fulgt disse instruksjonene, bør ruteren koble til med den konfigurerte tilkoblingen. For å sjekke om det var vellykket, går du til NordVPNs hjemmeside – statusen øverst på siden skal vise «Beskyttet».
Hvis du ønsker å koble fra VPN-tilkoblingen, klikker du på stopp-knappen ved siden av NordVPN-alternativet i delen VPN > OpenVPN > OpenVPN-forekomster hvis du fulgte GUI-instruksjonene. Hvis du imidlertid ønsker å koble fra VPN-tilkoblingen, kjører du følgende kommando:
service openvpn stop