Skip to main content

Manuale Utente (Inglese)

Connessione OpenVPN a un provider VPN pubblico

OpenVPN è uno dei protocolli più popolari per le connessioni VPN. Può essere utilizzato per creare una rete privata virtuale o per interconnettere reti locali. OpenVPN è open source e distribuito gratuitamente con licenza GNU GPL. Fornisce velocità di connessione più elevate rispetto ad altri protocolli VPN. Inoltre, OpenVPN può être definito uno dei protocolli più sicuri. Tutti i dati trasmessi sono protetti in modo sicuro dalla libreria di crittografia OpenSSL e dai protocolli SSLv3/TLSv1, il che garantisce un'elevata sicurezza e anonimato.

Il supporto client e server OpenVPN è integrato nei router Keenetic. Per configurare una connessione OpenVPN, è necessario installare il componente di sistema 'Client e server OpenVPN'. Un router Keenetic può essere utilizzato sia come client che come server OpenVPN con questo componente. Una descrizione dettagliata della modalità server è disponibile nell'articolo 'Server OpenVPN'. È possibile installare il componente di sistema nella pagina 'Impostazioni generali di sistema' nella sezione 'Aggiornamenti e opzioni dei componenti' facendo clic su 'Opzioni dei componenti'.

openvpn-client1-en.png

Importante

I router Keenetic utilizzano requisiti di configurazione OpenVPN rigorosi. Di seguito sono riportati alcuni requisiti di base:

  • La configurazione deve essere in un unico file.

  • Certificati, chiavi, ecc. devono essere inclusi in questo file.

  • I file di configurazione con estensione .ovpn sono solitamente compatibili.

  • Se l'ISP offre file per router o sistemi diversi, nella maggior parte dei casi è possibile utilizzare un file per OpenWRT.

  • Nella configurazione, è necessario utilizzare solo le opzioni elencate nel documento: https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage

  • Nella configurazione non devono essere presenti direttive o comandi sconosciuti che non possono essere elaborati.

    Alcune delle opzioni sopra descritte potrebbero non essere supportate. Ad esempio, la nostra implementazione di OpenVPN non supporta le opzioni relative a IPv6.

  • L'ordine delle opzioni, dei certificati abilitati e delle chiavi non ha importanza.

  • Il file di configurazione OpenVPN non viene salvato nel file di configurazione startup-config. Per ottenere un backup delle impostazioni dell'interfaccia del client OpenVPN, è necessario salvarlo separatamente.

For KN-1110, 1210, 1310, 1410, 1510, 1610, 1710, 1810 and 1910 models the number of client connections is limited by the allocated service memory partition size of 24 Kbytes for storing VPN configurations. This is especially important for OpenVPN connections because the total size of their configurations must not exceed 24 Kbytes. For modern Keenetic models with KN-XXXX index the size of the storage, where the startup-config configuration file and environment variables (including keys) are placed in compressed form, has been increased and ranges from 260 Kbytes to 2 Mbytes (depending on the model).

