GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Menginstal OpenVPN di CentOS 7 atau 8

Pendahuluan

Virtual Private Network (VPN) mengenkripsi semua lalu lintas jaringan, menutupi pengguna dan melindungi mereka dari jaringan yang tidak tepercaya. Ini dapat memberikan koneksi yang aman ke jaringan perusahaan, melewati pembatasan geografis, dan memungkinkan Anda menjelajahi web menggunakan jaringan Wi-Fi publik sambil menjaga kerahasiaan data Anda.

OpenVPN adalah solusi VPN Secure Socket Layer (SSL) open-source berfitur lengkap.

Dalam tutorial ini, Anda akan mempelajari cara menyiapkan OpenVPN di server CentOS 7 dan menghubungkan ke OpenVPN dari mesin klien.

Prasyarat

  • Server CentOS 7 atau CentOS 8
  • Akun pengguna dengan akses root (sudo)
  • Akses ke baris perintah/jendela terminal
  • Domain atau subdomain yang ditetapkan ke server Anda
  • Mesin klien tempat Anda akan terhubung ke server OpenVPN

Langkah 1:Instal OpenVPN

1. Perbarui repositori dan paket CentOS dengan menjalankan:

yum update -y

2. Anda tidak dapat mengunduh paket OpenVPN dari repositori default CentOS. Namun, OpenVPN tersedia di repositori Paket Ekstra untuk Enterprise Linux (EPEL). Untuk mengaktifkan repositori EPEL, jalankan perintah:

yum install epel-release -y

3. Perbarui repositori lagi:

yum update -y

4. Sekarang Anda dapat menginstal OpenVPN dengan perintah:

yum install -y openvpn

Langkah 2:Instal RSA Mudah

Langkah selanjutnya adalah membangun Public Key Infrastructure (PKI). Untuk melakukan ini, Anda perlu menginstal RSA mudah , utilitas CLI untuk membuat dan mengelola Otoritas Sertifikat (CA) PKI.

Easy RSA membantu Anda menyiapkan otoritas sertifikat (CA) internal dan menghasilkan pasangan kunci SSL untuk mengamankan koneksi VPN.

1. Untuk mengunduh paket RSA yang mudah, gunakan wget memerintah. Jika Anda tidak memiliki wget di sistem CenOS Anda, instal dengan menjalankan:

yum install -y wget

2. Pada saat penulisan, versi terbaru dari utilitas CLI adalah 3.0.8, yang akan kami unduh. Untuk menggunakan versi lain, lihat halaman rilis RSA yang mudah di GitHub.

wget https://github.com/OpenVPN/easy-rsa/archive/v3.0.8.tar.gz

3. Selanjutnya, ekstrak arsip yang diunduh:

tar -xf v3.0.8.tar.gz

4. Buat dan pindah ke openvpn baru direktori:

cd /etc/openvpn/

5. Kemudian, buat subdirektori easy-rsa di bawah jalur /etc/openvpn :

mkdir /etc/openvpn/easy-rsa

6. Pindahkan direktori hasil ekstrak ke /etc/openvpn/easy-rsa:

mv /root/easy-rsa-3.0.8 /etc/openvpn/easy-rsa

Untuk memeriksa apakah Anda telah berhasil memindahkan semuanya dari easy-rsa-3.0.8 direktori, pindah ke easy-rsa dengan cd /etc/openvpn/easy-rsa dan daftar konten dengan ls . Anda akan melihat daftar file dan folder, seperti pada gambar di bawah ini.

Langkah 3:Konfigurasi OpenVPN

Setelah Anda menginstal OpenVPN dan Easy RSA, Anda dapat melanjutkan ke konfigurasi server OpenVPN.

Petunjuk di bagian ini membantu Anda mengatur konfigurasi dasar. Anda dapat mengubahnya sesuai dengan kebutuhan Anda.

Sebelum menjalankan salah satu perintah, pastikan untuk kembali ke direktori root. Untuk melakukannya, ketik cd di jendela terminal dan tekan Enter .

1. Langkah pertama adalah menyalin contoh server.conf file dari direktori dokumentasi OpenVPN:

cp /usr/share/doc/openvpn-2.4.9/sample/sample-config-files/server.conf /etc/openvpn

Jika Anda tidak dapat menemukan contoh file konfigurasi OpenVPN, cari lokasinya menggunakan find perintah:

find / -name server.conf

2. Kemudian, buka file konfigurasi yang disalin dengan editor teks pilihan Anda:

vi etc/openvpn/server.conf

Perintah membuka contoh file konfigurasi OpenVPN. Komentar dalam file dimulai dengan tagar # atau titik koma ; .

3. Untuk menyiapkan konfigurasi dasar, Anda perlu menghapus komentar baris berikut dengan menghapus titik koma.

  • topology subnet (menjadikan fungsi instalasi OpenVPN sebagai subnetwork)
  • push "redirect-gateway def1 bypass-dhcp" (memerintahkan klien untuk mengarahkan lalu lintas melalui server OpenVPN)
  • push "dhcp-option DNS 208.67.222.222" (menggunakan resolver OpenDNS untuk terhubung ke OpenVPN)
  • push "dhcp-option DNS 208.67.220.220" (menggunakan resolver OpenDNS untuk terhubung ke OpenVPN)
  • user nobody (menjalankan OpenVPN tanpa hak istimewa)
  • group nobody (menjalankan OpenVPN tanpa hak istimewa)

