Come posso configurare OpenVPN su CyanogenMod 7?


18

Voglio instradare tutto il mio traffico di rete attraverso la connessione ISP di casa mia quando sono fuori in Internet café, quindi non posso essere intercettato / licenziato .

Ho un HTC G2 con CyanogenMod 7 , che ha il supporto client OpenVPN integrato :

inserisci qui la descrizione dell'immagine

A casa, ho un router con TomatoVPN , che include un server OpenVPN:

inserisci qui la descrizione dell'immagine

Ora, come faccio a convincere il client telefonico a connettersi al server router? Posso Google e trovare una serie di istruzioni apparentemente pertinenti , ma non sono molto utili:

È necessario impacchettare il certificato e le chiavi e inserirlo nella scheda SD

Dove li trovo?

Copia client.p12 nella directory principale sdcard

Dove lo trovo?

aggiungere i certificati e impostare il tipo di interfaccia e il protocollo di conseguenza.

Come, in particolare? Quali impostazioni dovrebbero essere cosa? L'uso di impostazioni che non mi proteggono è peggio di nessuna protezione a causa del falso senso di sicurezza.

Sto cercando istruzioni dettagliate per un'installazione "roadwarrior" che instrada tutto il traffico attraverso la VPN.

Dove ottengo le chiavi? Devo utilizzare un'autenticazione aggiuntiva per nome utente / password? Quali domini di ricerca DNS? Quali impostazioni dovrei usare nel menu OpenVPN Advanced di CM7? "Reindirizzamento gateway" deve essere impostato per instradare tutto il traffico, ad esempio, giusto? Quali impostazioni per Basic e Advanced in TomatoVPN? "Indirizzare i client a reindirizzare il traffico Internet"? "Rispondi a DNS"?

Aggiornare:

Ho provato l'ennesimo tentativo da solo, e di nuovo non ho avuto successo. Non credo che ci sia alcun modo per generare chiavi sul router o sul telefono, quindi ho provato a generarle in Ubuntu. Ho provato a seguire queste indicazioni per generare le chiavi, ma non sono corrette. (La cartella è /usr/share/doc/openvpn/examples/easy-rsa/2.0invece /usr/share/doc/openvpn-2.0/easy-rsa, ad esempio, e c'è un vars, ma nessuno init-configscript.) Ho trovato queste indicazioni , che sono più utili, e ho generato un numero di file:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.key
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • server.crt
  • server.csr
  • server.key
  • ta.key

I file che ho copiato sul router sono

  • ca.crt
  • server.crt
  • server.key
  • dh1024.pem

per prima cosa togliendo tutto prima -----BEGIN, secondo queste istruzioni . Il server router si avvia ora e dice

Nome Valore Lunghezza massima coda bcast / mcast 0

sotto Status. Quindi immagino che il server funzioni?

Quindi ho copiato questi file sul telefono:

  • ca.crt
  • htc_g2.crt
  • htc_g2.key
  • server.crt
  • ta.key

Direzioni diverse non sono d'accordo su quali file copiare. Poi sono andato in Impostazioni → Posizione e sicurezza → Installa da scheda SD e sono stato in grado di installare il certificato CA, ho aggiunto una password, ecc. Il tentativo di aggiungere i certificati htc_g2 o server non ha funzionato, dicendo "nessun certificato da installare". Ho modificato i file e rimosso tutto prima -----BEGIN, quindi hanno installato. In "Aggiungi VPN OpenVPN", ho selezionato il certificato "ca" per "Imposta certificato CA" e il certificato htc_g2 per "Imposta certificato utente". Quando provo a connettermi, dice "Impossibile connettersi alla rete". Lo stesso se provo il certificato del server per il certificato utente.


Quali sistemi operativi stai eseguendo sui tuoi computer di casa?
nuovoutente

@JonnyP: Il computer di casa è Ubuntu ma preferirei usare il router piuttosto che il computer.
endolith

1
A questo punto, ti consiglio di provare a far funzionare prima l'installazione OpenVPN con un normale client desktop OpenVPN, quindi copiare la stessa configurazione sul tuo telefono.
onik,

Non riesco a credere che nessuno sappia come farlo. Perché l'opzione esiste se nessuno l'ha mai usata?
endolith,

Ho un amico che l'ha installato ... su CM 6 . Dovette emettere nuovamente tutti i certificati VPN dopo aver scoperto che il client CM richiedeva l'impostazione di determinati campi. Vedrò se posso ottenere maggiori informazioni da lui.
Broam,

