OpenWrt instellen met NordVPN

**Ondersteunt NordVPN OpenWrt?

Rapporten geven aan dat routers met OpenWRT-firmware VPN's zoals NordVPN ondersteunen. Houd er echter rekening mee dat de volgende configuratie niet door het NordVPN-personeel is getest. Deze is gedeeld en getest door onze geweldige klanten. In het bijzonder wil NordVPN Unwind, een actief lid van de OpenWRT gemeenschap, bedanken voor hun voortdurende hulp bij het verstrekken van up-to-date OpenWRT instructies.

GUI-instructies

In deze handleiding laten we je zien hoe je een NordVPN verbinding instelt op routers met OpenWrt firmware via de LuCI-webinterface.

  1. Krijg toegang tot de LuCI-interface van je OpenWrt-router door het lokale IP-adres in te voeren in je internetbrowser en in te loggen. Het standaard IP-adres is 192.168.1.1 en de gebruikersnaam is root.



    LET OP: Het systeem stelt standaard geen wachtwoord in, dus je kunt dit veld leeg laten. Als je echter inlogt, zal het systeem een ​​bericht weergeven waarin je wordt gevraagd er een in te stellen._



    Klik hiervoor op Systeem > Administratie en stel daar een wachtwoord in.
  2. Nadat je bent ingelogd, selecteer je het tabblad Systeem en kies je Software.



  3. Klik op de knop lijsten bijwerken, wacht tot het proces is voltooid en klik op verwijderen.
  4. Installeer de volgende pakketten door hun naam in te typen in het filter veld en op installeren... te klikken
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn



  5. Klik op “Opslaan en toepassen” en vernieuw de routerpagina. Nu zou je een nieuw tabblad moeten zien met de naam VPN. Klik erop en kies OpenVPN uit de vervolgkeuzelijst.
  6. Nu moet je de configuratiebestanden van de OpenVPN-client downloaden. Vervolgens kun je via je NordAccount verbinding maken met een aanbevolen server. Volg de onderstaande stappen om de service-referenties voor handmatige verbindingsinstellingen te vinden:
      1. Log in op je Nord Account, klik op NordVPN en klik onder Handmatig instellen op Service-referenties. Hier vind je de gebruikersnaam en het wachtwoord dat je nodig hebt om handmatig verbinding te maken.



      2. Nu moet je de configuratiebestanden voor de OpenVPN-client downloaden. Volg de onderstaande stappen om de beste server voor je verbinding te vinden:
        1. Log in op je Nord Account en klik op NordVPN.



        2. Scrol omlaag naar Geavanceerde instellingen en klik op NordVPN handmatig instellen.



        3. Selecteer het tabblad Aanbevolen server. Ons algoritme beveelt de beste server voor je aan, afhankelijk van je locatie.



        4. Door op Geavanceerde filters te klikken, kun je de aanbevolen servers verder aanpassen door het Servertype en het Veiligheidsprotocol te selecteren.






          Volg deze stappen als je een specifieke server wilt selecteren:
          1. Selecteer OpenVPN configuratiebestanden onder NordVPN handmatig instellen.


          2. Vind de server waarmee je verbinding wilt maken via de zoekbalk of door omlaag te scrollen. Vervolgens kun je het downloaden door op Download UDP of Download TCP te klikken.



            Voor deze handleiding gebruiken we de us5104.nordvpn.com server.
  7. Geef in het veld instance name in het gedeelte OVPN-configuratiebestand uploaden de VPN-verbinding een naam (we hebben deze "nordvpn_us"_ genoemd). Klik vervolgens op de knop bestand kiezen, zoek het gedownloade serverbestand en klik op upload.



  8. Klik in de OpenVPN instanties sectie op bewerken naast de instantie die je zojuist hebt aangemaakt.



  9. Voer je NordVPN service-referenties, gebruikersnaam en wachtwoord in het onderste veld op aparte regels in. gebruikersnaam
    wachtwoord



    Je vind je NordVPN service-referenties (gebruikersnaam en wachtwoord) in je Nord Account dashboard.
  10. Kopieer nu het pad naar het inloggegevensbestand dat rechts boven het veld met de inloggegevens staat en plak het naast de regel “auth-user-pass” in de sectie “configuratiebestand” hierboven. Het zou er zo uit moeten zien: auth-user-pass /etc/openvpn/nordvpn_us.auth


  11. Om verbinding te maken met de VPN-server, klik je op het selectievakje Ingeschakeld en vervolgens op de knop Start naast de aangemaakte NordVPN instantie.



  12. Klik onderaan op de knop opslaan en toepassen.
  13. Ga boven in het navigatiemenu met de muis over Systeem en klik op Opnieuw opstarten. Een andere pagina wordt geopend. Klik op de knop Opnieuw opstarten. Meld je vervolgens opnieuw aan.
  14. Ga naar het tabblad netwerk bovenaan de pagina en klik op interfaces:1. Klik op Nieuwe interface toevoegen....
    2. Voer nordvpntun in de sectie naam in.
    3. Klik op protocol en kies onbeheerd.
    4. Voer in het “Interface” vervolgkeuzemenu de naam “tun0” in het onderste -- custom -- veld in en druk op Enter.



     
    
  15. Klik op Interface aanmaken en opslaan.
  16. Kies het tabblad “Netwerk” bovenaan en ga naar de sectie “Firewall”.
  17. Klik op de knop toevoegen en pas deze als volgt aan:```
  18. Geef het de naam “vpnfirewall".
2.  Stel de optie “Invoer” in op “Afwijzen".
3.  Laat “Uitvoer” staan op “Accepteren” en “Doorsturen” op “Afwijzen".
4.  Vink de optie “Masquerading” aan.
5.  Vink de optie “MSS klemming” aan.
6.  Kies “nordvpntun” in het vervolgkeuzemenu “Covered Networks".
7.  Kies “lan” in het vervolgkeuzemenu “Allow forward from source zones".
8.  Klik op de knop “Opslaan”.
```

        ![](https://support.nordvpn.com/hc/article_attachments/36295853345553)

18. Zoek in het gedeelte “Zones” de zone met de naam lan en klik op de knop “Bewerken”.

    ![](https://support.nordvpn.com/hc/article_attachments/36295858970129)  
     

19. Schakel in het vervolgkeuzemenu “Allow forward to destination zones” de optie “NordVPN” in.

    ![](https://support.nordvpn.com/hc/article_attachments/36295858979089)  
     

20. Klik nogmaals op “Netwerk‘’ bovenaan de pagina en kies vervolgens ‘DHCP en DNS’ uit de vervolgkeuzelijst.
21. Zoek de optie DNS-doorsturen in het tabblad algemene instellingen en voer de DNS-adressen van NordVPN in. De adressen zijn: 103.86.96.100 en 103.86.99.100

    ![](https://support.nordvpn.com/hc/article_attachments/36295858983697)  
     

22. Ga naar het tabblad “Resolv and Hosts Files”, vink het selectievakje “Ignore resolve file” aan en klik op de knop “Opslaan en toepassen”.

    ![](https://support.nordvpn.com/hc/article_attachments/36295853354001)  
     

23. Ga terug naar het tabblad VPN > OpenVPN.
24. Vink in het gedeelte “OpenVPN instanties” de optie “Inschakelen” aan naast de NordVPN-optie in de lijst en klik op “Opslaan en toepassen”.

    ![](https://support.nordvpn.com/hc/article_attachments/36295858989585)  
      

25. Klik nogmaals op de knop start om verbinding te maken met de VPN-server.

## CLI-instructies

Als je op zoek bent naar een meer geavanceerde tutorial, volg dan deze handleiding. Om te profiteren van de voordelen van een VPN op OpenWrt, heb je een router nodig met zowel OpenWrt-firmware als een ingeschakelde OpenVPN-client. De hoofdpagina van de firmware is [https://openwrt.org/](https://openwrt.org/).

1. Eerst moet je via SSH toegang kunnen krijgen tot je router met behulp van het LAN IP-adres. Standaard is het IP-adres 192.168.1.1 en de gebruikersnaam root. Als je echter de standaardwaarden wijzigt, kan het IP-adres afwijken.

2. De router heeft het OpenVPN-pakket standaard niet in de firmware-image. Voer de volgende commando's uit om het te installeren:
      ```
      opkg update**  
      opkg install openvpn-openssl  
      **opkg install ip-full
      ```
    Daarnaast kun je de LuCI-component van de OpenVPN-configuratie installeren, maar dit is optioneel. Je kunt dit doen door dit commando uit te voeren:
      ```
      opkg install luci-app-openvpn
      ```

3. Zodra je het OpenVPN pakket hebt geïnstalleerd, kun je het automatisch laten opstarten wanneer de router opstart door dit commando uit te voeren:
      ```
      /etc/init.d/openvpn enable
      ```

4. Vervolgens moet je de configuratiebestanden van de server downloaden. Volg deze stappen om dit te doen:
    1. Log in op je [Nord Account](https://my.nordaccount.com/) en klik op NordVPN.

        ![](https://support.nordvpn.com/hc/article_attachments/36295853291537)

    2. Scrol omlaag naar Geavanceerde instellingen en klik op NordVPN handmatig instellen.

        ![](https://support.nordvpn.com/hc/article_attachments/36295853299089)

    3. Selecteer het tabblad Serveraanbeveling. Ons algoritme beveelt de beste server voor je aan, afhankelijk van je locatie.

        ![](https://support.nordvpn.com/hc/article_attachments/36295858945425)

    4. Door op Geavanceerde filters te klikken, kun je de aanbevolen servers verder aanpassen door het Servertype en het Veiligheidsprotocol te selecteren.

        ![](https://support.nordvpn.com/hc/article_attachments/36295858946193)

        ![](https://support.nordvpn.com/hc/article_attachments/36295853304465)

        Volg deze stappen als je een specifieke server wilt selecteren:

        1. Selecteer OpenVPN configuratiebestanden onder NordVPN handmatig instellen.

            ![](https://support.nordvpn.com/hc/article_attachments/36295858948369)

        2. Vind de server waarmee je verbinding wilt maken via de zoekbalk of door omlaag te scrollen. Vervolgens kun je het downloaden door op Download UDP of Download TCP te klikken.

            ![](https://support.nordvpn.com/hc/article_attachments/36295853314449)

5. Voor deze handleiding hebben we de server uk2054.nordvpn.com gebruikt, maar je moet de server gebruiken die de website voor je suggereert.

    Om een serverbestand te downloaden, kies je het land waar je verbinding wilt maken, klik je op “Beschikbare protocollen weergeven”, klik je met de rechtermuisknop op “Download config” voor “OpenVPN TCP” of “OpenVPN UDP” en kies je “Linkadres kopiëren."

    Ga daarna terug naar je SSH-sessie en voer het volgende commando uit:

      ```
      wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn\_udp/servers/uk2054.nordvpn.com.udp.ovpn
      ```

    Zorg er wel voor dat je de link gebruikt die je hebt gekopieerd voor jouw specifieke serverbestand. Dit commando downloadt het configuratiebestand naar de /etc/openvpn directory voor gemakkelijke toegang.

    Je kunt daarnaast ook het configuratiebestand van de server downloaden op een andere machine en het overbrengen naar de OpenWrt router met alternatieve methoden, zoals SCP of SFTP protocollen.

    Voor oudere OpenWrt builds:_\
    Je kunt hier eenvoudig een archief downloaden [https://downloads.nordcdn.com/configs/archives/certificates/servers.zip](https://downloads.nordcdn.com/configs/archives/certificates/servers.zip). In het gedownloade archief vind je de bijbehorende bestanden met de extensies .crt en .key. De bestanden zijn specifiek voor elke VPN-server.

6. De OpenVPN configuratie voor NordVPN vereist dat je je NordVPN service-referenties, gebruikersnaam en wachtwoord invoert elke keer als OpenVPN start. We zullen echter enkele wijzigingen aanbrengen zodat de referenties automatisch worden verstrekt.

    Om het proces eenvoudiger te maken, installeren we eerst de teksteditor nano door het volgende commando uit te voeren:

      ```
      opkg install nano
      ```

    Anders kun je de geïntegreerde vi teksteditor gebruiken. Zie dit [artikel](https://openwrt.org/docs/guide-user/base-system/user.beginner.cli) voor meer informatie over teksteditors.

    Open nu het gedownloade serverconfiguratiebestand met de teksteditor nano. In ons geval zou het commando zijn:

      ```
      nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
      ```

    Voeg daarna het woord “secret” (zonder aanhalingstekens) toe aan de string “auth-user-pass". De resulterende regel zou moeten zijn:

      ```
      auth-user-pass secret
      ```

    Je moet een nieuw _secret file_ maken om de NordVPN service-referenties op te slaan. Voer hiervoor het volgende commando uit:

      ```
      nano /etc/openvpn/secret
      ```

    Het nieuwe bestand wordt aangemaakt en geopend met de teksteditor nano.

    Op de eerste regel van het bestand voer je je gebruikersnaam voor de NordVPN service in en op de tweede regel je wachtwoord.

    Je vind je NordVPN service-referenties (gebruikersnaam en wachtwoord) in je [Nord Account dashboard](https://my.nordaccount.com/dashboard/nordvpn/).

7. Configureer OpenVPN met behulp van het gedownloade configuratiebestand op een van de volgende twee manieren:
    1. Verander de extensie van het bestand van .ovpn naar .conf, zodat OpenVPN het automatisch kan vinden aan de hand van de extensie.

        Hier kun je het commando mv voor gebruiken:

          ```
          mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf
          ```


    2. Geef de bestandsnaam op in “/etc/config/openvpn” door de volgende “uci” commando's te gebruiken:
          ```
          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
          ```
        Daarna zou het bestand “/etc/config/openvpn” de volgende strings moeten bevatten:
          ```
          config openvpn 'nordvpn'  
          option enabled '1'  
          option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
          ```
        Je kunt dit controleren door dit commando uit te voeren:
          ```
          tail /etc/config/openvpn
          ```
        Je kunt de extensie van het bestand van .ovpn naar .conf veranderen en het specificeren in het bestand “/etc/config/openvpn” - in dat geval zal OpenVPN echter slechts eenmaal met dit configuratiebestand starten.

8. Maak een nieuwe netwerkinterface door de volgende commando's uit te voeren:
      ```
      uci set network.nordvpntun=interface  
      uci set network.nordvpntun.proto='none'  
      uci set network.nordvpntun.ifname='tun0'  
      uci commit network
      ```
    Het bestand "/etc/config/network" bevat nu de volgende nieuwe strings:
      ```
      config interface 'nordvpntun'  
      option proto 'none'  
      option ifname 'tun0'
      ```
    Je kunt dit controleren door dit commando uit te voeren:
      ```
       tail /etc/config/network 
      ```

9. Maak een nieuwe firewallzone aan en voeg een doorstuurregel toe van LAN naar VPN door de volgende commando's uit te voeren:
      ```
      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
      ```
    Als dit goed is gedaan, zou het bestand “/etc/config/firewall” de volgende strings moeten bevatten:
      ```
      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'
      ```
    Je kunt dit controleren door dit commando uit te voeren:
      ```
      tail -13 /etc/config/firewall
      ```
    Hiermee worden de laatste 13 regels met de bovenstaande strings weergegeven.

10. Nu moet je de DNS-servers configureren. De eenvoudigste manier is om NordVPN DNS te gebruiken voor de WAN-interface van de router. Om NordVPN DNS toe te voegen, voer je de volgende commando's uit:````
        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
        ```
    ````

    OPMERKING: Als je de foutmelding "__uci: Entry not found__" krijgt nadat je het commando _uci del network.wan.dns_ hebt uitgevoerd, kun je deze negeren.

    Het bestand "/etc/config/network" moet de sectie ''wan'' bevatten met de drie onderste strings toegevoegd:
    
    ```
    config interface 'wan'
    <...>
    option peerdns '0'
    list dns '103.86.96.100'
    list dns '103.86.99.100'
    ```
    
    Je kunt dit controleren door de opdracht uit te voeren en de ''wan''-interface in de uitvoer te zoeken:
    
    ```
    cat /etc/config/network
    ```
    Je kunt ook andere DNS-adressen toevoegen, zoals die van Google, door deze commando's uit te voeren:
    
    ```
    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 toegevoegde strings moeten vergelijkbaar zijn met de vorige.

### (Optioneel) Killswitch voor OpenWRT 22.02 of oudere versies (iptables)

Om te voorkomen dat er data weglekt als de VPN-tunnel wordt verbroken, volg je deze stappen:

1. Open het firewall bestand met een teksteditor:
      ```
      sudo nano /etc/firewall.user
      ```

2. Voeg de volgende inhoud toe :
      ```
      \# 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. Maak een bestand met de naam "99-prevent-leak" in de map "/etc/hotplug.d/iface" door het volgende commando uit te voeren:
      ```
      nano /etc/hotplug.d/iface/99-prevent-leak
      ```

4. Voeg de volgende inhoud toe aan het script:
      ```
      #!/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
      ```

### (Optioneel) Killswitch voor OpenWRT 22.03 of nieuwere versies (nftables)

Volg deze stappen om dataverlies te voorkomen als de VPN-tunnel niet werkt.

1. Bewerk het bestand met aangepaste firewallregels:
      ```
      sudo nano /etc/firewall.user
      ```

2. Schrijf deze functie:
      ```
      \# 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. Vervolgens moet je een hotplug-script maken om de killswitch automatisch te activeren:
      ```
      sudo nano /etc/hotplug.d/iface/99-prevent-leak
      ```

4. Voeg de volgende inhoud toe aan het script:
      ```
      #!/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
      ```

### Automatic reconnect script

In sommige gevallen kan de OpenVPN-verbinding crashen met een loguitvoer die lijkt op “couldn't resolve host...”. In dit geval blijft de VPN-tunnel zelf bestaan, maar gaat de verbinding verloren. Voer de volgende stappen uit om een ​​script te maken dat automatisch opnieuw verbinding maakt:

1. Open het "/etc/rc.local" bestand met een teksteditor:
      ```
      sudo nano /etc/rc.local
      ```

2. Voeg de volgende regel toe:
      ```
      /etc/openvpn/reconnect.sh &
      ```

3. Maak het bestand "reconnect.sh" in de map "/etc/openvpn" door het volgende commando uit te voeren:
      ```
      sudo nano /etc/openvpn/reconnect.sh
      ```

4. Voer de volgende scriptinhoud in het bestand in:
      ```
      #!/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
      ```

## Verbindingsstatus

Als je deze instructies hebt gevolgd, zou je verbonden moeten zijn via de geconfigureerde verbinding. Om te controleren of het is gelukt, ga je naar de startpagina van NordVPN - de status bovenaan de pagina zou “Beschermd” moeten zijn.

Als je de VPN-verbinding wilt verbreken, kun je op stoppen klikken naast de NordVPN-optie in VPN > OpenVPN > OpenVPN-instanties sectie als je de GUI stappen hebt gevolgd. Als je de VPN-verbinding echter wilt verbreken, voer je het volgende commando uit:

```
service openvpn stop
```
Was dit artikel nuttig?

Heb je nog steeds problemen?

  • Live chat

  • E-mailformulier

Chatfunctionaliteit is afhankelijk van cookies. Door de chat te starten, ga je akkoord met het gebruik ervan. Meer informatie vind je in ons Cookiebeleid.