Why I Love IKEv2 Lebih Dari VPN Lainnya



Sekarang semua orang di sekitar sedang menyiapkan VPN untuk karyawan jarak jauh. Sangat menyakitkan saya untuk menonton bagaimana orang menginstal program kereta raksasa, mengkonfigurasi beberapa jenis sertifikat, menginstal driver TUN / TAP dan melakukan banyak operasi kompleks, sementara solusi terbaik sudah dibangun ke dalam sistem operasi.

IKEv2 adalah protokol VPN modern yang dikembangkan oleh Microsoft dan Cisco. Ini digunakan secara default untuk koneksi VPN baru di Windows, macOS, iOS. Ini lebih cepat dan lebih aman daripada kebanyakan protokol VPN dan dapat dengan mudah dikonfigurasikan di sisi klien dalam dua klik tanpa menggunakan program pihak ketiga.

Saya percaya bahwa IPsec IKEv2 sangat bagus tidak hanya untuk menghubungkan server, tetapi juga untuk koneksi pengguna-akhir VPN biasa. Dalam posting ini, saya akan mencoba meyakinkan Anda untuk menggunakan IPsec IKEv2 untuk pengguna rumahan biasa, bukan OpenVPN.

IKEv2 lebih cepat


Semua hal dianggap sama, IKEv2 akan selalu lebih cepat daripada OpenVPN. Ini terutama terlihat pada sistem berdaya rendah dengan memori lambat, seperti router atau komputer papan tunggal.

Faktanya adalah bahwa IPsec bekerja dalam konteks kernel sistem operasi, dan OpenVPN dalam konteks pengguna (userspace), dan pemrosesan setiap paket mengubah konteks antara proses kernel dan proses pengguna. Ini mempengaruhi throughput dan latensi.


Perbandingan penundaan untuk berbagai protokol VPN.

Tangkapan layar di atas menunjukkan perbedaan penundaan setengah antara IPsec dan OpenVPN. Tentu saja, perbedaan 1ms tidak mungkin dilihat secara mata, tetapi dengan beban pada sistem, nilai-nilai ini dapat sangat bervariasi. Selain itu, indikator nyata sangat tergantung pada karakteristik sistem tertentu, jadi saya tidak akan memberikan angka absolut untuk membandingkan kedua protokol. Penundaan sangat penting saat menggunakan suara dan video melalui VPN.

Menurut perasaan subjektif saya, IKEv2 pada Windows 10 bekerja terasa lebih responsif daripada OpenVPN. Lagi pula, penggunaan aktual komputer desktop sangat berbeda dari tes sintetis protokol VPN. Beban pada prosesor dan memori tidak konstan, pengguna dapat menjalankan program yang menuntut, semua ini akan mempengaruhi kinerja.

IKEv2 lebih mudah untuk dikonfigurasi


Semua sistem operasi modern (kecuali Android) mendukung IPsec IKEv2 langsung dari kotak. Tidak perlu menginstal program apa pun , driver TUN / TAP virtual, dll. Semua manajemen VPN berasal dari menu sistem.

Pada saat yang sama, konfigurasi pada klien dapat disederhanakan menjadi tiga baris:

  • Domain - untuk IPsec, diperlukan domain, karena sertifikat SSL dikeluarkan untuk itu
  • Gabung
  • kata sandi

Anda tidak perlu lagi mentransfer file dengan sertifikat dan kunci ke klien, memaksanya untuk mengimpor sertifikat root ke penyimpanan sistem. Nama pengguna dan kata sandi sudah cukup, dan koneksi akan sama amannya dengan di OpenVPN ketika menggunakan sertifikat, karena koneksi menggunakan sertifikat x.509 yang sama seperti untuk situs web dengan HTTPS.

Pengaturan pada Windows 10


Wizard pengaturan VPN dipanggil dari menu koneksi WiFi. Seorang pengguna dari kualifikasi apa pun dapat menangani pengaturan satu jendela. Koneksi yang dibuat diaktifkan dari menu dengan daftar jaringan WiFi.


Antarmuka untuk mengkonfigurasi koneksi IKEv2 baru di Windows 10

Pengaturan MacOS
macOS IKEv2 10.11 (El Capitan). .

image

. .

image

, . «Server Address» IP- , «Remote ID», DNS-, .

image

/etc/ipsec.secrets

image

Pengaturan IOS
iOS , mobileconfig.

macOS:

-> VPN -> VPN

