Come configurare manualmente NordVPN su un router OpenWrt

NordVPN supporta OpenWrt?

Secondo alcuni rapporti, i router con firmware OpenWrt supportano le VPN come NordVPN. Tuttavia, tieni presente che lo staff di NordVPN non ha testato la configurazione descritta di seguito; è stata invece condivisa e testata dai nostri eccezionali clienti. NordVPN desidera ringraziare nello specifico Unwind, un membro attivo della community OpenWrt, per la sua continua assistenza nel fornirci istruzioni aggiornate su OpenWrt. Consulta questa guida se vuoi configurare NordVPN utilizzando NordVPN Lite.

Istruzioni per la GUI

Questa guida spiega come configurare una connessione NordVPN sui router utilizzando il firmware OpenWrt tramite l'interfaccia web LuCI.

  1. Puoi entrare nell'interfaccia LuCI del router OpenWrt inserendone l'indirizzo IP locale sul tuo browser ed effettuando l'accesso. L'indirizzo IP predefinito è 192.168.1.1 e il nome utente è root.



    NOTA: il sistema non imposta una password in modo predefinito, quindi puoi lasciare vuoto questo campo. Tuttavia, quando accedi, il sistema mostrerà un messaggio che ti chiede se vuoi impostarne una.


    Per farlo, clicca su System > Administration. Qui, potrai impostare la password.
  2. Dopo aver effettuato l'accesso, entra nella scheda System e seleziona Software.



  3. Clicca sul pulsante Update lists, attendi il completamento del processo e clicca su Dismiss.
  4. Installa i seguenti pacchetti digitandone il nome nel campo Filter e cliccando su Install…
    1. openvpn-openssl
    2. ip-full
    3. luci-app-openvpn



  5. Clicca su Save & Apply e aggiorna la pagina del router. Ora dovresti vedere una nuova scheda chiamata VPN. Cliccaci sopra e scegli OpenVPN dal menu a discesa.
  6. Ora dovrai scaricare i file di configurazione del client OpenVPN. Dopodiché, potrai connetterti a un server consigliato tramite il tuo Nord-Account. Segui i passaggi riportati qui sotto per trovare le credenziali di servizio necessarie per la configurazione manuale della connessione:
      1. Accedi al tuo Nord-Account, clicca su NordVPN e, nella sezione Configurazione manuale, clicca su Credenziali di servizio. Qui troverai il Nome utente e la Password che ti serviranno per connetterti manualmente.



      2. Ora dovrai scaricare i file di configurazione del client OpenVPN. Segui la procedura descritta qui sotto per trovare il server migliore per la tua connessione:
        1. Accedi al tuo Nord-Account e clicca su NordVPN.



        2. Scorri verso il basso fino alla sezione Impostazioni avanzate, poi clicca su Configura NordVPN manualmente.



        3. Seleziona la scheda Raccomandazione server. Il nostro algoritmo ti consiglierà il server migliore in base al luogo in cui ti trovi.



        4. Premendo Filtri avanzati, puoi personalizzare i server consigliati selezionando il Tipo di server e il Protocollo di sicurezza.






          Se desideri selezionare un server specifico, segui questi passaggi:
          1. Nella sezione Configura NordVPN manualmente, scegli File di configurazione OpenVPN.



          2. Puoi trovare il server a cui desideri connetterti utilizzando la barra Cerca o scorrendo verso il basso. Dopodiché, puoi scaricare i file cliccando su Scarica UDP o Scarica TCP.



            _In questa guida, a titolo esemplificativo, utilizzeremo il server us5104.nordvpn.com._mpl
  7. Nella sezione OVPN configuration file upload, assegna un nome alla connessione VPN nel campo Instance name (nell'esempio, l'abbiamo chiamata "nordvpn_us"). Poi clicca sul pulsante Choose File, individua il file del server scaricato e clicca su Upload.



  8. Nella sezione OpenVPN instances, clicca sul pulsante Edit accanto all'istanza che hai appena creato.



  9. Inserisci nel campo in basso le credenziali del servizio NordVPN, ovvero nome utente e password, in righe separate. username
    password


    Puoi trovare le tue credenziali del servizio NordVPN (nome utente e password) nella dashboard del Nord-Account.
  10. Ora copia il percorso nel file delle credenziali, disponibile proprio sopra al campo contenente le credenziali, e incollalo accanto alla riga "auth-user-pass" nella sezione Config file sopra.
    Dovrebbe apparire così: auth-user-pass /etc/openvpn/nordvpn\_us.auth  
    



  11. Per connetterti al server VPN, seleziona la casella nella colonna Enabled e poi clicca sul pulsante start accanto all'istanza NordVPN creata.



  12. Clicca sul pulsante Save & Apply in basso.
  13. Nella parte superiore del menu di navigazione, vai su System e clicca su Reboot. Si aprirà un'altra pagina. Clicca sul pulsante Perform reboot; dopodiché, dovrai accedere di nuovo.
  14. Vai alla scheda Network nella parte superiore della pagina e seleziona Interfaces:
     
    1. Clicca su Add new interface.
    2. Nella sezione Name, digita nordvpntun.
    3. Clicca su Protocol e seleziona Unmanaged.
    4. Nel menu a discesa Interface, inserisci il nome tun0 nel campo -- custom -- in basso e premi il tasto Invio.



  15. Clicca su Create interface e Save.
  16. Seleziona la scheda Network in alto e vai alla sezione Firewall.
  17. Clicca sul pulsante Add e modifica le impostazioni come segue:  
    1. Assegna il nome "vpnfirewall".
    2. Imposta l'opzione "Input" su "Reject".
    3. Lascia "Output" impostato su "Accept" e "Forward" su "Reject".
    4. Seleziona l'opzione "Masquerading".
    5. Seleziona l'opzione "MSS clamping".
    6. Dal menu a discesa "Covered Networks", scegli "nordvpntun".
    7. Nel menu a discesa "Allow forward from source zones", scegli "lan".
    8. Clicca sul pulsante "Save".



  18. Nella sezione Zones, individua la voce lan e clicca sul pulsante Edit.



  19. Nel menu a discesa Allow forward to destination zones, seleziona la voce NordVPN.



  20. Clicca di nuovo su Network nella parte superiore della pagina, poi seleziona DHCP and DNS dall'elenco a discesa.
  21. Nella scheda General Settings, individua l'opzione "DNS forwardings" e inserisci gli indirizzi DNS di NordVPN. Gli indirizzi sono: 103.86.96.100 e 103.86.99.100.



  22. Vai alla scheda Resolv and Hosts Files, seleziona la casella Ignore resolve file e clicca sul pulsante Save & Apply.



  23. Torna alla scheda VPN > OpenVPN.
  24. Nella sezione OpenVPN instances, spunta la casella Enabled accanto all'opzione NordVPN nell'elenco e clicca sul pulsante Save & Apply.



  25. Clicca di nuovo sul pulsante Start per connetterti al server VPN.

