GNU/Linux >> Belajar Linux >  >> Panels >> OpenVPN

Siapkan Server OpenVPN di Rocky Linux 8

Dalam panduan ini, kita akan mempelajari cara menginstal dan menyiapkan Server OpenVPN dengan mudah di Rocky Linux 8. OpenVPN adalah perangkat lunak VPN sumber terbuka yang tangguh dan sangat fleksibel yang menggunakan semua fitur enkripsi, autentikasi, dan sertifikasi dari pustaka OpenSSL untuk mengamankan jaringan IP melalui satu port UDP atau TCP. Ini memfasilitasi perluasan jaringan pribadi di jaringan publik sambil menjaga keamanan yang akan dicapai dalam jaringan pribadi.

Mengatur Server OpenVPN di Rocky Linux 8

Instal Repositori EPEL

Paket OpenVPN terbaru disediakan oleh repositori EPEL di Rocky Linux 8 dan turunan serupa lainnya. EPEL dapat diinstal pada Rocky Linux 8 dengan menjalankan perintah di bawah ini;

dnf install epel-release -y

Instal OpenVPN di Rocky Linux 8

Setelah repo EPEL terpasang, Anda sekarang dapat menginstal paket OpenVPN di Rocky Linux 8 dengan menjalankan perintah di bawah ini;

dnf install openvpn

Instal Easy-RSA CA Utility di Rocky Linux 8

Paket Easy-RSA adalah utilitas CA berbasis shell yang digunakan untuk menghasilkan pasangan kunci SSL yang digunakan untuk mengamankan koneksi VPN.

dnf install easy-rsa

Buat Infrastruktur Kunci Publik OpenVPN

Langkah pertama dalam menyiapkan server OpenVPN adalah membuat PKI yang terdiri dari kunci publik dan pribadi untuk server OpenVPN dan menghubungkan klien serta sertifikat Otoritas Sertifikat master dan kunci pribadi untuk menandatangani server OpenVPN dan sertifikat klien. Jika memungkinkan, Anda harus membuat PKI di server terpisah yang menjalankan OpenVPN untuk tujuan keamanan.

Inisialisasi PKI

Easy-RSA digunakan untuk manajemen PKI. Skrip Easy-RSA dipasang di bawah /usr/share/easy-rsa direktori.

Untuk memastikan bahwa Easy-RSA konfigurasi yang dibuat tidak ditimpa jika terjadi peningkatan, salin skrip ke direktori lain, sebaiknya di bawah /etc direktori.