IKEv2 aman


Pada langkah sebelumnya, kami menemukan bahwa login dan kata sandi sudah cukup untuk mengkonfigurasi koneksi. Tetapi bagaimana klien dapat memverifikasi bahwa koneksi tidak disadap, data tidak diganti, dan server benar-benar seperti yang diklaimnya? Untuk ini, sertifikat SSL biasa digunakan, yang biasa kami gunakan untuk situs web dan HTTPS.



Klien menginstal terowongan SSL aman dengan server, dan kata sandi masuk sudah dikirimkan di dalamnya. Secara default, pada Windows dan macOS, algoritma mschapv2 digunakan untuk mengirimkan kata sandi. Dengan demikian, dengan bantuan sertifikat SSL, klien memverifikasi keaslian server, dan server memverifikasi keaslian klien menggunakan login / kata sandi.

Server IKEv2 dapat menggunakan sertifikat yang sama dengan server web, misalnya dari Let's Encrypt yang populer. Ini sangat menyederhanakan manajemen sertifikat.

Model yang sama digunakan dalam OpenVPN, dan jika diinginkan, Anda dapat menggunakan sertifikat dari Lets Encrypt di dalamnya, namun, dalam hal apa pun, administrator harus mentransfer file ke pengguna untuk mengkonfigurasi VPN.

Konfigurasikan server IKEv2


Anda dapat menggunakan server IKEv2 Anda dalam beberapa menit menggunakan skrip instalasi otomatis atau menggunakan wadah siap pakai. Penggunaan docker tidak disarankan, karena subsistem jaringannya mengurangi kinerja IPsec dengan harga VPS murah. Anda juga dapat mengkonfigurasi server IKEv2 secara manual, ada artikel di Habré dengan contoh pengaturan server Strongswan .

Kami akan menggunakan salah satu skrip konfigurasi otomatis yang paling sukses, github.com/jawj/IKEv2-setup.
Skrip ini baik karena menggunakan sertifikat dari Lets Encrypt dan secara otomatis menghasilkan sertifikat yang valid.

Langkah 1: Pemilihan Server


Untuk memulai server VPN, kita perlu VDS. Konfigurasi paling sederhana dengan inti prosesor tunggal akan dilakukan. Skrip dari contoh kami paling baik diuji pada Ubuntu 18.04, jadi ketika membuat server, pilih gambar OS ini.



Kami sedang menunggu instalasi server untuk menyelesaikan dan menyalin rincian untuk koneksi. Kata sandi root akan dikirim ke surat, atau dapat diatur secara manual melalui antarmuka web. Selanjutnya, kita masukkan semua perintah



Langkah 2: Instal Strongswan


Kami terhubung oleh klien SSH dan menjalankan skrip instalasi:

#     IKEv2 
wget https://raw.githubusercontent.com/jawj/IKEv2-setup/master/setup.sh
chmod u+x setup.sh
./setup.sh
....
#      IP- 
#   sslip.io     
Hostname for VPN: 123-45-67-89.sslip.io
#   VPN
VPN username: coolguy
#  
VPN password (no quotes, please):
....
#     SSH-,    .

Langkah 3: Pengaturan klien


Detail pengguna VPN yang dimasukkan sekarang harus digunakan untuk konfigurasi pada klien. Penting untuk menggunakan persis nama domain yang Anda masukkan di Hostname untuk VPN .

Langkah 4: Tambahkan Pengguna Baru


Untuk menambahkan pengguna baru ke server yang sudah dibuat, edit file /etc/ipsec.sectes.

# nano /etc/ipsec.secrets
123-45-67-89.sslip.io : RSA "privkey.pem"
coolguy : EAP "C00lPassword"
badguy : EAP "bAdP$$word"

Setelah menambahkan pengguna, jalankan perintah rahasia ipsec sehingga Strongswan membaca kembali konfigurasi.

Kesimpulan


Kami meninjau pengalaman pengguna IKEv2. Administrasi server semacam itu tidak lebih rumit, dan kadang-kadang bahkan lebih mudah daripada OpenVPN. Jika Anda hanya berencana untuk mengatur akses jarak jauh untuk karyawan Anda, pastikan untuk melihat ke arah IKEv2. Jangan memaksa pengguna Anda untuk menginstal program yang tidak perlu jika semua yang Anda butuhkan sudah ada di komputer mereka. Lebih nyaman, lebih aman dan lebih maju.


All Articles