Konfigurera NordVPN på OpenWrt

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.

  1. 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.
  2. När du har loggat in väljer du fliken System och sedan Software.



  3. Klicka på knappen Update lists, vänta tills processen är klar och klicka sedan på Dismiss.
  4. Installera följande paket genom att skriva in deras namn i fältet Filter och klicka på Install…
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn



  5. 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.
  6. 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:
      1. 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.



      2. 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:
        1. Logga in på ditt Nord Account och klicka på NordVPN.



        2. Skrolla ner till Avancerade inställningar och klicka på Konfigurera NordVPN manuellt.



        3. Välj fliken Serverrekommendation. Vår algoritm rekommenderar den bästa servern för dig baserat på din plats.



        4. 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:
          1. Under Konfigurera NordVPN manuellt väljer du OpenVPN-konfigurationsfiler.



          2. 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.
  7. 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.



  8. I avsnittet OpenVPN instances klickar du på knappen Edit bredvid instansen du skapade.



  9. 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.
  10. 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


  11. För att ansluta till VPN-servern markerar du rutan Enabled och trycker sedan på knappen Start bredvid NordVPN-instansen som du har skapat.



  12. Klicka på knappen Save & Apply längst ned.
  13. 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.
  14. 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.



     
    
  15. Klicka på Create interface och Save.
  16. Välj fliken Network högst upp och gå till avsnittet Firewall.
  17. Klicka på knappen Add och gör följande:
    1. Döp den till "vpnfirewall".
    2. Ställ in alternativet InputReject.
    3. Lämna Output som Accept och Forward som Reject.
    4. Markera alternativet Masquerading.
    5. Markera alternativet MSS clamping.
    6. I rullgardinsmenyn Covered Networks väljer du nordvpntun.
    7. I rullgardinsmenyn Allow forward from source zones väljer du plan.
    8. Klicka på knappen Save.



  18. I avsnittet Zones letar du upp zonen med namnet "lan" och klickar på knappen Edit.



     
  19. I rullgardinsmenyn Allow Forward to Destination Zones väljer du NordVPN.



     
  20. Klicka sedan på Network överst på sidan och välj DHCP and DNS från rullgardinsmenyn.
  21. 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.



     
  22. Gå till fliken Resolv and Hosts Files, markera rutan Ignore resolve file och klicka på knappen Save & Apply.



     
  23. Gå tillbaka till fliken VPN > OpenVPN.
  24. I avsnittet OpenVPN instances markerar du alternativet Enable bredvid NordVPN-alternativet i listan och klickar på knappen Save & Apply.



  25. 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/.

  1. 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.
  2. Routern har inte OpenVPN-paketet i firmwaren som standard. För att installera det kan du köra följande kommandon:
    opkg update  
    opkg install openvpn-openssl  
    opkg install ip-full
    
    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 install luci-app-openvpn
    
  3. 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
    
  4. Nu måste du ladda ner konfigurationsfilerna för servern. Följ dessa steg för att göra det:
    1. Logga in på ditt Nord Account och klicka på NordVPN.



    2. Skrolla ner till Avancerade inställningar och klicka på Konfigurera NordVPN manuellt.



    3. Välj fliken Serverrekommendation. Vår algoritm rekommenderar den bästa servern för dig baserat på din plats.



    4. 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:
      1. Under Konfigurera NordVPN manuellt väljer du OpenVPN-konfigurationsfiler.



      2. 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.



  5. 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:
    wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn\_udp/servers/uk2054.nordvpn.com.udp.ovpn
    
    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:
    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.
  6. 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:
    opkg install nano
    
    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:
    nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
    
    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:
    auth-user-pass secret
    
    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:
    nano /etc/openvpn/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.
  7. Konfigurera OpenVPN med hjälp av den nedladdade konfigurationsfilen på ett av följande två sätt:
    1. Ä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
      
    2. Ange filnamnet i "/etc/config/openvpn" genom att använda följande "uci"-kommandon:
      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
      
      Efter det bör filen "/etc/config/openvpn" ha följande strängar tillagda:
      config openvpn 'nordvpn'  
      option enabled '1'  
      option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
      
      Du kan kontrollera detta genom att köra följande kommando:
      tail /etc/config/openvpn
      
      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.
  8. Skapa ett nytt nätverksgränssnitt genom att köra följande kommandon:
    uci set network.nordvpntun=interface  
    uci set network.nordvpntun.proto='none'  
    uci set network.nordvpntun.ifname='tun0'  
    uci commit network
    
    Filen "/etc/config/network" innehåller nu följande tillagda strängar:
    config interface 'nordvpntun'  
    option proto 'none'  
    option ifname 'tun0'
    
    Du kan kontrollera detta genom att köra följande kommando:
     tail /etc/config/network 
    
  9. 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:
    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
    
    Om det görs på rätt sätt bör filen "/etc/config/firewall" nu ha följande strängar tillagda:
    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'
    
    Du kan kontrollera detta genom att köra följande kommando:
    tail -13 /etc/config/firewall
    
    Detta visar de sista 13 raderna som innehåller strängarna ovan.
  10. 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:

  1. Öppna brandväggsfilen i en textredigerare:
    sudo nano /etc/firewall.user
    
  2. 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
    
  3. 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
    
  4. 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.

  1. Redigera filen med anpassade brandväggsregler:
    sudo nano /etc/firewall.user
    
  2. 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
    
  3.  Sedan måste du skapa ett hotplug-skript för att aktivera Kill Switch automatiskt:
    sudo nano /etc/hotplug.d/iface/99-prevent-leak
    
  4. 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:

  1. Öppna filen "/etc/rc.local" i en textredigerare:
    sudo nano /etc/rc.local
    
  2. Lägg till följande rad:
    /etc/openvpn/reconnect.sh &
    
  3. Skapa filen "reconnect.sh" i katalogen "/etc/openvpn" genom att köra följande kommando:
    sudo nano /etc/openvpn/reconnect.sh
    
  4. 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
Var den här artikeln till hjälp?

Har du fortfarande problem?

  • Livechatt

  • E-postformulär

Chattfunktionen är beroende av cookies. Genom att starta chatten godkänner du att cookies används. Läs mer i vår Cookiepolicy.