Stöder NordVPN OpenWrt?
Vi har hört att routrar med OpenWRT-firmware stöder VPN-tjänster som NordVPN. Du bör dock ha i åtanke att följande konfiguration inte har testats av NordVPN-personal – den har delats och testats av våra underbara kunder istället. I synnerhet vill NordVPN tacka Ulmwind, en aktiv medlem i OpenWRT-communityn, för kontinuerlig hjälp med att förse oss med uppdaterade OpenWRT-instruktioner.
GUI-instruktioner
I den här guiden visar vi dig hur du konfigurerar en NordVPN-anslutning på routrar med OpenWrt-firmware i LuCI-webbgränssnittet.
-
Du kan gå till LuCI-gränssnittet för din OpenWrt-router genom att ange
dess lokala IP-adress i din webbläsare och logga in. IP-adressen är som
standard 192.168.1.1 och
användarnamnet är root.
OBS: Systemet har som standard inget lösenord, så du kan lämna det fältet tomt. När du loggar in kommer du dock att se ett meddelande från systemet där du ombeds ställa in ett.
För att göra det klickar du på System>Administration och ställer in ett lösenord där. -
När du har loggat in väljer du
fliken System och
sedan Software.
- Klicka på knappen Update lists, vänta tills processen är klar och klicka sedan på Dismiss.
-
Installera följande paket genom att skriva in deras namn i fältet
Filter och klicka på Install…
- openvpn-openssl
- ip-full
-
luci-app-openvpn
- Klicka på Save & Apply och uppdatera router-sidan. Nu bör du se en ny flik med namnet VPN. Klicka på den och välj OpenVPN från rullgardinsmenyn.
-
Nu måste du ladda ner konfigurationsfilerna för OpenVPN-klienten. Sedan
kan du ansluta till en rekommenderad server via ditt
Nord Account. Följ stegen
nedan för att hitta
tjänsteuppgifterna för konfiguration av manuell anslutning:
-
-
Logga in på ditt
Nord Account, klicka på NordVPN, sedan
Manuell konfiguration och sedan
Tjänsteuppgifter. Här hittar du det
användarnamn och lösenord, som
du behöver för att kunna ansluta manuellt.
-
Nu måste du ladda ner konfigurationsfilerna för
OpenVPN-klienten. Följ stegen nedan för att hitta den bästa
servern för din anslutning:
-
Logga in på ditt
Nord Account
och klicka på NordVPN.
-
Skrolla ner till
Avancerade inställningar och klicka på
Konfigurera NordVPN manuellt.
-
Välj fliken Serverrekommendation. Vår
algoritm rekommenderar den bästa servern för dig baserat på
din plats.
-
Om du trycker på Avancerade filter kan du
anpassa vilka servrar som rekommenderas genom att välja
Servertyp och
Säkerhetsprotokoll.
Om du vill välja en specifik server följer du dessa steg:
-
Under
Konfigurera NordVPN manuellt väljer du
OpenVPN-konfigurationsfiler.
-
Du kan hitta den servern du vill ansluta till genom att
använda sökfältet eller skrolla ner.
Därefter kan du ladda ner den genom att klicka på
Ladda ner UDP eller
Ladda ner TCP.
I den här guiden kommer vi att använda servern us5104.nordvpn.com.
-
Under
Konfigurera NordVPN manuellt väljer du
OpenVPN-konfigurationsfiler.
-
Logga in på ditt
Nord Account
och klicka på NordVPN.
-
Logga in på ditt
Nord Account, klicka på NordVPN, sedan
Manuell konfiguration och sedan
Tjänsteuppgifter. Här hittar du det
användarnamn och lösenord, som
du behöver för att kunna ansluta manuellt.
-
-
I avsnittet OVPN configuration file upload ger du
VPN-anslutningen ett namn i fältet Instance name (vi valde namnet "nordvpn_us"). Efter det klickar du på knappen Choose File, letar
upp den nerladdade serverfilen och klickar på Upload.
-
I avsnittet OpenVPN instances klickar du på knappen
Edit bredvid instansen du skapade.
-
Ange dina tjänsteuppgifter för NordVPN, användarnamn och lösenord, i det
nedre fältet på separata rader.
användarnamn
lösenord
Du hittar dina NordVPN-tjänsteuppgifter (användarnamn och lösenord) via kontrollpanelen för ditt Nord Account. -
Kopiera nu sökvägen till filen med tjänsteuppgifterna som finns precis
ovanför fältet med uppgifterna och klistra in den bredvid raden
"auth-user-pass" i avsnittet Config file ovan.
Det ska se ut så här:
auth-user-pass /etc/openvpn/nordvpn_us.auth
-
För att ansluta till VPN-servern markerar du rutan
Enabled och trycker sedan på knappen
Start bredvid NordVPN-instansen som du har skapat.
- Klicka på knappen Save & Apply längst ned.
- Håll muspekaren över System högst upp i navigeringsmenyn och klicka på Reboot. En annan sida öppnas. Klicka på knappen Perform reboot och logga in igen.
-
Håll muspekaren över fliken Network högst upp på sidan
och välj Interfaces:1. Klicka på
Add new interface.
2. I avsnittet Name skriver du nordvpntun.
3. Klicka på Protocol och välj Unmanaged.
4. I rullgardinsmenyn Interface skriver du namnet tun0 i fältet -- custom -- längst ner och trycker på Enter.
- Klicka på Create interface och Save.
- Välj fliken Network högst upp och gå till avsnittet Firewall.
-
Klicka på knappen Add och gör följande:
- Döp den till "vpnfirewall".
- Ställ in alternativet Input på Reject.
- Lämna Output som Accept och Forward som Reject.
- Markera alternativet Masquerading.
- Markera alternativet MSS clamping.
- I rullgardinsmenyn Covered Networks väljer du nordvpntun.
- I rullgardinsmenyn Allow forward from source zones väljer du plan.
-
Klicka på knappen Save.
-
I avsnittet Zones letar du upp zonen med namnet
"lan" och klickar på knappen Edit.
-
I rullgardinsmenyn
Allow Forward to Destination Zones väljer du
NordVPN.
- Klicka sedan på Network överst på sidan och välj DHCP and DNS från rullgardinsmenyn.
-
Hitta alternativet för DNS-vidarebefordran på fliken
General Settings och ange NordVPN:s DNS-adresser.
Adresserna
är: 103.86.96.100 och 103.86.99.100.
-
Gå till fliken Resolv and Hosts Files, markera rutan
Ignore resolve file och klicka på knappen
Save & Apply.
- Gå tillbaka till fliken VPN > OpenVPN.
-
I avsnittet OpenVPN instances markerar du alternativet
Enable bredvid NordVPN-alternativet i listan och
klickar på knappen Save & Apply.
- Klicka på knappen Start igen för att ansluta till VPN-servern.
CLI-instruktioner
Om du vill ha en mer avancerad guide kan du använda den här istället. Du behöver en router med både OpenWrt-firmware och en aktiverad OpenVPN-klient för att kunna använda ett VPN på OpenWrt. Firmwarens startsida är https://openwrt.org/.
- Först måste du kunna gå till din router via SSH med hjälp av dess LAN-IP-adress. IP-adressen är som standard 192.168.1.1 och användarnamnet är root, men om du ändrar standardvärdena kan IP-adressen vara något annat.
-
Routern har inte OpenVPN-paketet i firmwaren som standard. För att
installera det kan du köra följande kommandon:
Dessutom kan du installera OpenVPN-konfigurationens LuCI-komponent, men det är valfritt. Du kan göra det genom att köra det här kommandot:opkg update opkg install openvpn-openssl opkg install ip-fullopkg install luci-app-openvpn -
När du har installerat OpenVPN-paketet kan du ställa in att det startar
automatiskt när routern startar genom att köra det här kommandot:
/etc/init.d/openvpn enable -
Nu måste du ladda ner konfigurationsfilerna för servern. Följ dessa steg
för att göra det:
-
Logga in på ditt
Nord Account
och klicka på NordVPN.
-
Skrolla ner till Avancerade inställningar och
klicka på Konfigurera NordVPN manuellt.
-
Välj fliken Serverrekommendation. Vår algoritm
rekommenderar den bästa servern för dig baserat på din plats.
-
Om du trycker på Avancerade filter kan du anpassa
vilka servrar som rekommenderas genom att välja
Servertyp och Säkerhetsprotokoll.
Om du vill välja en specifik server följer du dessa steg:
-
Under Konfigurera NordVPN manuellt väljer du
OpenVPN-konfigurationsfiler.
-
Du kan hitta den servern du vill ansluta till genom att använda
sökfältet eller skrolla ner. Därefter kan du
ladda ner den genom att klicka på
Ladda ner UDP eller
Ladda ner TCP.
-
Under Konfigurera NordVPN manuellt väljer du
OpenVPN-konfigurationsfiler.
-
Logga in på ditt
Nord Account
och klicka på NordVPN.
-
I den här guiden använder vi
servern uk2054.nordvpn.com, men du bör använda
servern som webbplatsen rekommenderar för dig. För att ladda ner en
serverfil väljer du det land som du vill ansluta till och klickar på
Visa tillgängliga protokoll. Högerklicka sedan på Ladda ner
konfiguration för "OpenVPN TCP" eller "OpenVPN UDP" och välj Kopiera
länkadress. När det är klart går du tillbaka till din SSH-session och
kör följande kommando:
Du ska dock använda länken du kopierade för din specifika serverfil. Det här kommandot laddar ner konfigurationsfilen till katalogen /etc/openvpn så att den är enkel att komma åt. Du kan också välja att ladda ner serverkonfigurationsfilen på en annan enhet och överföra den till OpenWrt-routern via andra metoder, t.ex. SCP- eller SFTP-protokoll. För äldre OpenWrt-versioner:wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn\_udp/servers/uk2054.nordvpn.com.udp.ovpn
Du kan helt enkelt ladda ner ett arkiv här: https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. I det nedladdade arkivet kommer du att hitta de motsvarande filerna med .crt- och .key-ändelser. Det finns specifika filer för varje VPN-server. -
OpenVPN-konfigurationen för NordVPN kräver att du anger dina
NordVPN-tjänsteuppgifter (användarnamn och lösenord) varje gång OpenVPN
startas. Vi kommer dock att göra några ändringar, så att uppgifterna
tillhandahålls automatiskt. Först kommer vi, för att göra processen
enklare, att installera
textredigeraren nano genom att köra följande
kommando:
Du kan också använda den inbyggda textredigeraren vi. Mer information om textredigerare finns i den här artikeln. Öppna nu den nedladdade konfigurationsfilen för servern med textredigeraren nano. I vårt fall är kommandot:opkg install nano
Efter det lägger du till ordet "secret" (utan citattecken) till strängen "auth-user-pass". Du bör då ha den här raden:nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
Du måste skapa en ny secret-fil för att lagra tjänsteuppgifterna från NordVPN. För att göra det kör du följande kommando:auth-user-pass secret
Det skapar och öppnar en ny fil med textredigeraren nano. På den första raden i filen anger du användarnamnet och på den andra raden lösenordet från dina NordVPN-tjänsteuppgifter. Du hittar dina NordVPN-tjänsteuppgifter (användarnamn och lösenord) via kontrollpanelen för ditt Nord Account.nano /etc/openvpn/secret -
Konfigurera OpenVPN med hjälp av den nedladdade konfigurationsfilen på
ett av följande två sätt:
-
Ändra filnamnstillägget
från .ovpn till .conf.
Detta gör det möjligt för OpenVPN att hitta den automatiskt genom
dess filnamnstillägg. För att göra det kan du använda
kommandot mv:
mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf -
Ange filnamnet i "/etc/config/openvpn" genom att använda följande
"uci"-kommandon:
Efter det bör filen "/etc/config/openvpn" ha följande strängar tillagda: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 kontrollera detta genom att köra följande kommando:config openvpn 'nordvpn' option enabled '1' option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
Du kan också ändra filens filnamnstillägg från .ovpn till .conf och ange det i "file/etc/config/openvpn" – om du gör det kommer OpenVPN dock bara att starta med den här konfigurationsfilen en gång.tail /etc/config/openvpn
-
Ändra filnamnstillägget
från .ovpn till .conf.
Detta gör det möjligt för OpenVPN att hitta den automatiskt genom
dess filnamnstillägg. För att göra det kan du använda
kommandot mv:
-
Skapa ett nytt nätverksgränssnitt genom att köra följande kommandon:
Filen "/etc/config/network" innehåller nu följande tillagda strängar:uci set network.nordvpntun=interface uci set network.nordvpntun.proto='none' uci set network.nordvpntun.ifname='tun0' uci commit network
Du kan kontrollera detta genom att köra följande kommando:config interface 'nordvpntun' option proto 'none' option ifname 'tun0'tail /etc/config/network -
Skapa en ny brandväggszon och lägg till en regel för vidarebefordran
från LAN till VPN genom att köra följande kommandon:
Om det görs på rätt sätt bör filen "/etc/config/firewall" nu ha följande strängar tillagda: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 kontrollera detta genom att köra följande 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'
Detta visar de sista 13 raderna som innehåller strängarna ovan.tail -13 /etc/config/firewall -
Nu måste du konfigurera DNS-servrarna. Det enklaste sättet är att
använda NordVPN DNS för routerns WAN-gränssnitt. För att lägga till
NordVPN DNS kör du följande kommandon:```` 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 ```OBS: Om _du får felmeddelandet "__uci: Entry not found__" efter du kört kommandot_ _uci del network.wan.dns_ _kan du ignorera det._ Filen "/etc/config/network" bör innehålla avsnittet "wan" med de tre nedersta strängarna tillagda: ``` config interface 'wan' <...> option peerdns '0' list dns '103.86.96.100' list dns '103.86.99.100' ``` Du kan kontrollera detta genom att köra kommandot och leta upp "wan"-gränssnittet i outputen: ``` cat /etc/config/network ``` Du kan också lägga till andra DNS-adresser, som Googles, genom att köra följande kommandon: ``` 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 tillagda strängarna bör likna de föregående.
(Valfritt) Kill Switch för OpenWRT 22.02 eller äldre versioner (iptables)
Följ dessa steg för att förhindra trafikläckage om VPN-tunneln kopplas från:
-
Öppna brandväggsfilen i en textredigerare:
sudo nano /etc/firewall.user -
Lägg till följande innehåll:
\# 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 -
Skapa en fil med namnet "99-prevent-leak" i mappen
"/etc/hotplug.d/iface" genom att köra följande kommando:
nano /etc/hotplug.d/iface/99-prevent-leak -
Lägg till följande innehåll 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
(Valfritt) Kill Switch för OpenWRT 22.03 eller nyare versioner (nftables)
Följ dessa steg för att förhindra trafikläckage om VPN-tunneln inte fungerar.
-
Redigera filen med anpassade brandväggsregler:
sudo nano /etc/firewall.user -
Ange följande text:
\# 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 -
Sedan måste du skapa ett hotplug-skript för att aktivera Kill
Switch automatiskt:
sudo nano /etc/hotplug.d/iface/99-prevent-leak -
Ange följande innehåll 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 för automatisk återanslutning
OpenVPN-anslutningen kan ibland krascha och du får loggoutputen "couldn’t resolve host…" eller något liknande. I det här fallet finns VPN-tunneln kvar, men anslutningen har försvunnit. Om du vill skapa ett skript för att automatiskt återansluta följer du dessa steg:
-
Öppna filen "/etc/rc.local" i en textredigerare:
sudo nano /etc/rc.local -
Lägg till följande rad:
/etc/openvpn/reconnect.sh & -
Skapa filen "reconnect.sh" i katalogen "/etc/openvpn" genom att köra
följande kommando:
sudo nano /etc/openvpn/reconnect.sh -
I filen anger du följande skriptinnehåll:
#!/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
Anslutningsstatus
När du har följt de här instruktionerna bör routern kunna ansluta via den konfigurerade anslutningen. För att kontrollera om du lyckades kan du gå till NordVPN:s hemsida – statusen högst upp på sidan bör vara "Skyddad".
Om du vill koppla från VPN-anslutningen klickar du på knappen Stop bredvid NordVPN-alternativet i avsnittet VPN > OpenVPN > OpenVPN instances om du följde GUI-stegen. Om du vill koppla bort VPN-anslutningen kör du följande kommando:
service openvpn stop