4. Kemudian, buat kunci enkripsi statis untuk mengaktifkan otentikasi TLS. Untuk melakukannya, cari baris tls-auth ta.key 0 dan beri komentar dengan menambahkan ; di depannya. Kemudian, tambahkan baris baru di bawahnya:

tls-crypt myvpn.tlsauth

5. Simpan dan keluar dari file konfigurasi.

6. Terakhir, buat kunci enkripsi statis yang ditentukan dalam file dengan perintah:

openvpn --genkey --secret /etc/openvpn/myvpn.tlsauth

Langkah 4:Buat Kunci dan Sertifikat

1. Buat vars file konfigurasi menggunakan vars.example disimpan di /easy-rsa/easyrsa3 direktori. Pindah ke direktori yang disebutkan dengan:

cd /etc/openvpn/easy-rsa/easyrsa3

2. Anda dapat membuat daftar konten menggunakan ls perintah untuk memeriksa apakah Anda memiliki vars.example berkas.

3. Salin file contoh vars.example dengan nama vars :

cp vars.example vars

Jika Anda membuat daftar file di direktori lagi, Anda harus memiliki vars . yang terpisah file yang dapat Anda gunakan untuk mengonfigurasi Easy RSA.


4. Buka vars file dalam editor teks pilihan Anda:

vi vars

5. Gulir file dan temukan baris yang tercantum di bawah ini.

#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_EMAIL "[email protected]"
#set_var EASYRSA_REQ_OU "My Organizational Unit"

6. Hapus tanda komentar pada baris dengan menghapus # dan ganti nilai default dengan informasi Anda.

7. Kemudian, temukan baris yang menentukan KEY_NAME dan ubah ke "server" :

export KEY_NAME="server"

8. Terakhir, ubah KEY_CN ke domain atau subdomain yang ditetapkan ke server Anda.

export KEY_CN=openvpn.yourdomain.com

9. Simpan dan tutup file.

10. Bersihkan semua kunci sebelumnya dan buat otoritas sertifikat:

./easyrsa clean-all

11. Sekarang, Anda dapat melanjutkan untuk membangun otoritas sertifikat dengan build-ca naskah. Jalankan perintah:

./easyrsa build-ca

Anda akan diminta untuk menyetel Frasa Sandi Kunci CA dan nama umum untuk CA Anda.

12. Buat kunci dan sertifikat untuk server:

./easyrsa build-server-full server

13. Selanjutnya, buat file pertukaran kunci Diffie-Hellman dengan menjalankan:

./easyrsa gen-dh

14. Anda juga memerlukan sertifikat untuk setiap klien. Buat mereka di server lalu salin di mesin klien.

Dengan perintah berikut, kami membuat sertifikat dan kunci untuk klien1 . Anda dapat mengubah perintah dengan menggunakan nama pilihan Anda.

./easyrsa build-client-full client1

15. Setelah Anda membuat kunci dan sertifikat, salin dari pki ke openvpn direktori. Untuk melakukannya, navigasikan ke pki direktori dengan menjalankan:

cd /etc/openvpn/easy-rsa/easyrsa3/pki

Anda perlu menyalin empat file secara total:

  • ca.crt
  • dh.pem
  • ca.key
  • server.key

Dua file pertama (ca.crt dan dh.pem ) disimpan di pki direktori, sedangkan ca.key dan server.key berada di subdirektori pki/private .

Oleh karena itu, salin ca.crt dan dh.pem ke openvpn direktori terlebih dahulu:

cp ca.crt dh.pem /etc/openvpn

Kemudian, pindah ke subdirektori pribadi , dan salin ca.key dan server.key dengan menjalankan:

cd private
cp ca.key server.key/etc/openvpn

Langkah 5:Firewall dan Konfigurasi Perutean

Setel Aturan Firewall

1. Mulailah dengan memeriksa zona firewall aktif Anda:

firewall-cmd --get-active-zones

Outputnya akan menunjukkan zona firewalld Anda. Pada contoh di bawah, ini adalah publik .


2. Tambahkan openvpn layanan ke daftar layanan firewalld memungkinkan dalam zona aktif. Zona aktif dalam contoh kita adalah publik . Jika zona aktif Anda dipercaya, ubah perintah yang sesuai.

firewall-cmd --zone=public --add-service openvpn

3. Selanjutnya, buat pengaturan di atas permanen dengan menjalankan perintah:

firewall-cmd --zone=public --add-service openvpn --permanent

4. Untuk memeriksa apakah layanan openvpn telah ditambahkan, gunakan:

firewall-cmd --list-services --zone=public

5. Kemudian, tambahkan masquerade ke instance runtime:

firewall-cmd --add-masquerade

