Cara Menginstal dan Mengkonfigurasi Server OpenVPN di Ubuntu 18.04, 16.04

Cara Menginstal dan Mengkonfigurasi Server OpenVPN di Ubuntu 18.04, 16.04

VPN atau Virtual Private Network adalah sekelompok komputer yang terhubung ke jaringan pribadi melalui jaringan publik (Internet). Hari -hari ini keamanan adalah perhatian utama bagi semua orang dan itu lebih diperlukan saat bekerja di atas jaringan publik.

Seperti Anda memiliki sekelompok komputer di lokasi yang jauh. Sekarang Anda perlu mengakses komputer tersebut sebagai jaringan LAN di sistem Anda. Juga, Anda perlu semua data harus dienkripsi selama transfer antar komputer. Solusinya adalah VPN. Anda dapat menggunakan jaringan VPN untuk menghubungkan dua sistem lokasi jarak jauh satu sama lain karena mereka berada di LAN yang sama. Tutorial ini akan membantu Anda menginstal dan mengonfigurasi server OpenVPN di sistem Ubuntu, Debian, dan Linux.

Langkah 1 - Prasyarat

Masuk ke sistem Ubuntu Anda menggunakan SSH. Sekarang Perbarui Cache APT Sistem dan Perbarui Paket Sistem Anda ke Versi Terbaru.

sudo apt-get update sudo apt-get upgrade 

Langkah 2 - Instal OpenVPN Server

Sekarang, instal paket OpenVPN dengan mengetikkan perintah di bawah ini. Juga, pasang paket mudah-RSA untuk mengelola sertifikat SSL yang diperlukan untuk enkripsi data antara server dan klien.

sudo apt-get install OpenVPN Easy-RSA 

Salin file konfigurasi sampel untuk OpenVPN ke/etc/OpenVPN/Server.file conf. Ini akan digunakan sebagai file konfigurasi server OpenVPN.

gunzip -c/usr/share/doc/openvpn/contoh/sampel-config-files/server.conf.GZ>/etc/OpenVPN/Server.conf 

Langkah 3 - Konfigurasikan Server OpenVPN

Edit file konfigurasi server OpenVPN di editor teks favorit Anda.

vim/etc/openvpn/server.conf 

Hapus ";" Untuk tidak memberikan baris atau menambahkan baris baru untuk entri berikut dalam file konfigurasi.

 tls-auth ta.Kunci 0 Key-Direction 0 Cipher AES-256-CBC AUTH SHA256 COMP-LZO PENGGUNA NOBOHNG GROUP NOGROUP CERT Server.Server Key CRT.kunci 

Pengaturan di atas akan memungkinkan koneksi VPN antar sistem. Tetapi mereka tidak akan mengarahkan lalu lintas internet klien melalui VPN. Juga, butuhkan nilai dhcp-option.

 Push "Redirect-Gateway DEF1 Bypass-DHCP" Push "DHCP-Option DNS 208.67.222.222 "Push" DHCP-Option DNS 208.67.220.220 " 

Langkah 4 - Perbarui Konfigurasi Jaringan

Lakukan beberapa pengaturan jaringan untuk memungkinkan pengguna mengakses server di jaringan server OpenVPN yang sama. Pertama, izinkan penerusan IP di server dengan menjalankan perintah di bawah ini untuk mengatur net.IPv4.IP_FORWARD Nilai hingga 1 di /etc /sysctl.file conf.

echo "net.IPv4.ip_forward = 1 ">> /etc /sysctl.conf sudo sysctl -p 

Menyamarkan lalu lintas internet yang berasal dari jaringan VPN (10.8.0.0/24) ke sistem antarmuka jaringan lokal (eth0). Dimana 10.8.0.0 adalah jaringan VPN saya dan eth0 adalah antarmuka jaringan sistem saya.

sudo modprobe ptable_nat sudo ptables -t nat -a postrouting -s 10.8.0.0/24 -O eth0 -j Masquerade 

Langkah 5 - Pengaturan Otoritas Sertifikat

OpenVPN menyediakan layanan VPN yang aman menggunakan enkripsi lalu lintas TLS/SSL antara server dan klien. Untuk ini, Anda perlu mengeluarkan sertifikat tepercaya untuk server dan klien untuk bekerja. Untuk mengeluarkan sertifikat, Anda perlu mengkonfigurasi otoritas sertifikat di sistem Anda.

Mari kita buat direktori untuk otoritas sertifikat menggunakan perintah make-cadir. Perintah ini juga menginisialisasi direktori dengan file yang diperlukan.

