Understøtter NordVPN OpenWrt?
Routere med OpenWRT-firmware understøtter angiveligt VPN'er såsom NordVPN. Vær dog opmærksom på, at NordVPN's medarbejdere ikke har testet følgende konfiguration – den er blevet delt og testet af vores fantastiske kunder. NordVPN vil især gerne takke "Unwind", et aktivt medlem af OpenWRT-fællesskabet, for vedkommendes kontinuerlige hjælp med at give os opdaterede OpenWRT-anvisninger.
Anvisninger til brugerfladen GUI
Denne vejledning beskriver, hvordan du konfigurerer en NordVPN-forbindelse på routere med OpenWrt-firmware via LuCI-webbrugerfladen.
-
Du kan tilgå OpenWrt-routerens LuCI-brugerflade ved at indtaste dens
lokale IP-adresse i din internetbrowser og logge ind.
Standard-IP-adressen er 192.168.1.1 , og
brugernavnet er root.
BEMÆRK: _Systemet angiver som standard ikke en adgangskode, så du kan lade denne plads være tom. Men når du logger ind, viser systemet en besked, der beder dig om at angive en.
For at gøre det skal du klikke på System > Administration, og så kan du oprette en adgangskode der. -
Når du er logget ind, skal du vælge fanen System og
vælge Software.
- Klik på knappen Opdatér lister (Update lists), og vent på, at processen er færdig, og klik på Afvis (Dismiss).
-
Installér følgende pakker ved at indtaste deres navn i feltet
Filter og klikke på
Installér... (Install…)
- openvpn-openssl
- ip-full
-
luci-app-openvpn
- Klik på Gem og anvend (Save & Apply), og opdatér router-siden. Nu bør du se en ny fane, der er navngivet VPN. Klik på den, og vælg OpenVPN i rullelisten.
-
Du skal nu downloade OpenVPN-klientens konfigurationsfiler. Derefter kan
du forbinde til en anbefalet server via din
Nord Account. Følg trinnene
nedenfor for at finde
adgangsoplysningerne til manuel konfiguration af tjenesten:
-
-
Log ind på din
Nord Account, klik på NordVPN, og under
Manuel konfiguration (Manual Setup) klik på
Adgangsoplysninger til tjenesten (Service
Credentials).
Der finder du dit Brugernavn (Username) og
Adgangskode (Password), som du skal bruge til
at forbinde manuelt.
-
Nu skal du downloade OpenVPN-klientens konfigurationsfiler. Følg
trinnene nedenfor for at finde den bedste server til din
forbindelse:
-
Log ind på din
Nord Account, og klik på NordVPN.
-
Rul ned til
Avancerede indstillinger (Advanced Settings), og klik på
Konfigurér NordVPN manuelt (Set up NordVPN
Manually).
-
Vælg fanen
Serveranbefaling (Server Recommendation).
Vores algoritme anbefaler den bedste server til dig på
baggrund af din placering.
-
Ved at trykke på
Avancerede filtre (Advanced Filters) kan du
tilpasse de anbefalede servere ved at vælge
Servertype (Server Type) og
Sikkerhedsprotokol (Security Protocol).
Hvis du ønsker at vælge en konkret server, skal du følge disse trin:
-
Under
Konfigurér NordVPN manuelt (Set up NordVPN
manually)
skal du vælge
Konfigurationsfiler til OpenVPN (OpenVPN
configuration files).
-
Du kan finde den server, du ønsker at forbinde til, ved
at bruge søgefeltet eller ved at rulle
ned. Derefter kan du downloade den ved at klikke på
Download UDP eller
Download TCP.
I denne vejledning bruger vi serveren us5104.nordvpn.com.
-
Under
Konfigurér NordVPN manuelt (Set up NordVPN
manually)
skal du vælge
Konfigurationsfiler til OpenVPN (OpenVPN
configuration files).
-
Log ind på din
Nord Account, og klik på NordVPN.
-
Log ind på din
Nord Account, klik på NordVPN, og under
Manuel konfiguration (Manual Setup) klik på
Adgangsoplysninger til tjenesten (Service
Credentials).
Der finder du dit Brugernavn (Username) og
Adgangskode (Password), som du skal bruge til
at forbinde manuelt.
-
-
Under afsnittet
Upload af OVPN-konfigurationsfil (OVPN Configuration File
Upload)
skal du navngive VPN-forbindelsen i feltet
Instansnavn (Instance Name) (vi har navngivet den
"nordvpn_us"_). Klik derefter på knappen
Vælg fil (Choose File), find den downloadede serverfil,
og klik på Upload.
-
I afsnittet
OpenVPN-forekomster (OpenVPN Instances) skal du klikke
på knappen Redigér (Edit) ud for den forekomst, du har
oprettet.
-
Indtast dine adgangsoplysninger til NordVPN-tjenesten, brugernavn og
adgangskode i det nederste felt på separate linjer.
Brugernavn (Username)
Adgangskode (Password)
Du kan finde dine adgangsoplysninger til NordVPN-tjenesten (brugernavn og adgangskode) i Nord Account-kontrolpanelet. -
Nu skal du kopiere stien til filen med adgangsoplysningerne, som er
angivet lige hen over feltet med adgangsoplysningerne, og indsætte den
ud for linjen "auth-user-pass" i afsnittet
Konfigurationsfil (Config file) ovenfor. Det bør
se sådan ud: auth-user-pass /etc/openvpn/nordvpn_us.auth
-
For at forbinde til VPN-serveren skal du klikke på afkrydsningsfeltet
Aktiveret (Enabled) og derefter på knappen Start
ud for den oprettede NordVPN-instans.
- Klik på knappen Gem og anvend (Save & Apply) nederst.
- Øverst i navigationsmenuen skal du holde musen hen over System og klikke på Genstart (Reboot). En anden side åbnes. Klik på knappen Udfør genstart (Perform reboot), og så skal du logge ind igen.
-
Hold musen hen over fanen Netværk (Network) øverst på
siden, og vælg
Brugerflader (Interfaces):
1. Klik på Tilføj ny brugerflade (Add New Interface).
2. I afsnittet Navn skal du skrive nordvpntun.
3. Klik på Protokol (Protocol), og vælg Ikke administreret (Unmanaged).
4. I rullemenuen "Brugerflade (Interface)" skal du indtaste navnet tun0 i feltet -- custom -- nederst og trykke på Enter-tasten.
- Klik på Opret brugerflade (Create Interface), og Gem (Save).
- Vælg fanen Netværk (Network) øverst, og gå til afsnittet Firewall.
-
Klik på knappen Tilføj (Add), og justér den som
følger:
- Navngiv den "vpnfirewall".
- Angiv indstillingen "Input" til "Afvis (Reject)".
- Lad "Output" stå som "Accept" og "Forward" som "Reject".
- Markér indstillingen "Masquerading".
- Markér indstillingen "MSS clamping".
- Vælg "nordvpntun" i rullemenuen "Dækkede netværk (Covered Networks)".
- I rullemenuen "Tillad videresendelse fra kildezoner (Allow forward from source zones)" skal du vælge "Lan".
-
Klik på knappen "Gem (Save)".
-
I afsnittet Zoner (Zones) skal du finde zonen med
navnet Lan og klikke på knappen
Redigér (Edit).
-
I rullemenuen
Tillad viderestilling til destinationszoner (Allow forward to
destination zones)
skal du markere nordvpntun.
- Klik igen på Netværk (Network) øverst på siden, og vælg derefter DHCP og DNS i rullemenuen.
-
Find indstillingen DNS-videresendelser under fanen
Generelle indstillinger (General Settings), og
indtast NordVPN's DNS-adresser. Adresserne
er: 103.86.96.100 og 103.86.99.100
-
Gå til fanen
Løsnings- og værtsfiler (Resolv and Hosts Files),
markér afkrydsningsfeltet
Ignorer løsningsfilen (Ignore resolve file), og klik på
knappen Gem og anvend (Save & Apply).
- Gå tilbage til fanen VPN > OpenVPN.
-
I afsnittet
OpenVPN-forekomster (OpenVPN instances) skal du markere
indstillingen Aktivér (Enable) ud for
NordVPN-indstillingen på listen og klikke på knappen
Gem og anvend (Save & Apply).
- Klik på knappen Start igen for at forbinde til VPN-serveren.
Anvisninger til brugerfladen CLI
Hvis du ønsker en mere avanceret vejledning, kan du følge denne guide i stedet. Du har brug for en router med både OpenWrt-firmware og en aktiveret OpenVPN-klient for at drage fordel af et VPN på OpenWrt. Firmwarens hovedside er https://openwrt.org/.
- Først skal du kunne tilgå din router med SSH ved hjælp af dens LAN-IP-adresse. IP-adressen er som standard 192.168.1.1, og brugernavnet er root. Men hvis du ændrer nogle af standardværdierne, kan IP-adressen være anderledes.
-
Routeren har som standard ikke OpenVPN-pakken i billedet af firmwaren.
For at installere den skal du køre følgende kommandoer:
Derudover kan du installere LuCI-komponenten i OpenVPN-konfigurationen, hvilket dog er valgfrit. Du kan gøre det ved at køre denne kommando:opkg update opkg install openvpn-openssl opkg install ip-fullopkg install luci-app-openvpn -
Når du har installeret OpenVPN-pakken, kan du ved routerens opstart få
den til at starte automatisk ved at køre denne kommando:
/etc/init.d/openvpn enable -
Dernæst skal du downloade serverens konfigurationsfiler. Følg disse trin
for at gøre det:
-
Log ind på din
Nord Account, og klik på NordVPN.
-
Rul ned til
Avancerede indstillinger (Advanced Settings), og
klik på
Konfigurér NordVPN manuelt (Set up NordVPN Manually).
-
Vælg fanen
Serveranbefaling (Server Recommendation). Vores
algoritme anbefaler den bedste server til dig på baggrund af din
placering.
-
Ved at trykke på
Avancerede filtre (Advanced Filters) kan du
tilpasse de anbefalede servere ved at vælge
Servertype (Server Type) og
Sikkerhedsprotokol (Security Protocol).
Hvis du ønsker at vælge en konkret server, skal du følge disse trin:
-
Under
Konfigurér NordVPN manuelt (Set up NordVPN manually)
skal du vælge
Konfigurationsfiler til OpenVPN (OpenVPN configuration
files).
-
Du kan finde den server, du ønsker at forbinde til, ved at bruge
søgefeltet eller ved at rulle ned. Derefter kan
du downloade den ved at klikke på
Download UDP eller
Download TCP.
-
Under
Konfigurér NordVPN manuelt (Set up NordVPN manually)
skal du vælge
Konfigurationsfiler til OpenVPN (OpenVPN configuration
files).
-
Log ind på din
Nord Account, og klik på NordVPN.
-
I denne vejledning har vi brugt
serveren uk2054.nordvpn.com. Du bør dog bruge den
server, som bliver foreslået på hjemmesiden. For at downloade en
serverfil skal du vælge det land, hvor du ønsker at oprette forbindelse,
klikke på "Vis tilgængelige protokoller (Show Available Protocols)",
højreklikke på "Download config" for "OpenVPN TCP" eller "OpenVPN UDP"
og vælge "Kopiér linkadresse) (Copy Link Address". Derefter vender du
tilbage til din SSH-session og kører følgende kommando:
Du skal dog bruge det link, du har kopieret til din konkrete serverfil. Denne kommando downloader konfigurationsfilen til mappen /etc/openvpn, så den er nem at få adgang til. Du kan også downloade serverens konfigurationsfil på en anden maskine og overføre den til OpenWrt-routeren med andre metoder, f.eks. protokollerne SCP eller SFTP. For ældre versioner af OpenWrt:wget -P /etc/openvpn** [https://downloads.nordcdn.com/configs/files/ovpn\_udp/servers/uk2054.nordvpn.com.udp.ovpn
Du kan blot downloade et arkiv her https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. I det downloadede arkiv finder du de tilsvarende filer med .crt- og .key-udvidelser. Filerne er specifikke for hver VPN's server. -
OpenVPN-konfigurationen for NordVPN kræver, at du indtaster dit
brugernavn og din adgangskode til NordVPN-tjenesten, hver gang OpenVPN
starter. Vi foretager dog nogle justeringer, så adgangsoplysningerne
bliver angivet automatisk. For at gøre processen nemmere installerer vi
først teksteditoren nano ved at køre følgende
kommando:
Du kan også bruge den indbyggede teksteditor vi. Du kan få flere oplysninger om teksteditorer i denne artikel. Nu skal du åbne den downloadede serverkonfigurationsfil med teksteditoren nano. I dette tilfælde vil kommandoen være:opkg install nano
Derefter skal du føje ordet "secret" (uden anførselstegn) til strengen "auth-user-pass". Den endelige linje skal være:nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
Du skal oprette en ny secret file til at gemme adgangsoplysningerne til NordVPN-tjenesten. Det gør du ved at køre følgende kommando:auth-user-pass secret
Det opretter og åbner en nye fil ved hjælp af nano-teksteditoren. I filens første linje skal du indtaste dit brugernavn til NordVPN-tjenesten, og i den anden linje skal du indtaste din adgangskode til NordVPN-tjenesten. Du kan finde dine adgangsoplysninger til NordVPN-tjenesten (brugernavn og adgangskode) i Nord Account-kontrolpanelet.nano /etc/openvpn/secret -
Konfigurér OpenVPN ved hjælp af den downloadede konfigurationsfil på en
af to måder:
-
Skift filtypen fra
.ovpn til .conf, så
OpenVPN automatisk kan finde den ved hjælp af filtypen. Det gør du
med kommandoen mv :
mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf -
Angiv filnavnet i "/etc/config/openvpn" ved hjælp af følgende
"uci"-kommandoer:
Derefter skal filen "/etc/config/openvpn" indeholde følgende tilføjede tekststrenge: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 tjekke det ved at køre denne kommando:config openvpn 'nordvpn' option enabled '1' option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
Du kan også ændre filtypen fra .ovpn til .conf og angive den i filen "/etc/config/openvpn" – i så fald starter OpenVPN dog kun én gang med denne konfigurationsfil.tail /etc/config/openvpn
-
Skift filtypen fra
.ovpn til .conf, så
OpenVPN automatisk kan finde den ved hjælp af filtypen. Det gør du
med kommandoen mv :
-
Opret en ny netværksbrugerflade ved at køre følgende kommandoer:
Filen "/etc/config/network" indeholder nu følgende vedhæftede tekststrenge:uci set network.nordvpntun=interface uci set network.nordvpntun.proto='none' uci set network.nordvpntun.ifname='tun0' uci commit network
Du kan tjekke det ved at køre denne kommando:config interface 'nordvpntun' option proto 'none' option ifname 'tun0'tail /etc/config/network -
Opret en ny firewallzone, og tilføj en videresendelsesregel fra LAN til
VPN ved at køre følgende kommandoer:
Hvis du har fulgt vejledningen korrekt, bør filen "/etc/config/firewall" indeholde følgende tilføjede tekststrenge: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 tjekke det ved at køre denne kommando: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 sidste 13 linjer, der indeholder tekststrengene ovenfor.tail -13 /etc/config/firewall -
Nu skal du konfigurere DNS-serverne. Den nemmeste tilgang er at bruge
NordVPN DNS til routerens WAN-brugerflade. For at tilføje NordVPN DNS
skal du køre 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 ```BEMÆRK: Hvis _du får en fejlmeddelelse "__uci: Entry not found__" efter at have kørt kommandoen_ _uci del network.wan.dns_ _kan du se bort fra den._ Filen "/etc/config/network" bør nu indeholde afsnittet "wan" med de tre nederste tekststrenge tilføjet: ``` config interface 'wan' <...> option peerdns '0' list dns '103.86.96.100' list dns '103.86.99.100' ``` Du kan tjekke ved at køre kommandoen og finde "wan"-brugerfladen i outputtet: ``` cat /etc/config/network ``` Du kan også tilføje forskellige DNS-adresser, såsom Googles, ved at køre disse kommandoer: ``` 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øjede tekststrenge skal ligne de foregående.
(Valgfrit) Kill Switch til OpenWRT 22.02 eller ældre versioner (iptables)
Følg disse trin for at forhindre lækage af trafik i tilfælde af, at VPN-tunnelen afbrydes:
-
Åbn firewall-filen ved hjælp af en teksteditor:
sudo nano /etc/firewall.user -
Tilføj følgende indhold:
\# 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 -
Opret en fil med navnet "99-prevent-leak" i mappen
"/etc/hotplug.d/iface" ved at køre denne kommando:
nano /etc/hotplug.d/iface/99-prevent-leak -
Føj følgende indhold til scriptet:
#!/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
(Valgfrit) Kill Switch til OpenWRT 22.03 eller nyere versioner (nftables)
Følg disse trin for at forhindre lækage af trafik, hvis VPN-tunnelen ikke fungerer.
-
Redigér filen med brugerdefinerede firewall-regler:
sudo nano /etc/firewall.user -
Tilføj følgende tekst:
\# 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 -
Derefter skal du oprette et hotplug-script for at aktivere Kill
Switch automatisk:
sudo nano /etc/hotplug.d/iface/99-prevent-leak -
Føj følgende indhold til scriptet:
#!/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
Script til automatisk genoprettelse af forbindelse
OpenVPN-forbindelsen kan nogle gange gå ned, og i de tilfælde kommer der en logmeddelelse, der indeholder noget i retning af "couldn't resolve host...". I dette tilfælde bevares VPN-tunnelen, men forbindelsen går tabt. For at oprette et script til automatisk genoprettelse af forbindelsen skal du følge disse trin:
-
Åbn filen "/etc/rc.local" med en teksteditor:
sudo nano /etc/rc.local -
Tilføj følgende linje:
/etc/openvpn/reconnect.sh & -
Opret filen "reconnect.sh" i mappen "/etc/openvpn" ved at køre denne
kommando:
sudo nano /etc/openvpn/reconnect.sh -
I filen skal du indtaste følgende scriptindhold:
#!/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
Forbindelsesstatus
Når du har fulgt disse anvisninger, bør routeren forbinde med den konfigurerede forbindelse. For at se, om det lykkedes, skal du gå til NordVPNs hjemmeside – status øverst på siden skal nu være "Beskyttet".
Hvis du ønsker at afbryde forbindelsen til VPN-forbindelsen, kan du klikke på knappen Stop ud for NordVPN-indstillingen i afsnittet VPN > OpenVPN > OpenVPN-forekomster (OpenVPN instances), hvis du har fulgt trinnene i den grafiske brugerflade (GUI). Hvis du imidlertid ønsker at afbryde VPN-forbindelsen, skal du køre følgende kommando:
service openvpn stop