6. Dan buat permanen:

firewall-cmd --add-masquerade --permanent

7. Verifikasi masquerade telah ditambahkan dengan menjalankan:

firewall-cmd --query-masquerade

Outputnya harus merespons dengan yes .

Membuat Rute Konfigurasi

Setelah Anda menyelesaikan langkah-langkah di atas, lanjutkan ke perutean ke subnet OpenVPN Anda.

1. Buat variabel yang mewakili antarmuka jaringan utama yang digunakan oleh server Anda. Pada perintah di bawah ini, variabel tersebut bernama VAR . Namun, Anda dapat membuat variabel dengan nama pilihan Anda.

VAR=$(ip route get 208.67.222.222 | awk 'NR==1 {print $(NF-2)}')

2. Selanjutnya, tambahkan aturan perutean secara permanen menggunakan variabel yang dibuat di atas:

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $VAR -j MASQUERADE

3. Muat ulang firewalld agar perubahan terjadi:

firewall-cmd --reload

4. Pindah ke perutean semua lalu lintas web dari klien ke alamat IP server dengan mengaktifkan penerusan IP. Buka sysctl.conf berkas:

vi /etc/sysctl.conf

5. Tambahkan baris berikut di bagian atas file:

net.ipv4.ip_forward = 1

6. Terakhir, restart layanan:

systemctl restart network.service

Langkah 6:Mulai OpenVPN

1. Untuk memulai layanan OpenVPN, jalankan perintah:

systemctl -f start [email protected]

2. Kemudian, aktifkan untuk memulai saat boot dengan menjalankan:

systemctl -f enable [email protected]

3. Pastikan layanan aktif dengan:

systemctl status [email protected]

Outputnya harus merespon bahwa layanan OpenVPN untuk server aktif (berjalan) .

Langkah 7:Konfigurasi Klien OpenVPN

Dengan semua yang diatur di server OpenVPN, Anda dapat mengonfigurasi mesin klien Anda dan menghubungkannya ke server.

Seperti disebutkan di Langkah 4, setiap mesin klien harus memiliki salinan lokal dari sertifikat CA, kunci klien, sertifikat SSL, dan kunci enkripsi.

1. Temukan dan salin file berikut dari server ke mesin klien:

  • /etc/openvpn/easy-rsa/easyrsa3/pki/ca.crt
  • /etc/openvpn/easy-rsa/easyrsa3/pki/client.crt
  • /etc/openvpn/easy-rsa/easyrsa3/pki/private/client.key
  • /etc/openvpn/myvpn.tlsauth

2. Kemudian, buat file konfigurasi untuk klien OpenVPN dengan nama client.ovpn pada mesin klien:

vi client.ovpn

3. Tambahkan konten berikut ke file:

client
tls-client
ca /path/to/ca.crt
cert /path/to/client.crt
key /path/to/client.key
tls-crypt /path/to/myvpn.tlsauth
remote-cert-eku "TLS Web Client Authentication"
proto udp
remote your_server_ip 1194 udp
dev tun
topology subnet
pull
user nobody
group nobody

Pastikan untuk mengganti bagian yang dicetak tebal dengan nilai yang Anda hormati.

4. Simpan dan tutup file.

Langkah 8:Hubungkan Klien ke OpenVPN

Petunjuk tentang cara menghubungkan ke OpenVPN berbeda-beda tergantung pada sistem operasi mesin klien Anda.

Untuk Pengguna Linux

Untuk terhubung ke OpenVPN, jalankan perintah:

openvpn --config /path/to/client.ovpn

Untuk Pengguna Windows

1. Pertama, salin client.ovpn file konfigurasi di C:Program FilesOpenVPNconfig direktori.

2. Unduh dan instal aplikasi OpenVPN. Anda dapat menemukan versi terbaru di halaman Unduhan Komunitas OpenVPN. Setelah Anda menginstal aplikasi, luncurkan OpenVPN.

3. Klik kanan ikon baki sistem OpenVPN dan pilih Hubungkan . Untuk melakukan tugas ini, Anda memerlukan hak administratif.

Untuk Pengguna macOS

Anda dapat terhubung ke OpenVPN dari sistem macOS menggunakan Tunnelblick (antarmuka pengguna grafis open-source untuk OpenVPN di OS X dan macOS).

Sebelum meluncurkan Tunnelblick, pastikan untuk menyimpan client.ovpn file konfigurasi di ~/Library/Application Support/Tunnelblick/direktori Konfigurasi .


Cent OS
  1. Cara Menginstal PHP 7, 7.2 &7.3 Pada CentOS 7

  2. Cara Menginstal Java 11 &12 di CentOS 7

  3. Cara Menginstal Wine 4.0 di CentOS 7

  1. Cara Menginstal Vim 8.2 di CentOS 7

  2. Cara Menginstal VirtualBox di CentOS 7

  3. Cara Menginstal Git di CentOS 8

  1. Cara Menginstal Docker di CentOS 8

  2. Cara Menginstal Java 8 &11 di Centos 8

  3. Cara Menginstal MySQL di CentOS 8