make-cadir/etc/openvpn/openvpn-ca/cd/etc/openvpn/openvpn-ca/ 

Edit file vars di editor teks favorit Anda.

VIM VARS 

dan perbarui nilai di bawah ini sesuai kebutuhan. Nilai -nilai ini akan digunakan sebagai nilai default untuk mengeluarkan sertifikat untuk server dan klien. Anda juga dapat menimpa nilai -nilai ini selama pembuatan sertifikat.

Ekspor key_country = "US" Ekspor key_province = "CA" Ekspor Key_city = "SanFrancisco" Ekspor key_org = "Tecadmin" Ekspor Key_email = "[Email Dilindungi]" Ekspor Key_ou = "Keamanan" 

Muat nilai -nilai di lingkungan sistem.

Sumber Vars 

Sekarang gunakan ./bersih-semua untuk menghapus tombol keluar dan kemudian jalankan ./build-ca untuk membangun sertifikat CA di bawah/etc/openvpn/openvpn-ca/direktori.

./bersih-semua ./build-ca 

Output sampel dari perintah di atas:

Menghasilkan kunci pribadi RSA 2048 bit ... +++ ... +++ Menulis kunci pribadi baru ke 'CA.kunci '----- Anda akan diminta untuk memasukkan informasi yang akan dimasukkan ke dalam permintaan sertifikat Anda. Apa yang akan Anda masukkan adalah apa yang disebut nama terhormat atau DN. Ada beberapa bidang tetapi Anda dapat meninggalkan beberapa bidang untuk beberapa bidang akan ada nilai default, jika Anda masuk '.', Lapangan akan dibiarkan kosong. ----- Nama Negara (2 Kode Surat) [AS]: Nama Negara Bagian atau Provinsi (Nama Lengkap) [CA]: Nama Lokalitas (mis. , bagian) [keamanan]: Nama umum (mis. Nama Anda atau nama host server Anda) [Tecadmin ca]: Nama [Easyrsa]: Alamat email [[email dilindungi]]: 

Sekarang sistem Anda siap sebagai otoritas sertifikat untuk mengeluarkan sertifikat.

Langkah 6 - Hasilkan file sertifikat server

Pertama buat sertifikat untuk server OpenVPN menggunakan ./perintah build-key-server diikuti oleh server kata kunci untuk menghasilkan sertifikat untuk server. Ini akan membuat sertifikat yang diperlukan, file utama di bawah Direktori Keys.

CD/etc/openvpn/openvpn-ca/ ./Server Build-Key-Server 

Output sampel dari perintah di atas:

… Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'US' stateOrProvinceName :PRINTABLE:'CA' localityName :PRINTABLE:'SanFrancisco' organizationName :PRINTABLE:'TecAdmin' organizationalUnitName:PRINTABLE:'Security' commonName :PRINTABLE:' Nama Server: Cetak: 'Easyrsa' EmailAddress: Ia5String: '[email terlindungi]' Sertifikat akan disertifikasi hingga 2 Januari 05:33:24 2028 GMT (3650 hari) Tandatangani sertifikat tersebut? [y/n]: y 1 dari 1 permintaan sertifikat bersertifikat, komit? [y/n] y menulis database dengan 1 entri baru basis data diperbarui 

Sekarang menghasilkan kunci diffie-hellman yang kuat untuk digunakan untuk pertukaran kunci menggunakan perintah. Perintah ini mungkin membutuhkan waktu untuk menyelesaikannya.

OpenSSL DHPARAM -OUT/ETC/OPENVPN/DH2048.PEM 2048 

Setelah itu menghasilkan tanda tangan HMAC untuk membuat kemampuan verifikasi integritas TLS yang lebih aman.

OpenVPN --GenKey --Sekret/etc/openvpn/openvpn-ca/keys/ta.kunci 

Setelah membuat semua file, menyalinnya ke /etc /outvpn direktori.

CD/etc/openvpn/openvpn-ca/tombol sudo cp ca.crt ta.server kunci.Server CRT.kunci /etc /openvpn 

Langkah 7 - Mulai Layanan OpenVPN

Server OpenVPN sudah siap sekarang. Mari kita mulai layanan menggunakan perintah Systemctl. Juga, periksa status layanan.

Sudo Systemctl Start [Email Dilindungi] SUDO SYSTEMCTL Status [Email Dilindungi] 

Pada awal layanan yang sukses, Anda akan melihat hasil seperti di bawah ini.