I provider VPN possono offrire diverse varianti per le configurazioni OpenVPN. Di seguito ne esamineremo alcune.

  1. Scaricare il file di configurazione dal sito del server OpenVPN a cui si intende connettersi.

    Ad esempio, su www.vpngate.net, selezionare il server e fare clic su 'OpenVPN Config file'.

    openvpn-client2-en.png

    Quindi, selezionare una delle configurazioni di questo server, ad esempio, con il nome di dominio DDNS e TCP 1781.

    openvpn-client3-en.png

    Il file di configurazione con estensione .ovpn verrà scaricato sul computer. Aprirlo in un qualsiasi editor di testo (ad es. Notepad) e copiare tutto il contenuto negli appunti premendo i tasti Ctrl-A e poi Ctrl-C sulla tastiera.

    Dopodiché, vai alla pagina 'Altre connessioni' e fai clic su 'Crea connessione' nella sezione 'Connessioni VPN'. Nella finestra 'Impostazioni connessione VPN', seleziona 'OpenVPN' nel campo 'Tipo (protocollo)'.

    Quindi inserire il nome della connessione nel campo ' Nome connessione' e nel campo ' Configurazione OpenVPN' incollare la configurazione copiata dagli appunti premendo Ctrl-V. Salvare le impostazioni.

    openvpn-client4-en.png

    Per impostare una programmazione o definire l'interfaccia attraverso la quale funzionerà la connessione, fare clic su 'Mostra impostazioni avanzate'.

    Una volta stabilita la connessione, portare lo switch in posizione 'Attivo'. Lo stato della connessione verrà visualizzato anche in questa pagina.

    openvpn-client5-en.png

    Suggerimento

    Se si desidera utilizzare questa connessione per accedere a Internet, assegnarle la priorità più alta. Le informazioni sulle priorità sono disponibili nell'articolo 'Priorità di connessione'.

  2. Su alcuni siti con impostazioni OpenVPN, oltre al file di configurazione, vengono specificati un login e una password. Ad esempio, su vpnbook.com.

    openvpn-client6-en.png

    In questo caso, prima di copiare il contenuto dal file di configurazione negli appunti, è necessario eliminare la riga:

    auth-user-pass

    e aggiungere una sezione inserendo i valori login e password richiesti. Ad esempio:

    <auth-user-pass>
    vpnbook
    r3d23xs
    </auth-user-pass>
    openvpn-client7-en.png
  3. Altri ISP, come altvpn.com, forniscono certificati e chiavi come file separati. In questo caso, è necessario:

    1. Commentareレle righe con i nomi dei file di certificato e chiave con il simbolo #:

      #ca ca.crt
      #cert xxxxxxxxxxxx.crt
      #key xxxxxxxxxxxx.crt
    2. Alla fine del file di configurazione, aggiungere le sezioni del certificato e della chiave e inserire il contenuto dei file corrispondenti:

      <ca>
      -----BEGIN CERTIFICATE-----
      ...       <--insert the body of the certificate from the ca.crt
       file here
      -----END CERTIFICATE-----
      </ca>
      <cert>
      -----BEGIN CERTIFICATE-----
      ...       <--insert the body of the certificate from the xxxx.crt
       file here
      -----END CERTIFICATE-----
      </cert>
      <key>
      -----BEGIN RSA PRIVATE KEY-----
      ...       <--insert the key body from the xxxx.key
       file here
      -----END RSA PRIVATE KEY-----
      </key>
  4. Il provider privateinternetaccess.com ha i file ca.rsa.2048.crt e crl.rsa.2048.pem nella sua configurazione, il cui contenuto deve essere inserito rispettivamente tra le sezioni <crl-verify> </crl-verify> e <ca> </ca>.

    Il file di configurazione OpenVPN avrà il seguente aspetto:

    client
    dev tun
    proto udp
    remote sweden.privateinternetaccess.com 1198
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    cipher aes-128-cbc
    auth sha1
    tls-client
    remote-cert-tls server
    <auth-user-pass>
    xxxxxx       <--insert your login here
    xxxxxx       <--insert your password here
    </auth-user-pass>
    comp-lzo
    verb 1
    reneg-sec 0
    disable-occ
    
    <crl-verify>
    -----BEGIN X509 CRL-----
    ...       <--insert the key body from the crl.rsa.2048.pem file here
    -----END X509 CRL-----
    </crl-verify>
    
    <ca>
    -----BEGIN CERTIFICATE-----
    ...       <--insert the body of the certificate from the file ca.rsa.2048.crt here
    -----END CERTIFICATE-----
    </ca>

