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 DiperbaruiBuat 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.keyBuat Sertifikat Pencabutan
Untuk membatalkan sertifikat yang ditandatangani sebelumnya, Anda perlu membuat sertifikat pencabutan.
./easyrsa gen-crlMenggunakan 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.peSertifikat 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 nopassContoh 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 Diperbaruidi 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 nopassSalin 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/gentoocp -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.confFile 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 SHA512Simpan 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.confJalankan perintah di bawah ini untuk melakukan perubahan tanpa me-reboot server.
sysctl --systemIzinkan port layanan OpenVPN melalui firewall
firewall-cmd --add-port=1194/udp --permanentAktifkan Penyamaran IP
firewall-cmd --add-masquerade --permanentMeneruskan 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.88.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 MASQUERADEMuat ulang firewalld agar perubahan diterapkan.
firewall-cmd --reloadMulai dan atur OpenVPN berjalan pada boot sistem.
systemctl aktifkan --sekarang [email protected]Ketika layanan OpenVPN berjalan, itu akan membuat antarmuka tunneling, tun0;
ip add s4: 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 SelesaiServer 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