● [Email Dilindungi]-Koneksi OpenVPN ke server dimuat: dimuat (/lib/systemd/system/[email dilindungi]; dinonaktifkan; preset vendor: diaktifkan) aktif: aktif (berjalan) sejak THU 2018-01-04 11:09: 51 IST; 6S AGO DOCS: Man: OpenVPN (8) https: // komunitas.OpenVPN.net/openvpn/wiki/openvpn23ManPage https: // komunitas.OpenVPN.NET/OPENVPN/WIKI/HOPTO PROSES: 4403 execStart =/usr/sbin/openvpn --daemon ovpn-%i --status/run/openvpn/%i.Status 10 -CD /ETC /OpenVPN -PID Utama: 4404 (OpenVPN) CGroup: /Sistem.Slice/System-OpenVPN.Slice/[Email Dilindungi] └─4404/usr/sbin/openvpn --daemon ovpn-server --status/run/openvpn/server.Status 10-CD /etc /OpenVPN-Jan 04 11:09:51 LAITKOR237 OVPN-Server [4404]: /SBIN /IP addr Tambahkan Dev Tun0 Lokal 10.8.0.1 Peer 10.8.0.2 Jan 04 11:09:51 LAITKOR237 OVPN-Server [4404]: /SBIN /IP Route Tambahkan 10.8.0.0/24 via 10.8.0.2 Jan 04 11:09:51 LAITKOR237 OVPN-SERVER [4404]: GID SET TO NOGROUP 04 JAN 11:09:51 LAITKOR237 OVPN-Server [4404]: UID TO NOTONA JAN 04 11:09:51 LAITKOR237 SERVER-SERVER [4404]: UDPV4 Link Local (Bound): [Undef] Jan 04 11:09:51 LAITKOR237 OVPN-Server [4404]: UDPV4 Link Remote: [Undef] Jan 04 11:09:51 LAITKOR237 OVPN-SERVER [4404] : Multi: multi_init dipanggil, r = 256 V = 256 Jan 04 11:09:51 laitkor237 ovpn-server [4404]: ifconfig pool: base = 10.8.0.4 Ukuran = 62, IPv6 = 0 Jan 04 11:09:51 LAITKOR237 OVPN-Server [4404]: Ifconfig Pool List 04 Jan 11:09:51 LAITKOR237 OVPN-Server [4404]: Urutan Inisialisasi selesai 

OpenVPN akan membuat nama antarmuka jaringan tun0. Jalankan perintah di bawah ini untuk melihat IP yang ditetapkan ke antarmuka. Sebagian besar menetapkan IP pertama dari jaringan yang ditentukan di server.file conf.

ifconfig tun0 

Langkah 8 - Hasilkan Konfigurasi Klien

Anda OpenVPN Server siap digunakan. Sekarang hasilkan file konfigurasi klien termasuk kunci pribadi, sertifikat. Saya telah membuat proses ini lebih mudah bagi Anda untuk menghasilkan sejumlah file konfigurasi menggunakan skrip sederhana. Ikuti langkah -langkah di bawah ini untuk menghasilkan file konfigurasi. Pastikan untuk menggunakan struktur direktori yang benar.

mkdir/etc/openvpn/klien cd/etc/openvpn/klien 

Buat file skrip shell seperti di bawah ini.

vim make-vpn-klien.SH 

Salin konten di bawah ini. Perbarui variabel openvpn_server dengan alamat IP OpenVPN Server yang benar dan simpan.