Istruzioni per CLI

Se invece cerchi un tutorial più avanzato, segui questa guida. Per beneficiare dei vantaggi di una VPN su OpenWrt, devi avere a disposizione un router con firmware OpenWrt e un client OpenVPN abilitato. La pagina principale del firmware è https://openwrt.org/.

  1. Per prima cosa, devi essere in grado di accedere al router tramite l'SSH utilizzando il suo indirizzo IP LAN. Per impostazione predefinita, l'indirizzo IP è 192.168.1.1 e il nome utente è root; se però avevi modificato uno dei valori predefiniti, l'indirizzo IP potrebbe essere diverso.
  2. Il router non include il pacchetto OpenVPN nell'immagine del firmware per impostazione predefinita. Per installarlo, esegui i seguenti comandi:
    opkg update
    opkg install openvpn-openssl
    opkg install ip-full
    
    Puoi inoltre installare il componente LuCI della configurazione OpenVPN. Questa opzione, tuttavia, è facoltativa. Puoi farlo eseguendo questo comando:
    opkg install luci-app-openvpn
    
  3. Dopo che avrai installato il pacchetto OpenVPN, puoi impostarne l'avvio automatico ogni volta che il router si accende eseguendo questo comando:
    /etc/init.d/openvpn enable
    
  4. Ora dovrai scaricare i file di configurazione del server. Per farlo, segui questi passaggi:
    1. Accedi al tuo Nord-Account e clicca su NordVPN.



    2. Scorri verso il basso fino alla sezione Impostazioni avanzate e clicca su Configura NordVPN manualmente.



    3. Seleziona la scheda Raccomandazione server. Il nostro algoritmo ti consiglierà il server migliore in base al luogo in cui ti trovi.



    4. Premendo Filtri avanzati, puoi personalizzare i server consigliati selezionando il Tipo di server e il Protocollo di sicurezza.






      Se desideri selezionare un server specifico, segui questi passaggi:
      1. Nella sezione Configura NordVPN manualmente, scegli File di configurazione OpenVPN.



      2. Puoi trovare il server a cui desideri connetterti utilizzando la barra Cerca o scorrendo verso il basso. Dopodiché, puoi scaricare i file cliccando su Scarica UDP o Scarica TCP.



  5. In questa guida usiamo a titolo esemplificativo il server uk2054.nordvpn.com, ma nel tuo caso dovresti connetterti al server suggerito dal sito web. Per scaricare il file di un server, seleziona il Paese al quale desideri connetterti, clicca su "Mostra protocolli disponibili", clicca con il tasto destro su "Scarica configurazione" per "OpenVPN TCP" o "OpenVPN UDP" e scegli "Copia link". Dopodiché, torna alla sessione SSH ed esegui il seguente comando:
    wget -P /etc/openvpn https://downloads.nordcdn.com/configs/files/ovpn_udp/servers/uk2054.nordvpn.com.udp.ovpn
    
    Ricorda però di inserire, nel comando, il link al file del server specifico che hai appena copiato. Questo comando scaricherà il file di configurazione nella directory /etc/openvpn per garantire un facile accesso. In alternativa, puoi scaricare il file di configurazione del server su una macchina diversa e trasferirlo sul router OpenWrt usando vari metodi, come i protocolli SCP o SFTP. Per le build OpenWrt meno recenti:
    Ti basterà scaricare un archivio qui https://downloads.nordcdn.com/configs/archives/certificates/servers.zip. Nell'archivio scaricato, troverai i file corrispondenti con estensioni .crt e .key. I file sono specifici per ciascun server VPN.
  6. La configurazione OpenVPN per NordVPN richiede di inserire le credenziali del servizio NordVPN, nome utente e password, a ogni avvio di OpenVPN; Apporteremo tuttavia alcune modifiche per fornire automaticamente le credenziali. Innanzitutto, per semplificare il processo, installeremo l'editor di testo nano eseguendo il seguente comando:
    opkg install nano
    
    In alternativa, puoi usare l'editor di testo integrato vi. Per ulteriori informazioni sugli editor di testo, consulta questo articolo. Ora apri il file di configurazione del server scaricato utilizzando l'editor di testo nano. Nel nostro caso, il comando sarà:
    nano /etc/openvpn/uk2054.nordvpn.com.udp.ovpn
    
    Dopodiché, aggiungi la parola "secret" (senza virgolette) alla stringa "auth-user-pass". La riga risultante sarà quindi:
    auth-user-pass secret
    
    Devi creare un nuovo file secret nel quale conservare le credenziali del servizio NordVPN. Per farlo, esegui il seguente comando:
    nano /etc/openvpn/secret
    
    Così facendo, verrà creato il nuovo file che si aprirà usando l'editor di testo nano. Nella prima riga del file inserisci il tuo nome utente del servizio NordVPN e, nella seconda, la relativa password. Puoi trovare le tue credenziali del servizio NordVPN (nome utente e password) nella dashboard del Nord-Account.
  7. Configura OpenVPN utilizzando il file di configurazione scaricato in uno dei due modi:
    1. Modifica l'estensione del file da .ovpn a .conf, per consentire a OpenVPN di trovarlo automaticamente tramite la sua estensione. Per farlo, puoi usare il comando mv:
      mv /etc/openvpn/uk2054.nordvpn.com.udp.ovpn /etc/openvpn/uk2054.nordvpn.com.udp.conf
      
    2. Specifica il nome del file in "/etc/config/openvpn" usando i seguenti comandi "uci":
      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
      
      Dopodiché, il file "/etc/config/openvpn" dovrebbe contenere le seguenti stringhe aggiunte:
      config openvpn 'nordvpn'
      option enabled '1'
      option config '/etc/openvpn/uk2054.nordvpn.com.udp.ovpn'
      
      Puoi verificarlo eseguendo questo comando:
      tail /etc/config/openvpn
      
      Puoi anche modificare l'estensione del file da .ovpn a .conf e specificarlo in "file/etc/config/openvpn"; tuttavia, in questo caso, OpenVPN si avvierà con questo file di configurazione solo una volta.
  8. Crea una nuova interfaccia di rete eseguendo i seguenti comandi:
    uci set network.nordvpntun=interface
    uci set network.nordvpntun.proto='none'
    uci set network.nordvpntun.ifname='tun0'
    uci commit network
    
    A questo punto, il file "/etc/config/network" conterrà le seguenti stringhe aggiunte:
    config interface 'nordvpntun'
    option proto 'none'
    option ifname 'tun0'
    
    Puoi verificarlo eseguendo questo comando:
     tail /etc/config/network 
    
  9. Crea una nuova area firewall e aggiungi una regola di inoltro dalla LAN alla VPN eseguendo i seguenti comandi:
    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
    
    Se l'operazione è stata eseguita correttamente, il file "/etc/config/firewall" dovrebbe contenere le seguenti stringhe aggiunte:
    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'
    
    Puoi verificarlo eseguendo questo comando:
    tail -13 /etc/config/firewall
    
    Il comando mostrerà le ultime 13 righe, contenenti le stringhe riportate sopra.
  10. Ora devi configurare i server DNS. Il modo più semplice per farlo consiste nell'usare il DNS di NordVPN per l'interfaccia WAN del router. Per aggiungere il DNS di NordVPN, esegui i seguenti comandi:
    ```auto
    
    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
    ```
    
      
    ATTENZIONE: _se dovesse apparire il messaggio di errore "uci: Entry not found" dopo aver eseguito il comando uci del network.wan.dns, puoi ignorarlo._  
      
    Il file "/etc/config/network" dovrebbe contenere la sezione ''wan'' con l'aggiunta di tre stringhe alla fine:
    
    ```auto
    config interface 'wan'
    <...>
    option peerdns '0'
    list dns '103.86.96.100'
    list dns '103.86.99.100'
    ```
    
      
    Puoi verificarlo eseguendo il comando e controllando che sia presente l'interfaccia ''wan'' nell'output:
    
    ```auto
    cat /etc/config/network 
    ```
    
    Puoi anche aggiungere indirizzi DNS diversi, come quelli di Google, eseguendo questi comandi:
    
    ```auto
    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
    ```
    
    Le stringhe aggiunte dovrebbero essere simili alle precedenti.  
     
    

