Ubuntu 20.04 Focal Fossa adalah dukungan jangka panjang terakhir dari salah satu distribusi Linux yang paling banyak digunakan. Dalam tutorial ini kita akan melihat cara menggunakan sistem operasi ini untuk membuat server OpenVPN dan cara membuat .ovpn
file yang akan kami gunakan untuk menghubungkannya dari mesin klien kami.
Dalam tutorial ini Anda akan mempelajari:
- Cara membuat Otoritas Sertifikat
- Cara membuat sertifikat dan kunci server dan klien
- Cara menandatangani sertifikat dengan Otoritas Sertifikat
- Cara membuat parameter Diffie-Hellman
- Cara membuat kunci tls-auth
- Cara mengkonfigurasi server OpenVPN
- Cara membuat file .ovpn untuk terhubung ke VPN
Persyaratan dan Konvensi Perangkat Lunak yang Digunakan
Kategori | Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan |
---|---|
Sistem | Fossa Fokus Ubuntu 20.04 |
Perangkat Lunak | openvpn, ufw, easy-rsa |
Lainnya | Izin root untuk melakukan tugas administratif |
Konvensi | # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa |
Penyiapan skenario
Sebelum melanjutkan dengan konfigurasi VPN yang sebenarnya, mari kita bicara tentang konvensi dan penyiapan yang akan kita terapkan dalam tutorial ini.
Kami akan menggunakan dua mesin, keduanya ditenagai oleh Ubuntu 20.04 Focal Fossa . Yang pertama, camachine
akan digunakan untuk menghosting Otoritas Sertifikat . kami; yang kedua, openvpnmachine
akan menjadi yang akan kami siapkan sebagai VPN actual yang sebenarnya server. Dimungkinkan untuk menggunakan mesin yang sama untuk kedua tujuan, tetapi akan kurang aman, karena seseorang yang melanggar server, dapat "meniru" Otoritas Sertifikat, dan menggunakannya untuk menandatangani sertifikat yang tidak diinginkan (masalah ini terutama relevan hanya jika Anda berencana untuk memiliki lebih dari satu server atau jika Anda berencana menggunakan CA yang sama untuk tujuan lain). Untuk memindahkan file antara satu mesin dan yang lain kita akan menggunakan scp
(salinan aman). 10 langkah utama yang akan kita lakukan adalah sebagai berikut:
- Generasi Otoritas Sertifikat;
- Pembuatan kunci server dan permintaan sertifikat;
- Penandatanganan permintaan sertifikat server dengan CA;
- Pembuatan parameter Diffie-Hellman di server;
- Pembuatan kunci tls-auth di server;
- Konfigurasi OpenVPN;
- Konfigurasi jaringan dan firewall (ufw) di server;
- Pembuatan kunci klien dan permintaan sertifikat;
- Penandatanganan sertifikat klien dengan CA;
- Pembuatan file .ovpn klien yang digunakan untuk menyambung ke VPN.
Langkah 1 – Pembuatan Certificate Authority (CA)
Langkah pertama dalam perjalanan kami terdiri dari pembuatan Otoritas Sertifikat pada mesin khusus. Kami akan bekerja sebagai pengguna yang tidak memiliki hak istimewa untuk menghasilkan file yang dibutuhkan. Sebelum kita mulai, kita perlu menginstal easy-rsa
paket:
$ sudo apt-get update &&sudo apt-get -y install easy-rsa
Setelah paket terinstal, kita dapat menggunakan make-cadir
perintah untuk menghasilkan direktori yang berisi alat dan file konfigurasi yang diperlukan, dalam hal ini kita akan menyebutnya certificate_authority
. Setelah dibuat, kita akan pindah ke dalamnya:
$ make-cadir certificate_authority &&cd certificate_authority
Di dalam direktori kita akan menemukan file bernama vars
. Dalam file tersebut kita dapat mendefinisikan beberapa variabel yang akan digunakan untuk pembuatan sertifikat. Seperangkat variabel yang dikomentari ini dapat ditemukan di baris 91
ke 96
. Hapus saja komentar dan tetapkan nilai yang sesuai:
set_var EASYRSA_REQ_COUNTRY "US"set_var EASYRSA_REQ_PROVINCE "California"set_var EASYRSA_REQ_CITY "San Francisco"set_var EASYRSA_REQ_ORG "Copyleft Certificate Co"set_var EASYRSA_REQ_CITY "San Francisco"set_var EASYRSA_REQ_ORG "Copyleft Certificate Co"set_var EASYRSA_REQ_EMAILSset "Opre_REQ_EMAILS"Organisasi saya EASYRSA_REQ_EMAILSetelah perubahan disimpan, kita dapat melanjutkan dan menghasilkan PKI (Public Key Infrastructure), dengan perintah berikut yang akan membuat direktori bernama
pki
:$ ./easyrsa init-pkiDengan infrastruktur yang ada, kami dapat membuat kunci dan sertifikat CA kami. Setelah meluncurkan perintah di bawah ini, kita akan diminta untuk memasukkan passphrase untuk kunci ca . Kami harus memberikan kata sandi yang sama setiap kali kami akan berinteraksi dengan otoritas. Nama Umum untuk sertifikat juga harus disediakan. Ini bisa menjadi nilai arbitrer; jika kita hanya menekan enter pada prompt, yang default akan digunakan, dalam hal ini
Easy-RSA CA
:$ ./easyrsa build-caBerikut adalah output dari perintah:
Catatan:menggunakan konfigurasi Easy-RSA dari:./varsMenggunakan SSL:openssl OpenSSL 1.1.1d 10 Sep 2019Masukkan Kata Sandi Kunci CA Baru:Masukkan Kembali Frasa Kunci Kunci CA Baru:Membuat kunci pribadi RSA, modulus panjang 2048 bit (2 bilangan prima )..........++++++.................................. ..................................++++e adalah 65537 (0x010001) Tidak dapat memuat / home/egdoc/certificate_authority/pki/.rnd ke dalam RNG140296362980608:error:2406F079:generator nomor acak:RAND_load_file:Tidak dapat membuka file:../crypto/rand/randfile.c:98:Filename=/home/egdoc/certificate_authority/pki /.rndAnda akan diminta untuk memasukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN. Ada beberapa bidang tetapi Anda dapat mengosongkannyaUntuk beberapa bidang akan ada nilai default,Jika Anda memasukkan '.', bidang akan dikosongkan.-----Nama Umum (misalnya:nama pengguna, host, atau server Anda) [Easy-RSA CA]:Pembuatan CA selesai dan sekarang Anda dapat mengimpor dan s ign cert request. File sertifikat CA baru Anda untuk penerbitan ada di:/home/egdoc/certificate_authority/pki/ca.crt
build-ca
perintah menghasilkan dua file; jalur mereka, relatif terhadap direktori kerja kami adalah:
- pki/ca.crt
- pki/private/ca.key
Yang pertama adalah sertifikat publik, yang kedua adalah kunci yang akan digunakan untuk menandatangani sertifikat server dan klien, jadi harus disimpan seaman mungkin.
Sedikit catatan, sebelum kita melangkah maju:di output perintah Anda mungkin telah melihat pesan kesalahan. Meskipun kesalahannya tidak banyak, solusi untuk menghindarinya adalah dengan mengomentari baris ketiga openssl-easyrsa.cnf
file yang ada di dalam direktori kerja yang dihasilkan. Masalah ini dibahas di repositori github openssl. Setelah dimodifikasi, file tersebut akan terlihat seperti ini:
# Untuk digunakan dengan Easy-RSA 3.1 dan OpenSSL atau LibreSSLRANDFILE =$ENV::EASYRSA_PKI/.rnd
Ini mengatakan, mari kita pindah ke mesin yang akan kita gunakan sebagai server OpenVPN dan menghasilkan kunci dan sertifikat server.
Langkah 2 – Pembuatan kunci server dan permintaan sertifikat
Pada langkah ini kita akan menghasilkan kunci server dan permintaan sertifikat yang akan ditandatangani oleh otoritas sertifikat. Pada mesin yang akan kita gunakan sebagai server OpenVPN, kita harus menginstal openvpn
, easy-rsa
dan ufw
paket:
$ sudo apt-get update &&sudo apt-get -y install openvpn easy-rsa ufw
Untuk menghasilkan kunci server dan permintaan sertifikat, kami melakukan prosedur yang sama seperti yang kami gunakan pada mesin yang menghosting Otoritas Sertifikat:
- Kami membuat direktori kerja dengan
make-cadir
perintah, dan pindah ke dalamnya. - Setel variabel yang terdapat dalam
vars
file yang akan digunakan untuk sertifikat. - Buat Infrastruktur Kunci Publik dengan
./easyrsa init-pki
perintah.
Setelah langkah awal ini, kita dapat mengeluarkan perintah untuk membuat sertifikat server dan file kunci:
$ ./easyrsa gen-req server nopass
Kali ini, karena kami menggunakan nopass
opsi, kami tidak akan diminta untuk memasukkan kata sandi selama pembuatan kunci server . Kami akan tetap diminta untuk memasukkan Nama Umum untuk sertifikat server . Dalam hal ini nilai default yang digunakan adalah server
. Itulah yang akan kita gunakan dalam tutorial ini:
Catatan:menggunakan konfigurasi Easy-RSA dari:./varsUsing SSL:openssl OpenSSL 1.1.1d 10 Sep 2019Membuat kunci pribadi RSA.............+ ++++.................+++++ menulis kunci pribadi baru ke '/home/egdoc/openvpnserver/pki/private/server.key.9rU3WfZMbW'- ---- Anda akan diminta untuk memasukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name atau DN. Ada beberapa bidang tetapi Anda dapat mengosongkannyaUntuk beberapa bidang akan ada nilai default,Jika Anda memasukkan '.', bidang tersebut akan dibiarkan kosong.-----Nama Umum (misalnya:nama pengguna, host, atau server Anda) [server]:Keypair dan permintaan sertifikat lengkap. File Anda adalah:req:/home/egdoc/openvpnserver/pki/reqs/server.reqkey:/home/egdoc/openvpnserver/pki/private/server.key
Permintaan tanda sertifikat dan kunci pribadi akan dihasilkan:
/home/egdoc/openvpnserver/pki/reqs/server.req
/home/egdoc/openvpnserver/pki/private/server.key
.
File kunci harus dipindahkan ke dalam /etc/openvpn
direktori:
$ sudo mv pki/private/server.key /etc/openvpn
Permintaan sertifikat, sebaliknya, harus dikirim ke mesin otoritas sertifikat, untuk ditandatangani. Kita bisa menggunakan scp
perintah untuk mentransfer file:
$ scp pki/reqs/server.req egdoc@camachine:/home/egdoc/
Mari kembali ke camachine
dan otorisasi sertifikat.
Langkah 3 – Menandatangani sertifikat server dengan CA
Pada mesin Certificate Authority kita harus menemukan file yang kita salin pada langkah sebelumnya di $HOME
direktori pengguna kami:
$ ls ~certificate_authority server.req
Hal pertama yang kami lakukan adalah mengimpor permintaan sertifikat. Untuk menyelesaikan tugas, kami menggunakan import-req
aksi easyrsa
naskah. Sintaksnya adalah sebagai berikut:
import-req
Dalam kasus kami, ini diterjemahkan menjadi:
$ ./easyrsa import-req ~/server.req server
Perintah akan menghasilkan output berikut:
Catatan:menggunakan konfigurasi Easy-RSA dari:./varsMenggunakan SSL:openssl OpenSSL 1.1.1d 10 Sep 2019Permintaan telah berhasil diimpor dengan nama pendek:serverAnda sekarang dapat menggunakan nama ini untuk melakukan operasi penandatanganan pada permintaan ini.
Untuk menandatangani permintaan, kami menggunakan sing-req
action, yang mengambil jenis permintaan sebagai argumen pertama (server, dalam hal ini), dan short_basename
kita gunakan pada perintah sebelumnya (server). Kami menjalankan:
$ ./easyrsa sign-req server server
Kami akan diminta untuk mengonfirmasi bahwa kami ingin menandatangani sertifikat dan memberikan kata sandi yang kami gunakan untuk kunci Otoritas Sertifikat. Jika semuanya berjalan seperti yang diharapkan, sertifikat akan dibuat:
Catatan:menggunakan konfigurasi Easy-RSA dari:./varsMenggunakan SSL:openssl OpenSSL 1.1.1d 10 Sep 2019Anda akan menandatangani sertifikat berikut. Harap periksa detail yang ditampilkan di bawah untuk keakuratannya. Perhatikan bahwa permintaan ini belum diverifikasi secara kriptografis. Pastikan itu berasal dari sumber tepercaya atau Anda telah memverifikasi checksum permintaan dengan pengirim. Subjek permintaan, untuk ditandatangani sebagai sertifikat server selama 1080 hari:subjek=commonName =serverKetik kata 'ya' untuk melanjutkan, atau lainnya masukan untuk membatalkan. Konfirmasikan detail permintaan:yesMenggunakan konfigurasi dari /home/egdoc/certificate_authority/pki/safessl-easyrsa.cnfMasukkan frasa sandi untuk /home/egdoc/certificate_authority/pki/private/ca.key:Periksa apakah permintaan cocok dengan tanda tanganSignature okNama Terhormat Subjek adalah sebagai berikutcommonName :ASN.1 12:'server'Certificate akan disertifikasi hingga 20 Mar 02:12:08 2023 GMT (1080 hari)Tulis database dengan 1 entri baruData Base UpdatedSertifikat dibuat di:/home/egdoc/certificate_authority/ pki/issued/server.crt
Kami sekarang dapat menghapus file permintaan yang sebelumnya kami transfer dari openvpnmachine
. Dan salin kembali sertifikat yang dihasilkan ke OpenVPN . kami server, bersama dengan sertifikat publik CA:
$ rm ~/server.req$ scp pki/{ca.crt,issued/server.crt} egdoc@openvpnmachine:/home/egdoc
Kembali ke openvpnmachine
kita harus menemukan file di direktori home kita. Sekarang kita dapat memindahkannya ke /etc/openvpn
:
$ sudo mv ~/{ca.crt,server.crt} /etc/openvpn
Langkah 4 – Pembuatan parameter Diffie-Hellman
Langkah selanjutnya terdiri dari pembuatan Diffie-Hellman parameter. Diffie-Hellman pertukaran kunci adalah metode yang digunakan untuk mentransfer kunci kripto melalui saluran publik yang tidak aman. Perintah untuk membuat kunci adalah sebagai berikut (mungkin perlu beberapa saat untuk menyelesaikannya):
$ ./easyrsa gen-dh
Kunci akan dibuat di dalam pki
direktori sebagai dh.pem
. Mari kita pindahkan ke /etc/openvpn
sebagai dh2048.pem
:
$ sudo mv pki/dh.pem /etc/openvpn/dh2048.pem
Langkah 5 – Pembuatan kunci tls-auth (ta.key)
Untuk meningkatkan keamanan, OpenVPN mengimplementasikan tls-auth . Mengutip dokumentasi resmi:
Arahan tls-auth menambahkan tanda tangan HMAC tambahan ke semua paket handshake SSL/TLS untuk verifikasi integritas. Paket UDP apa pun yang tidak memiliki tanda tangan HMAC yang benar dapat dihapus tanpa pemrosesan lebih lanjut. Tanda tangan HMAC tls-auth memberikan tingkat keamanan tambahan di atas dan di luar yang disediakan oleh SSL/TLS. Ini dapat melindungi dari:
– Serangan DoS atau banjir port pada port UDP OpenVPN.
– Pemindaian port untuk menentukan port UDP server mana yang berada dalam status mendengarkan.
– Kerentanan buffer overflow di Implementasi SSL/TLS.
– Inisiasi handshake SSL/TLS dari mesin yang tidak sah (sementara handshake tersebut pada akhirnya akan gagal untuk diautentikasi, tls-auth dapat memotongnya pada titik yang jauh lebih awal).
Untuk menghasilkan kunci tls_auth kita dapat menjalankan perintah berikut:
$ openvpn --genkey --secret ta.key
Setelah dibuat, kami memindahkan ta.key
file ke /etc/openvpn
:
$ sudo mv ta.key /etc/openvpn
Penyiapan kunci server kami sekarang selesai. Kita dapat melanjutkan dengan konfigurasi server yang sebenarnya.
Langkah 6 – Konfigurasi OpenVPN
File konfigurasi OpenVPN tidak ada secara default di dalam /etc/openvpn
. Untuk membuatnya, kami menggunakan template yang dikirimkan dengan kode openvpn
kemasan. Mari kita jalankan perintah ini:
$ zcat \ /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz \ | sudo tee /etc/openvpn/server.conf> /dev/null
Sekarang kita dapat mengedit /etc/openvpn/server.conf
mengajukan. Bagian yang relevan ditunjukkan di bawah ini. Hal pertama yang ingin kami lakukan adalah memverifikasi bahwa nama kunci dan sertifikat yang dirujuk sesuai dengan yang kami buat. Jika Anda mengikuti tutorial ini pasti akan terjadi (baris 78-80
dan 85
):
ca ca.crtcert server.crtkey server.key # File ini harus dirahasiakandh dh2048.pem
Kami ingin menjalankan daemon OpenVPN dengan hak istimewa yang rendah, nobody
pengguna dan nogroup
kelompok. Bagian yang relevan dari file konfigurasi ada di baris 274
dan 275
. Kita hanya perlu menghapus ;
. yang terdepan :
pengguna tidak ada grup grup
Baris lain yang ingin kami hapus komentarnya adalah 192
. Ini akan menyebabkan semua klien mengalihkan gateway default mereka melalui VPN:
push "redirect-gateway def1 bypass-dhcp"
Baris 200
dan 201
to juga dapat digunakan untuk mengaktifkan server untuk mendorong server DNS tertentu ke klien. Yang ada di file konfigurasi adalah yang disediakan oleh opendns.com
:
push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 208.67.220.220"
Pada titik ini /etc/openvpn
direktori harus berisi file-file ini yang kami buat:
/etc/openvpn├── ca.crt├── dh2048.pem├── server.conf├── server.crt├── server.key└── ta.key
Mari kita pastikan semuanya dimiliki oleh root:
$ sudo chown -R root:root /etc/openvpn
Kita dapat melanjutkan ke langkah berikutnya:mengonfigurasi opsi jaringan.
Langkah 7 – siapkan jaringan dan ufw
Agar VPN kami berfungsi, kami harus mengaktifkan penerusan IP di server kami. Untuk melakukannya, kita cukup menghapus komentar pada baris 28
dari /etc/sysctl.conf
berkas:
# Batalkan komentar pada baris berikutnya untuk mengaktifkan penerusan paket untuk IPv4net.ipv4.ip_forward=1
Untuk memuat ulang setelan:
$ sudo sysctl -p
Kita juga perlu mengizinkan penerusan paket di firewall ufw dengan memodifikasi /etc/default/ufw
file, dan mengubah DEFAULT_FORWARD_POLICY
dari DROP
untuk ACCEPT
(baris 19
):
# Atur kebijakan penerusan default ke ACCEPT, DROP atau REJECT. Harap perhatikan bahwa# jika Anda mengubah ini, kemungkinan besar Anda ingin menyesuaikan aturanDEFAULT_FORWARD_POLICY="ACCEPT"
Sekarang kita perlu menambahkan aturan berikut ke awal /etc/ufw/before.rules
mengajukan. Di sini kita mengasumsikan antarmuka yang digunakan untuk koneksi adalah eth0
:
*nat:POSTROUTING ACCEPT [0:0]-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADECOMMIT
Terakhir, kita harus mengizinkan lalu lintas masuk untuk openvpn
layanan di pengelola firewall ufw:
$ sudo ufw izinkan openvpn
Pada titik ini kita dapat memulai ulang ufw agar perubahan diterapkan. Jika firewall Anda tidak diaktifkan pada saat ini, pastikan ssh
layanan selalu diizinkan, jika tidak, Anda mungkin tidak dapat bekerja jika Anda bekerja dari jarak jauh.
$ sudo ufw nonaktifkan &&sudo ufw aktifkan
Sekarang kita dapat memulai dan mengaktifkan openvpn.service saat boot:
$ sudo systemctl restart openvpn &&sudo systemctl aktifkan openvpn
Langkah 8 – Pembuatan kunci klien dan permintaan sertifikat
Pengaturan server kami sekarang selesai. Langkah selanjutnya terdiri dari pembuatan kunci klien dan permintaan sertifikat. Prosedurnya sama dengan yang kami gunakan untuk server:kami hanya menggunakan "klien" sebagai nama alih-alih "putus", buat kunci dan permintaan sertifikat, lalu berikan yang terakhir ke mesin CA untuk ditandatangani.
$ ./easyrsa gen-req client nopass
Sama seperti sebelumnya, kita akan diminta untuk memasukkan nama umum. File berikut akan dibuat:
- /home/egdoc/openvpnserver/pki/reqs/client.req
- /home/egdoc/openvpnserver/pki/private/client.key
Mari kita salin client.req
ke mesin CA:
$ scp pki/reqs/client.req egdoc@camachine:/home/egdoc
Setelah file disalin, di camachine
, kami mengimpor permintaan:
$ ./easyrsa import-req ~/client.req client
Kemudian, kami menandatangani sertifikat:
$ ./easyrsa sign-req klien klien
Setelah memasukkan kata sandi CA, sertifikat akan dibuat sebagai pki/issued/client.crt
. Mari kita hapus file permintaan dan salin kembali sertifikat yang ditandatangani ke server VPN:
$ rm ~/client.req$ scp pki/issued/client.crt egdoc@openvpnmachine:/home/egdoc
Untuk kenyamanan, mari buat direktori untuk menampung semua hal terkait klien dan pindahkan kunci klien dan sertifikat di dalamnya:
$ mkdir ~/client$ mv ~/client.crt pki/private/client.key ~/client
Bagus, kita hampir sampai. Sekarang, kita harus menyalin template konfigurasi klien, /usr/share/doc/openvpn/examples/sample-config-files/client.conf
di dalam ~/client
direktori dan memodifikasinya agar sesuai dengan kebutuhan kita:
$ cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client
Berikut adalah baris yang perlu kita ubah dalam file. Pada baris 42
letakkan IP server atau nama host yang sebenarnya sebagai ganti my-server-1
:
remote my-server-1 1194
Pada baris 61
dan 62
hapus ;
karakter untuk menurunkan hak istimewa setelah inisialisasi:
pengguna tidak ada grup grup
Pada baris 88
ke 90
dan 108
kita dapat melihat bahwa sertifikat CA, sertifikat klien, kunci klien, dan kunci tls-auth direferensikan. Kami ingin mengomentari baris tersebut, karena kami akan menempatkan konten sebenarnya dari file di antara sepasang "tag" khusus:
<ca></ca>
untuk sertifikat CA<cert></cert>
untuk sertifikat klien<key></key>
untuk kunci klien<tls-auth></tls-auth>
untuk kunci tls-auth
Setelah baris dikomentari, kami menambahkan konten berikut di bagian bawah file:
# Ini dia konten file ca.crt # Ini dia konten file client.crt # Ini dia konten klien .key file key-direction 1# Ini dia isi file ta.key
Setelah selesai mengedit file, kita rename dengan .ovpn
akhiran:
$ mv ~/client/client.conf ~/client/client.ovpn
Yang tersisa hanyalah mengimpor file di aplikasi klien kami untuk membuatnya terhubung ke VPN kami. Jika kita menggunakan lingkungan desktop GNOME, misalnya, kita dapat mengimpor file dari Jaringan bagian dari panel kontrol. Di bagian VPN klik saja +
tombol, lalu pada “import from file” untuk memilih dan mengimpor file “.ovpn” yang sebelumnya Anda transfer ke mesin klien Anda.
Antarmuka GNOME untuk mengimpor file .ovpn
Kesimpulan
Dalam tutorial ini kami melihat cara membuat pengaturan OpenVPN yang berfungsi. Kami membuat Otoritas Sertifikat dan digunakan untuk menandatangani sertifikat server dan klien yang kami buat bersama dengan kunci yang sesuai. Kami melihat cara mengkonfigurasi server dan cara mengatur jaringan, memungkinkan penerusan paket dan melakukan modifikasi yang diperlukan pada konfigurasi firewall ufw. Terakhir, kami melihat cara membuat klien .ovpn file yang dapat diimpor dari aplikasi klien agar mudah terhubung ke VPN kami. Selamat menikmati!