#!/bin/bash # menghasilkan file konfigurasi klien openvpn. Client_name = $ 1 openvpn_server = "192.168.1.237 "ca_dir =/etc/openvpn/openvpn-ca client_dir =/etc/openvpn/klien cd $ ca_dir sumber vars ./build-key $ client_name echo "client dev tun proto udp remote $ openvpn_server 1194 pengguna Tidak ada grup nogroup persistan-tun-tun cipher AES-128-CBC auth SHA256 Key-Direction 1 Remote-CERT-TLS Server Server Server Remote-TLS Server Remote-TLS Server Remote-TLS Server Remote-TLS Server Comp Remote-TLS Server Remote-TLS Server COMP REMOTE-TLS Server Remote-TLS Server Remote-TLS Server Remote-TLS Server COMPS REMOTE-TLS Server Remote-TLS Server COMP REMOTE-TLS Server Remote-TLS Server Remote-TLS Server Comper -lzo verb 3 "> $ client_dir/$ client_name.OVPN Cat <(echo -e '') \ $CA_DIR/keys/ca.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.key \ <(echo -e '\n') \ $CA_DIR/keys/ta.key \ <(echo -e '') \ >> $ Client_dir/$ client_name.OVPN echo -e "File klien dibuat - $ client_dir/$ client_name.ovpn "
12345678910111213141516171819202122232425262728293031323334353637383940#!/bin/bash # menghasilkan file konfigurasi klien openvpn. Client_name = $ 1openvpn_server = "192.168.1.237 "ca_dir =/etc/openvpn/openvpn-caclient_dir =/etc/openvpn/klien cd $ ca_dir sumber vars./build-key $ client_name echo "clientdev tunproTo udpremote $ openvpn_server 1194user NOBOGROUP NOGROUPPERSIST-KEEPHERSISTIST-TUCIPHER AES-128-CBCAUTH SHA256-Direction 1REMOTE-TLS-TLS-TLSLS-LIGN L-l-lls-l-l-lls-tls-tls-tlscomper l-lser-l-ls-tlscomper NAMA KLIEN.OVPN Cat <(echo -e '') \ $CA_DIR/keys/ca.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.crt \ <(echo -e '\n') \ $CA_DIR/keys/$CLIENT_NAME.key \ <(echo -e '\n') \ $CA_DIR/keys/ta.key \ <(echo -e '') \ >> $ Client_dir/$ client_name.OVPN echo -e "File klien dibuat - $ client_dir/$ client_name.ovpn "

Atur izin eksekusi pada skrip yang baru dibuat.

chmod +x ./make-vpn-klien.SH 

Sekarang gunakan skrip ini untuk menghasilkan file konfigurasi untuk klien VPN termasuk sertifikat dan kunci. Anda harus meneruskan nama klien sebagai parameter baris perintah.

./make-vpn-klien.sh vpnclient1 

Tekan ENTER untuk nilai default sertifikat. Pada akhirnya, itu akan meminta tanda sertifikat dan berkomitmen. Tekan y untuk kedua input.

Sertifikat akan disertifikasi hingga 2 Januari 07:18:10 2028 GMT (3650 hari) Tandatangani Sertifikat? [y/n]: y 1 dari 1 permintaan sertifikat bersertifikat, komit? [y/n] y Tuliskan database dengan 1 entri baru basis data file klien yang diperbarui dibuat -/etc/openvpn/klien/vpnclient1.ovpn 

Script di atas akan membuat file konfigurasi klien di bawah/etc/openvpn/klien/direktori dengan nama klien dengan .Ekstensi OVPN seperti yang ditunjukkan di baris output terakhir. Gunakan file ini untuk terhubung dari sistem jarak jauh.

Langkah 9 - Hubungkan VPN dari Klien

Anda memerlukan file konfigurasi yang dihasilkan dari atas

Klien Windows

Unduh Perangkat Lunak Klien OpenVPN GUI dari halaman unduhan resmi dan instal di sistem Anda. Sekarang salin yang diberikan .File OVPN di bawah C: \ Program Files \ OpenVPN \ Config File \ Directory. Sekarang luncurkan OpenVPN GUI Client dan Connect. Pada koneksi yang berhasil Anda akan menjadi ikon hijau di pemberitahuan kanan bawah. Anda dapat melihat status dengan klik ikon.

Klien Linux

Pada klien Linux, pertama, Anda perlu menginstal paket OpenVPN. Setelah itu gunakan perintah berikut untuk terhubung ke server OpenVPN menggunakan file konfigurasi klien yang diberikan.

OpenVPN --Config Client1.ovpn 

Setelah Sukses Koneksi OpenVPN akan menetapkan alamat IP ke sistem Anda. Gunakan perintah berikut untuk memeriksa alamat IP yang ditetapkan.

ifconfig tun0 

[keluaran]

Tun0 Link ENCAP: UNSPEC HWADDR 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 Inet Addr: 10.8.0.18 P-T-P: 10.8.0.17 topeng: 255.255.255.255 UP Pointopoint Running Noarp Multicast MTU: 1500 Metrik: 1 RX Paket: 0 Kesalahan: 0 Diturunkan: 0 Overruns: 0 Bingkai: 0 TX Paket: 0 Kesalahan: 0 Diturunkan: 0 Overruns: 0 Carrier: 0 Collision: 0 TXQueuelen: 100 Rx bytes: 0 (0.0 b) byte tx: 0 (0.0 b)