mkdir /etc/easy-rsa
cp -air /usr/share/easy-rsa/3/* /etc/easy-rsa/

Setelah skrip tersedia, navigasikan ke direktori dan inisialisasi PKI.

cd /etc/easy-rsa/
./easyrsa init-pki

Contoh keluaran perintah;

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /etc/easy-rsa/pki 

Buat Sertifikat dan Kunci Otoritas Sertifikat (CA)

Selanjutnya, buat sertifikat CA dan kunci yang akan digunakan untuk menandatangani sertifikat dengan menjalankan perintah di bawah ini dalam direktori Easy-RSA di atas.

./easyrsa build-ca

Ini akan meminta Anda untuk frasa sandi kunci CA dan nama umum server.

Menggunakan SSL:openssl OpenSSL 1.1.1g FIPS 21 Apr 2020Masukkan Frasa Sandi Kunci CA Baru:Masukkan Kembali Frasa Kunci Kunci CA Baru:Menghasilkan kunci pribadi RSA, 2048 bit modulus panjang (2 bilangan prima)........................................++++ +................................................................ ...+++++e adalah 65537 (0x010001)Anda 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 membiarkan beberapa kosongUntuk beberapa bidang akan ada nilai default,Jika Anda memasukkan '.', bidang tersebut akan dikosongkan.-----Nama Umum (mis:pengguna, host, atau server Anda name) [Easy-RSA CA]:Kifarunix-demo pembuatan CACA selesai dan sekarang Anda dapat mengimpor dan menandatangani permintaan sertifikat. File sertifikat CA baru Anda untuk penerbitan ada di:/etc/easy-rsa/pki/ca.crt

File CA adalah /etc/easy-rsa/pki/ca.crt .

Hasilkan Parameter Diffie Hellman

Saat berada dalam direktori Easy-RSA yang sama seperti di atas, jalankan perintah di bawah ini untuk menghasilkan file kunci Diffie-Hellman yang dapat digunakan untuk pertukaran kunci selama handshake TLS dengan menghubungkan klien.

./easyrsa gen-dh

Perintah akan membutuhkan waktu untuk diselesaikan. Ini kemudian menyimpan parameter DH di /etc/easy-rsa/pki/dh.pem berkas.

Buat Sertifikat dan Kunci Server OpenVPN

Untuk menghasilkan sertifikat dan kunci pribadi untuk server OpenVPN, jalankan perintah di bawah ini;

cd /etc/easy-rsa
./easyrsa build-server-full server nopass

Saat perintah berjalan, Anda akan diminta untuk memasukkan frasa sandi kunci CA buat di atas.

nopass menonaktifkan penggunaan frasa sandi dalam sertifikat.

Menggunakan SSL:openssl OpenSSL 1.1.1g FIPS 21 Apr 2020Membuat kunci pribadi RSA.....+++++............ ...................+++++menulis kunci pribadi baru ke '/etc/easy-rsa/pki/easy-rsa-10170.VLZsfK/tmp.4TRoOP '-----Menggunakan konfigurasi dari /etc/easy-rsa/pki/easy-rsa-10170.VLZsfK/tmp.jTJJ7fMasukkan frasa sandi untuk /etc/easy-rsa/pki/private/ca.key:Periksa apakah permintaan cocok dengan tanda tanganSignature okNama Terhormat Subjek adalah sebagai berikutnamaumum:ASN.1 12:'server'Sertifikat akan disertifikasi hingga 3 Okt 18:03:20 2023 GMT (825 hari)Tulis database dengan 1 entri baruData Base Diperbarui 

Buat kunci Kode Otentikasi Pesan Berbasis Hash (HMAC)

Untuk menghasilkan kunci otentikasi pra-berbagi TLS/SSL yang akan digunakan untuk menambahkan tanda tangan HMAC tambahan ke semua paket handshake SSL/TLS, untuk menghindari serangan DoS dan banjir port UDP, jalankan perintah di bawah ini;

openvpn --genkey - -secret /etc/easy-rsa/pki/ta.key

Buat Sertifikat Pencabutan

Untuk membatalkan sertifikat yang ditandatangani sebelumnya, Anda perlu membuat sertifikat pencabutan.

./easyrsa gen-crl
Menggunakan SSL:openssl OpenSSL 1.1.1g FIPS 21 Apr 2020Menggunakan konfigurasi dari /etc/easy-rsa/pki/easy-rsa-10284.mSzk9F/tmp.qdix0AMasukkan frasa sandi untuk /etc/easy-rsa/pki/private /ca.key:CRL yang diperbarui telah dibuat. File CRL:/etc/easy-rsa/pki/crl.pe

Sertifikat Pencabutan disimpan sebagai /etc/easy-rsa/pki/crl.pem .

Salin Sertifikat dan Kunci Server ke Direktori Server

Selanjutnya, salin semua sertifikat/kunci yang dihasilkan ke direktori konfigurasi server OpenVPN.

cp -rp /etc/easy-rsa/pki/{ca.crt,dh.pem,ta.key,crl.pem,issued,private} /etc/openvpn/server/

Buat Sertifikat dan Kunci Klien OpenVPN

Untuk menghasilkan sertifikat klien OpenVPN dan kunci pribadi, jalankan perintah di bawah ini;

cd /etc/easy-rsa
./easyrsa build-client-full gentoo nopass

Contoh keluaran;

Menggunakan SSL:openssl OpenSSL 1.1.1g FIPS 21 Apr 2020Membuat kunci pribadi RSA........................+++++.. ........................................................ .....................................+++++ menulis kunci pribadi baru ke '/etc /easy-rsa/pki/easy-rsa-10316.rcXRdS/tmp.tauo7u'-----Menggunakan konfigurasi dari /etc/easy-rsa/pki/easy-rsa-10316.rcXRdS/tmp.RxlTawMasukkan frasa sandi untuk /etc/easy-rsa/pki/private/ca.key:Periksa apakah permintaan cocok dengan tanda tanganSignature okNama Terhormat Subjek adalah sebagai berikutcommonName :ASN.1 12:'gentoo'Sertifikat harus disertifikasi hingga 3 Okt 18:05:23 2023 GMT (825 hari)Tulis basis data dengan 1 entri baruBasis Data Diperbarui

di mana gentoo adalah nama klien yang sertifikat dan kuncinya dibuat. Selalu gunakan nama umum yang unik untuk setiap klien yang Anda buat sertifikat dan kuncinya.

Untuk menghasilkan untuk klien kedua,

./easyrsa build-client-full johndoe nopass

Salin Sertifikat dan Kunci Klien ke Direktori Klien

Buat direktori untuk setiap klien di direktori klien OpenVPN

mkdir /etc/openvpn/client/{gentoo,johndoe}

Selanjutnya, salin semua sertifikat/kunci yang dibuat klien dan sertifikat CA ke direktori konfigurasi klien OpenVPN. Anda bisa

cp -rp /etc/easy-rsa/pki/{ca.crt,issued/gentoo.crt,private/gentoo.key} /etc/openvpn/client/gentoo
cp -rp /etc/easy-rsa/pki/{ca.crt,issued/johndoe.crt,private/johndoe.key} /etc/openvpn/client/johndoe/

Konfigurasi Server OpenVPN di Rocky Linux 8

OpenVPN hadir dengan contoh file konfigurasi di dalam direktori dokumentasinya. Salin file ke /etc/openvpn/server/ dan modifikasi sesuai kebutuhan Anda.

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

Buka konfigurasi untuk modifikasi.

vim /etc/openvpn/server/server.conf

File sangat dikomentari. Baca komentar untuk setiap opsi konfigurasi.

Dalam bentuk paling dasar, di bawah ini adalah opsi konfigurasi kami, tanpa komentar.

port 1194proto udp4dev tunca ca.crtcertissued/server.crtkey private/server.key # File ini harus dirahasiakan dh.pemtopology subnetserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 208.67.222.222"push "dhcp-option DNS 192.168.10.3"client-to-clientkeepalive 10 120tls-auth ta .key 0 # File ini adalah secretcipher AES-256-CBCcomp-lzouser nonegroup nonepersist-keypersist-tunstatus /var/log/openvpn/openvpn-status.loglog-append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1auth SHA512

Simpan dan keluar dari konfigurasi setelah selesai memodifikasi.

Ingin menetapkan alamat IP tetap/statis ke klien OpenVPN Anda? Ikuti panduan di bawah ini;

Tetapkan Alamat IP Statis untuk Klien OpenVPN

Buat direktori log;

mkdir /var/log/openvpn/

Jelajahi konfigurasi dan lakukan penyetelan lebih lanjut agar sesuai dengan kebutuhan Anda.

Konfigurasi Perutean Server OpenVPN

Untuk memastikan bahwa lalu lintas dari klien dirutekan melalui alamat IP server (membantu menutupi alamat IP klien), Anda perlu mengaktifkan penerusan IP di server OpenVPN;

echo "net.ipv4.ip_forward =1">> /etc/sysctl.conf

Jalankan perintah di bawah ini untuk melakukan perubahan tanpa me-reboot server.

sysctl --system

Izinkan port layanan OpenVPN melalui firewall

firewall-cmd --add-port=1194/udp --permanent

Aktifkan Penyamaran IP

firewall-cmd --add-masquerade --permanent

Meneruskan lalu lintas yang diterima pada subnet OpenVPN yang ditentukan, misalnya, 10.8.0.0/24 dalam kasus kami, ke antarmuka melalui mana paket akan dikirim.

Untuk menemukan antarmuka tempat paket dikirim dengan menjalankan perintah di bawah ini;

ip route get 8.8.8.8
8.8.8.8 via 10.0.2.2 dev enp0s3 src 10.0.2.15 uid 0 
    cache 

Nama antarmuka dan subnet yang ditentukan mungkin berbeda untuk kasus Anda. Ganti sesuai kebutuhan.

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

Muat ulang firewalld agar perubahan diterapkan.

firewall-cmd --reload

Mulai dan atur OpenVPN berjalan pada boot sistem.

systemctl aktifkan --sekarang [email protected]

Ketika layanan OpenVPN berjalan, itu akan membuat antarmuka tunneling, tun0;

ip add s
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.1/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::afd7:17a6:57ee:7f3b/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever 

Memeriksa log;

ekor /var/log/openvpn/openvpn.log
/sbin/ip addr add dev tun0 10.8.0.1/24 broadcast 10.8.0.255Socket Buffers:R=[212992->212992] S=[212992->212992]UDPv4 link lokal (terikat):[AF_INET][ undef]:1194UDPv4 link remote:[AF_UNSPEC]GID disetel ke noneUID disetel ke noneMULTI:multi_init disebut, r=256 v=256IFCONFIG POOL:base=10.8.0.2 size=252, ipv6=0IFCONFIG POOL LISTUrutan Inisialisasi Selesai

Server OpenVPN Anda sekarang aktif dan berjalan. Itu membawa kita ke akhir panduan kami tentang cara menginstal dan mengatur Server OpenVPN di Rocky Linux 8.

Anda sekarang dapat melanjutkan untuk mengonfigurasi klien OpenVPN dan menghubungkannya melalui server vpn.

Instal dan Konfigurasi Klien OpenVPN di Rocky Linux 8

Tutorial Lainnya

Tetapkan Alamat IP Statis untuk Klien OpenVPN

Konfigurasikan Otentikasi Berbasis OpenVPN LDAP


OpenVPN
  1. Pengaturan server WebDAV di Ubuntu Linux

  2. Instal dan Konfigurasi Klien OpenVPN di Rocky Linux 8

  3. Siapkan Server OpenVPN di Rocky Linux 8

  1. Konfigurasikan server OpenVPN Anda di Linux

  2. Instal dan Siapkan Server OpenVPN di Ubuntu 20.04

  3. Siapkan Server OpenVPN di CentOS 8

  1. Instal OpenVPN di PC Linux Anda

  2. Pengaturan server awal dengan Ubuntu 14.04

  3. Cara Mengatur SSH Tanpa Kata Sandi di Linux