Errori e soluzioni comuni:

  1. auth-user-pass senza dati di credenziali in linea non è supportato

    Il file di configurazione contiene una riga per l'inserimento online di login/password, che Keenetic non supporta. Errore nel file di registro Keenetic:

    OpenVPN0 auth-user-pass without inline credentials data is not supported
    OpenVPN0 Exiting due to fatal error

    Eliminare o commentare tutte le righe di questo tipo:

    auth-user-pass

  2. Errore dell'opzione Block-outside-dns

    L'opzione block-outside-dns è configurata sul server OpenVPN, che viene gestita correttamente solo in Windows. Errore nel file di registro Keenetic:

    OpenVPN0 Unrecognized option or missing or extra parameter(s) in configuration: (line X): block-outside-dns (2.4.4)
    OpenVPN0 Exiting due to fatal error

    Aggiungere una riga al file di configurazione del client OpenVPN:

    pull-filter ignore \"block-outside-dns\"

  3. Errore durante la connessione ai server PrivateTunnel

    Quando si tenta di connettersi viene visualizzato un errore:

    OpenVPN0 Unrecognized option or missing or extra parameter(s) in configuration: (line 3): client-ip (2.4.4)

    Aggiungere una riga al file di configurazione del client OpenVPN:

    ignore-unknown-option client-ip block-ipv6

  4. Si verifica un errore quando si utilizza l'opzione askpass /storage/key.txt:

    Error: private key password verification failed

    Questa è una limitazione dell'attuale implementazione di OpenVPN in Keenetic. È possibile utilizzare solo una chiave senza password o con una password fissa: 'password'.

  5. Dopo l'aggiornamento del router a KeeneticOS 3.9.1, il tunnel VPN verso i server OpenVPN di alcuni fornitori VPN potrebbe non essere più stabilito. Nel registro di sistema è possibile visualizzare i seguenti messaggi:

    W [Dec 15 16:52:58] OpenVPN6: DEPRECATED OPTION: --cipher set to 'AES-128-CBC' but missing in --data-ciphers (AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305). 
    OpenVPN ignores --cipher for cipher negotiations.
    Error: private key password verification failed

    Il problema è il formato di crittografia obsoleto BF-CBC, che non è supportato a partire dalla versione client OpenVPN 2.5.0KeeneticOS 3.9 utilizza la versione client OpenVPN 2.6.0).

    Nota

    Il cifrario BF-CBC non è più supportato nella configurazione predefinita. La versione OpenVPN 2.5.0 supporta i cifrari AES-256-GCM e AES-128-GCM per impostazione predefinita. È possibile modificare questo comportamento utilizzando l'opzione data-ciphers, ad esempio, specificando nelle impostazioni data-ciphers AES-256-GCM:AES-128-GCM:BF-CBC. Per supportare nodi OpenVPN molto vecchi che non supportano la negoziazione del cifrario (modalità \"--cipher\"), è possibile specificare data-ciphers-fallback BF-CBC.

    Quando si esegue l'aggiornamento a una nuova versione di OpenVPN, l'impostazione \"cipher BF-CBC\" nei file di configurazione precedenti verrà convertita aggiungendo BF-CBC al set data-ciphers. Inoltre, la modalità data-ciphers-fallback viene attivata.

    Per installare correttamente il tunnel, sarà necessario modificare la direttiva:

    cipher AES-128-CBC in data-ciphers AES-128-CBC o data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305

    Se non funziona, modificare la direttiva:

    cipher AES-128-CBC in data-ciphers-fallback AES-128-CBC

    Per la massima compatibilità di negoziazione del cifrario con il server remoto, specificare le seguenti direttive:

    data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305

    data-ciphers-fallback AES-128-CBC

    o

    data-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305

    data-ciphers-fallback AES-256-CBC

    Importante

    La crittografia dipende dal server OpenVPN remoto. Prima di modificare la direttiva cipher, controllare il registro di sistema.

  6. Se nel registro viene registrato il seguente errore relativo alla dimensione della chiave:

    [E] Dec 16 19:01:38 OpenVPN0: Unrecognized option or missing or extra parameter(s) in configuration: (line 22): keysize (2.6_git)
    [E] Dec 16 19:01:38 OpenVPN0: Exiting due to fatal error
    [E] Dec 16 19:01:38 ndm: Service: "OpenVPN0": unexpectedly stopped.Error: private key password verification failed

    Quindi, nella configurazione del tunnel, è necessario rimuovere la direttiva dell'opzione keysize 256, che è obsoleta per il client aggiornato OpenVPN 2.6.0, e controllare di nuovo la connessione del tunnel.

    È possibile trovare informazioni dettagliate per l'opzione \"keysize\" a questo link.

Si consiglia di leggere le seguenti informazioni: