Bagaimana cara mengatur OpenVPN di CyanogenMod 7?

18

Saya ingin merutekan semua lalu lintas jaringan saya melalui koneksi ISP rumah saya ketika saya keluar di kafe-kafe internet sehingga saya tidak bisa dikuping / di- fireshep .

Saya memiliki HTC G2 dengan CyanogenMod 7 , yang memiliki dukungan klien OpenVPN bawaan :

masukkan deskripsi gambar di sini

Di rumah, saya memiliki router dengan TomatoVPN di atasnya, yang mencakup server OpenVPN:

masukkan deskripsi gambar di sini

Sekarang, bagaimana saya membuat klien telepon terhubung ke server router? Saya dapat Google dan menemukan serangkaian instruksi yang tampaknya relevan , tetapi mereka tidak sangat membantu:

Anda harus mengemas sertifikat dan kunci Anda dan memasukkannya ke dalam kartu SD

Di mana saya mendapatkan itu?

Salin client.p12 ke direktori root sdcard

Di mana saya mendapatkan itu?

tambahkan sertifikat Anda, dan atur jenis antarmuka serta protokolnya.

Bagaimana, khususnya? Pengaturan mana yang harus apa? Menggunakan pengaturan yang tidak melindungi saya lebih buruk daripada tidak ada perlindungan sama sekali karena rasa aman yang salah.

Saya mencari petunjuk langkah demi langkah untuk pengaturan "roadwarrior" yang merutekan semua lalu lintas melalui VPN.

Di mana saya mendapatkan kunci? Apakah saya perlu menggunakan otentikasi nama pengguna / kata sandi tambahan? Domain pencarian DNS apa? Pengaturan apa yang harus saya gunakan dalam menu OpenVPN Advanced CM7? "Redirect gateway" perlu diatur untuk merutekan semua lalu lintas, misalnya, bukan? Pengaturan mana untuk Dasar dan Lanjutan di TomatoVPN? "Arahkan klien untuk mengarahkan lalu lintas Internet"? "Tanggapi DNS"?

Memperbarui:

Saya sudah mencobanya lagi, dan sekali lagi tidak berhasil. Saya tidak berpikir ada cara untuk menghasilkan kunci di router atau telepon, jadi saya mencoba untuk menghasilkannya di Ubuntu. Saya mencoba mengikuti petunjuk ini untuk menghasilkan kunci, tetapi itu tidak benar. (Folder /usr/share/doc/openvpn/examples/easy-rsa/2.0bukan /usr/share/doc/openvpn-2.0/easy-rsa, misalnya, dan ada vars, tetapi tidak ada init-configskrip.) Saya menemukan petunjuk ini , yang lebih bermanfaat, dan menghasilkan sejumlah 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

File yang saya salin ke router adalah

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

pertama stripping semuanya sebelumnya -----BEGIN, sesuai dengan instruksi ini . Server router mulai sekarang dan mengatakan

Nilai Nama Max bcast / mcast queue length 0

di bawah Status. Jadi saya kira server berfungsi?

Kemudian saya menyalin file-file ini ke telepon:

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

Arah berbeda tidak setuju pada file mana yang akan disalin. Kemudian saya pergi ke Pengaturan → Lokasi & keamanan → Instal dari kartu SD, dan dapat menginstal sertifikat CA, menambahkan kata sandi, dll. Mencoba untuk menambahkan htc_g2 atau sertifikat server tidak berfungsi, mengatakan "tidak ada sertifikat untuk menginstal". Saya mengedit file dan menghapus semuanya sebelumnya -----BEGIN, dan kemudian mereka menginstal. Dalam "Tambahkan OpenVPN VPN", saya memilih sertifikat "ca" untuk "Set CA sertifikat", dan sertifikat htc_g2 untuk "Setel sertifikat pengguna". Ketika saya mencoba untuk terhubung, dikatakan "Tidak dapat terhubung ke jaringan". Sama jika saya mencoba sertifikat server untuk sertifikat pengguna.

endolit
sumber
Sistem operasi apa yang Anda jalankan di komputer rumah Anda?
newuser
@ JonnyP: Komputer di rumah adalah Ubuntu tapi saya lebih suka menggunakan router daripada komputer.
endolith
1
Pada tahap ini saya sarankan Anda mencoba membuat pengaturan OpenVPN bekerja dengan klien desktop OpenVPN biasa terlebih dahulu, dan kemudian salin pengaturan yang sama ke ponsel Anda.
onik
Saya tidak percaya bahwa tidak ada yang tahu bagaimana melakukan ini. Mengapa opsi ada jika tidak ada yang pernah menggunakannya?
endolith
Saya punya teman yang mengaturnya ... di CM 6 . Dia harus menerbitkan kembali semua sertifikat VPN setelah dia menemukan bahwa klien CM memerlukan bidang-bidang tertentu yang akan ditetapkan. Saya akan melihat apakah saya bisa mendapatkan lebih banyak info darinya.
Broam

Jawaban:

1

Pertama-tama, periksa Keystab di TomatoVPN untuk melihat apakah Anda sudah memiliki beberapa kunci default yang ditentukan. Jika tidak, lihat OpenVPN HOWTO untuk info tentang cara membuat kunci. Selanjutnya, salin dua tombol pertama (CA dan sertifikat Server) dari area teks ke editor teks dan simpan dengan .cerakhiran dan transfer ke telepon Anda. CM7 seharusnya dapat mengimpor .cersertifikat secara langsung tetapi versi yang lebih lama mungkin perlu menggunakan file .p12 (lihat tautan ini untuk info tentang cara mengonversi .crt -> .pem ->.p12). Setelah ini, buka Settings -> Security -> Install from SD Carduntuk memuat sertifikat ke telepon.

onik
sumber
Tautan itu memiliki 14.000 kata. Bisakah Anda mengarahkan saya langsung ke bagian yang relevan? Apakah generasi kunci berbeda jika saya ingin menghubungkan komputer lain ke router saya selain telepon? Saya menambahkan lebih banyak detail pada pertanyaan.
endolith
1
Kunci yang sama digunakan pada klien normal juga. Saya tidak memiliki pengalaman TomatoVPN, tetapi Anda harus dapat mengatur setidaknya beberapa kunci klien yang berbeda. Selain itu, dimungkinkan untuk menggunakan kunci yang sama secara bersamaan pada perangkat yang berbeda, tetapi ini tergantung pada pengaturan OpenVPN. Pembuatan kunci dijelaskan dengan judul "Menyiapkan Otoritas Sertifikat Anda sendiri (CA) dan menghasilkan sertifikat dan kunci untuk server OpenVPN dan beberapa klien". Jika Anda menggunakan kunci dan menyimpannya dengan aman, tidak diperlukan otentikasi pengguna / pass dalam keadaan biasa. Redirect gateway`harus menjadi satu-satunya ...
onik
... yang perlu Anda ubah dalam pengaturan CM7.
onik
Alasan downvote?
onik
1

Oke, jadi mari kita perjelas masalahnya.

Bisakah Anda jelaskan untuk file apa? Misalnya, untuk apa "ta.key"?

Biasanya, ada daftar file di sisi Server:

  1. server.conf (konfigurasi server, sepertinya Anda belum mendapatkan file ini?)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

dan server juga harus berisi sekumpulan kunci klien.

Untuk sisi klien, seharusnya:

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

Saya tidak mengerti mengapa Anda memiliki ta.key?

untuk cara membuat file p12, inilah instruksinya:

Buka terminal Linux (CATATAN: Anda harus sudah menginstal OpenSSL), masukkan

openssl pkcs12 -ekspor -dalam [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] -nama [FriendlyName] -keluar certs.p12

(Anda harus mengganti isi tanda kurung dengan milik Anda dan tidak perlu menyimpan tanda kurung.)

maka file p12 bernama certs.p12 akan dihasilkan.

Semoga ini bisa membantu.

dumbfingers
sumber
Saya tidak tahu apa itu ta.key. Server tampaknya berjalan dengan baik. Saya hanya tidak tahu bagaimana menghubungkannya. /tmp/etc/openvpn/server1memiliki file-file ini di dalamnya: ca.crt config.ovpn dh.pem server.crt server.key status. Mungkin config.ovpnsama dengan server.conf?
endolith
@endolith ya, config.ovpn sama dengan sever.conf. Anda mungkin perlu mengedit config.ovpn sebelum memulai OpenVPN.
dumbfingers
@endolith Anda ingin terhubung ke OpenVPN dari ponsel Android CM7 atau di tempat lain?
dumbfingers
Router menjalankan server OpenVPN dan saya ingin menghubungkannya dengan telepon CM7 saya, ya.
endolith
@endolith Pertama, gunakan perintah yang saya berikan untuk membuat file p12, salin ke kartu SD ponsel Anda. Ikuti ini pada menu Telepon: Pengaturan-Nirkabel & Jaringan-Pengaturan VPN-Tambah VPN, lalu pilih OpenVPNTambahkan VPN, dan isi opsi: [Nama VPN] apa pun yang Anda suka [Setel server VPN] isi alamat IP, sama seperti "remote" di client.ovpn [Otentikasi pengguna] jika Anda menggunakan kata sandi, isilah. [Setel CA sertifikat] sentuh & impor sertifikat. [Tetapkan sertifikat pengguna] sentuh & impor sertifikat pengguna (client.crt) Anda mungkin perlu memeriksa opsi lanjutan. Itu saja.
dumbfingers