(Facoltativo) Kill Switch per OpenWrt 22.02 o build precedenti (iptables)

Per evitare perdite di traffico in caso di disconnessione del tunnel VPN, segui questi passaggi:

  1. Apri il file del firewall usando un editor di testo:
    sudo nano /etc/firewall.user
    
  2. Aggiungi quanto segue:
    # Questo file viene interpretato come uno script di shell.
    # Inserisci qui le tue regole iptables personalizzate, che verranno eseguite in occasione di ogni (ri)avvio del firewall
    # Le catene interne del firewall uci vengono svuotate e ricreate al riavvio, quindi
    # inserisci le regole personalizzate nelle catene radice, es. INPUT o FORWARD, o nelle
    # catene utente speciali, es. input_wan_rule o postrouting_lan_rule.
    
    if (! ip a s tun0 up) && (! iptables -C forwarding_rule -j REJECT); then
    
    iptables -I forwarding_rule -j REJECT
    
    fi
    
  3. Crea un file col nome "99-prevent-leak" nella cartella "/etc/hotplug.d/iface" eseguendo questo comando:
    nano /etc/hotplug.d/iface/99-prevent-leak
    
  4. Aggiungi il seguente contenuto allo 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
    

(Facoltativo) Kill Switch per OpenWrt 22.03 o build successive (nftables)

Segui questi passaggi per evitare perdite di traffico se il tunnel VPN non dovesse funzionare.

  1. Modifica il file delle regole personalizzate per il firewall:
    sudo nano /etc/firewall.user
    
  2. Scrivi questa funzione:
    # quando l'interfaccia tun0 non è attiva e all'interno di nftables non esiste una catena chiamata "forwarding_rule", procedi nel seguente modo.
    if (! ip a s tun0 up) && (! nft list chain inet fw4 forwarding_rule; then
    # aggiungi una nuova catena denominata forwarding_rule
       nft add chain inet fw4 forwarding_rule
    # aggiungi una regola nella catena forward per saltare alla catena forwarding_rule
       nft add rule inet fw4 forward jump forwarding_rule
    
    # aggiungi una regola nella catena forward_rule per rifiutare tutto il traffico
       nft add rule inet fw4 forwarding_rule reject
    fi
    
  3. A questo punto, dovrai creare uno script hotplug per attivare automaticamente il Kill Switch:
    sudo nano /etc/hotplug.d/iface/99-prevent-leak
    
  4. Scrivi il seguente contenuto nello script:
    #!/bin/sh
    
    # se viene attivata l'azione ifup, l'interfaccia tun0 è attiva e la catena nftables "forwarding_rule" contiene il testo "reject", svuota questa catena per consentire il traffico.
    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
    
    
    # se viene attivata l'azione ifdown, l'interfaccia tun0 non è attiva e la catena nftables "forwarding_rule" non contiene il testo "reject", aggiungi una regola a questa catena per rifiutare tutto il traffico.
    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 di riconnessione automatica

Talvolta la connessione OpenVPN può subire un arresto anomalo riportando un messaggio di avviso simile a "Couldn't resolve host…". In questi casi il tunnel VPN rimane attivo, ma la connessione si interrompe. Per creare uno script che effettui la riconnessione automatica, segui questi passaggi:

  1. Apri il file "/etc/rc.local" usando un editor di testo:
    sudo nano /etc/rc.local
    
  2. Aggiungi questa riga:
    /etc/openvpn/reconnect.sh &
    
  3. Crea il file "reconnect.sh" nella directory "/etc/openvpn" eseguendo questo comando:
    sudo nano /etc/openvpn/reconnect.sh
    
  4. Nel file, inserisci i seguenti contenuti dello script:
    #!/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
    

Stato della connessione

Dopo aver seguito queste istruzioni, il router dovrebbe connettersi utilizzando la connessione configurata. Per verificare se la procedura è andata a buon fine, vai alla homepage di NordVPN: nella parte superiore della pagina dovresti vedere lo stato "Protetto".

Se vuoi interrompere la connessione VPN, clicca sul pulsante Stop accanto all'opzione NordVPN nella sezione VPN > OpenVPN > OpenVPN instances se hai seguito i passaggi relativi alla GUI. Se invece desideri disconnettere la connessione VPN, esegui il seguente comando:

service openvpn stop
Questo articolo è stato utile?

Hai ancora dei problemi?

  • Chat dal vivo

  • Modulo e-mail

Cliccando su “Chattare con l'assistenza”, accetti i nostri Termini di servizio e dichiari di aver preso visione della nostra Informativa sulla privacy. Il funzionamento della chat è basato sui cookie. Avviando la chat, ne accetti l'utilizzo. Scopri di più nella nostra Informativa sui cookie.