Risposte:


1

Prima di tutto, controlla la Keysscheda in TomatoVPN per vedere se hai già definito alcune chiavi predefinite. In caso contrario, controlla OpenVPN HOWTO per informazioni su come generare le chiavi. Quindi, copia i primi due tasti (certificato CA e Server) dalle aree di testo in un editor di testo e salvali con il .cersuffisso e trasferiscili sul telefono. CM7 dovrebbe essere in grado di importare .cerdirettamente i certificati ma potrebbe essere necessario che le versioni precedenti utilizzino i file .p12 (vedere questo link per informazioni su come convertire .crt -> .pem ->.p12). Successivamente, vai a Settings -> Security -> Install from SD Cardper caricare i certificati sul telefono.


Quel link ha 14.000 parole. Potete indicarmi direttamente le parti pertinenti? La generazione della chiave è diversa se voglio connettere altri computer al mio router oltre al telefono? Ho aggiunto maggiori dettagli alla domanda.
endolith

1
Le stesse chiavi vengono utilizzate anche su client normali. Non ho esperienza con TomatoVPN, ma dovresti essere in grado di impostare almeno un paio di chiavi client diverse. Inoltre, potrebbe essere possibile utilizzare gli stessi tasti contemporaneamente su dispositivi diversi, ma questo dipende dalla configurazione di OpenVPN. La creazione della chiave è descritta sotto il titolo "Impostazione della propria autorità di certificazione (CA) e generazione di certificati e chiavi per un server OpenVPN e più client". Se si utilizzano le chiavi e le si mantiene al sicuro, nelle normali circostanze non è necessaria l'autenticazione utente / pass. Il gateway di reindirizzamento dovrebbe essere l'unico ...
onik,

... uno che devi modificare nelle impostazioni di CM7.
onik,

Motivo del downvote?
onik,

1

OK, chiariamo il problema.

Potete per favore spiegare quale file è per? Ad esempio, a cosa serve il "ta.key"?

Normalmente, c'è l'elenco dei file sul lato server:

  1. server.conf (la configurazione del server, sembra che tu non abbia questo file?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

e il server dovrebbe contenere anche un set di chiavi client.

Per il lato client, dovrebbe avere:

  1. client.crt
  2. client.key
  3. ca.crt
  4. client.ovpn (o client.conf)

Non riesco a capire perché hai ta.key?

per come creare i file p12, ecco le istruzioni:

Apri un terminale Linux (NOTA: dovresti avere OpenSSL preinstallato), inserisci

openssl pkcs12 -export -in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -name [FriendlyName] -out certs.p12

(è necessario sostituire il contenuto delle parentesi quadre con le proprie e non è necessario conservare parentesi quadre.)

quindi verrà generato il file p12 denominato certs.p12.

Spero che sia d'aiuto.


Non so cosa sia ta.key. Il server sembra funzionare correttamente. Semplicemente non so come collegarmi ad esso. /tmp/etc/openvpn/server1ha questi file in essa contenuti: ca.crt config.ovpn dh.pem server.crt server.key status. Forse config.ovpnè lo stesso di server.conf?
endolith

@endolith yes, config.ovpn è uguale a sever.conf. Potrebbe essere necessario modificare config.ovpn prima di avviare OpenVPN.
Dumbfingers il

@endolith vuoi connetterti a OpenVPN da un telefono Android CM7 o da qualche altra parte?
Dumbfingers il

Il router esegue un server OpenVPN e voglio connettermi ad esso con il mio telefono CM7, sì.
endolith

@endolith Innanzitutto, utilizza il comando fornito per generare il file p12, copiandolo sulla scheda SD del telefono. Seguilo nel menu Telefono: Impostazioni-Wireless e reti-Impostazioni VPN-Aggiungi VPN, quindi scegli OpenVPNAggiungi VPN e compila le opzioni: [Nome VPN] come preferisci [Imposta server VPN] riempi l'indirizzo IP, esattamente come il "remoto" in client.ovpn [Autenticazione utente] se si utilizza utente / password, compilarlo. [Imposta certificato CA] tocca e importa il certificato [Imposta certificato utente] tocca e importa il certificato utente (client.crt) Potrebbe essere necessario controllare le opzioni avanzate. È tutto.
Dumbfingers,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.