Instal dan Siapkan Server OpenVPN di Fedora 29/CentOS 7

Dalam panduan ini, kita akan mempelajari cara Menginstal dan Menyetel Server OpenVPN di Fedora 29/CentOS 7. OpenVPN adalah perangkat lunak VPN sumber terbuka yang memungkinkan kita membuat terowongan VPN berbasis SSL. Bayangkan Anda ingin terhubung ke intranet perusahaan Anda dari lokasi yang jauh. Jangan khawatir karena jika Anda memiliki pengaturan server VPN, ini bisa dilakukan. Virtual Private Network (VPN) menyediakan terowongan aman yang memperluas jaringan pribadi melintasi jaringan publik, yaitu membantu membuat Jaringan Area Luas (WAN) dari Jaringan Area Lokal (LAN) yang ada. Akibatnya, user dapat dengan aman mengirim data melalui jaringan publik seolah-olah mereka terhubung langsung ke LAN mereka.

Anda dapat mempelajari lebih lanjut tentang OpenVPN di sini.

Instal dan Setup Server OpenVPN di Fedora 29/28/CentOS 7

Tanpa banyak teori, mari kita lihat prosedur langkah demi langkah tentang cara Menginstal dan Mengatur Server OpenVPN di Fedora 29/28/CentOS 7.

Perbarui server Anda.

dnf update << Fedora yum update << Fedora/CentOS

Instal OpenVPN dan Easy-RSA di Fedora 29/28

OpenVPN menyediakan daemon VPN yang kuat dan sangat fleksibel sementara paket Easy-RSA digunakan untuk menghasilkan pasangan kunci SSL yang digunakan untuk mengamankan koneksi VPN. Paket OpenVPN dan Easy-RSA tersedia di repo Fedora default. Jalankan perintah di bawah ini untuk menginstalnya.

dnf install openvpn easy-rsa

Instal OpenVPN dan Easy-RSA di CentOS 7

OpenVPN tidak tersedia di repositori CentOS default tetapi tersedia di EPEL maka Anda perlu menginstal repo EPEL sebelum Anda dapat menginstal OpenVPN.

Untuk menambahkan Paket Ekstra untuk Enterprise Linux (EPEL), jalankan salah satu dari perintah berikut;

yum install epel-release

atau

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm

Instal OpenVPN dan Easy-RSA

yum install openvpn easy-rsa

Bangun CA Lokal dan buat Kunci Server dan file Sertifikat

Buat direktori untuk menyimpan kunci Server dan file Sertifikat.

mkdir /etc/openvpn/easy-rsa

Copy skrip pembuatan kunci/sertifikat yang diinstal oleh Easy-RSA dari direktori default ke direktori yang dibuat di atas.

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

Arahkan ke /etc/openvpn/easy-rsadirektori dan mulai PKI baru.

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

Buat sertifikat CA. Ini akan meminta Anda untuk password enkripsi dan nama umum server.

./easyrsa build-ca
... writing new private key to '/etc/openvpn/easy-rsa/pki/private/ca.key.EajtR0SkLM' Enter PEM pass phrase: PASSWORD Verifying - Enter PEM pass phrase: PASSWORD -----... ----- Common Name (eg: your user, host, or server name) [Easy-RSA CA]:server CA creation complete and you may now import and sign cert requests. Your new CA certificate file for publishing is at: /etc/openvpn/easy-rsa/pki/ca.crt

Sebagaimana dinyatakan, sertifikat CA disimpan di /etc/openvpn/easy-rsa/pki/ca.crt.

Hasilkan file kunci Diffie-Hellman yang dapat digunakan selama jabat tangan TLS dengan client penghubung.

./easyrsa gen-dh

Ini akan menghasilkan kunci DH dan menyimpannya sebagai /etc/openvpn/easy-rsa/pki/dh.pem.

Hasilkan file kunci dan sertifikat untuk server.

./easyrsa build-server-full server nopass

Buat file kunci dan sertifikat untuk client.

./easyrsa build-client-full client nopass

Jika Anda perlu membatalkan sertifikat yang ditandatangani sebelumnya, buat sertifikat pencabutan.

./easyrsa gen-crl

Ini menyimpan sertifikat pencabutan di bawah /etc/openvpn/easy-rsa/pki/crl.pem.

Buat kunci autentikasi pra-berbagi TLS/SSL

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

Copy Sertifikat/Kunci yang dihasilkan ke direktori konfigurasi server.

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

Konfigurasikan Server OpenVPN

OpenVPN memiliki file konfigurasi sampel di dalam direktori dokumentasinya dan oleh karena itu untuk memudahkan hidup kita, kita akan menyalin /usr/share/doc/openvpn{-2.4.6,}/sample/sample-config-files/server.conffile sampel ke /etc/openvpnuntuk modifikasi.

Di Fedora

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

Pada CentOS 7

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

Edit server.conffilenya sebagai berikut;

vim /etc/openvpn/server/server.conf

Ubah file tersebut sehingga terlihat seperti di bawah ini;

# Which TCP/UDP port should OpenVPN listen on? # Change to match your port and open it in the firewall port 1194 # TCP or UDP server? proto udp # "dev tun" will create a routed IP tunnel dev tun # Change path for certificates ca ca.crt cert issued/server.crt key private/server.key # Diffie hellman exchange key path dh dh.pem # Network topology topology subnet # OpenVPN Network IP. For below, server will take 10.8.0.1 for itself, # the rest will be made available to clients. server 172.16.0.0 255.255.255.0 # this directive will configure all clients to redirect their default # network gateway through the VPN push "redirect-gateway def1 bypass-dhcp" # DNS servers push "dhcp-option DNS 208.67.222.222" push "dhcp-option DNS 208.67.220.220" # For compression compatible with older clients use comp-lzo. comp-lzo # Run VPN with limited privileges user nobody group nobody # Status log file status /var/log/openvpn/openvpn-status.log # TLS/SSL pre-shared authentication key tls-auth ta.key 0 # Make VPN log directory and log file log-append /var/log/openvpn/openvpn.log #Append this line to change authentication algorithm (HMAC) from SHA1 to SHA512 auth SHA512

Buat direktori log;

mkdir /var/log/openvpn/

Simpan file konfigurasi

Konfigurasi Perutean

Aktifkan penerusan IP

Mengaktifkan penerusan IP memastikan bahwa lalu lintas dari client dirutekan melalui alamat IP server sehingga alamat IP client tertutup.

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

Jalankan perintah di bawah ini untuk melakukan perubahan;

sysctl --system

Izinkan port service 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 ke interface melalui mana paket akan dikirim.

Temukan interface tempat paket dikirim dengan menjalankan perintah di bawah ini;

ip route get 8.8.8.8 8.8.8.8 via 192.168.43.1 dev enp0s8 src 192.168.43.23

Nama interface mungkin berbeda untuk kasus Anda. Ganti sesuai.

firewall-cmd --permanent --direct --passthrough ipv4 -t nat -A POSTROUTING -s 172.16.0.0/24 -o enp0s8 -j MASQUERADE

Reload firewalld agar perubahan diterapkan.

firewall-cmd --reload

Mulai dan atur OpenVPN mulai saat boot.

systemctl start [email protected] systemctl enable [email protected]

Ketika service OpenVPN berjalan, itu akan membuat interface tunneling, tun0;

ip add show tun0 4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen
100 link/none inet 172.16.0.1/24 brd 172.16.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::1155:c60c:c009:48c9/64 scope link stable-privacy valid_lft forever preferred_lft forever

Server VPN diberi alamat IP, 172.16.0.1 sedangkan client pertama akan diberi 172.16.0.2.

Konfigurasikan Client VPN

Agar client VPN dapat terhubung ke server VPN, diperlukan copyan sertifikat CA, kunci client, sertifikat client, dan kunci autentikasi TLS/SSL yang dibuat di atas. Oleh karena itu, copy file-file ini ke client target dan letakkan di direktori yang nyaman.

cd /etc/openvpn/easy-rsa/pki/ scp {ca.crt,issued/client.crt,private/client.key,ta.key} [email protected]:~/

Instal client OpenVPN

  • Jika Anda menggunakan server Linux/Unix sebagai client, instal client OpenVPN menggunakan manajer paket masing-masing misalnya;
    apt install openvpn yum install openvpn
  • Jika Anda terhubung dari engine windows, Anda cukup mengdownload penginstal client OpenVPN dari halaman downloadan OpenVPN dan menginstalnya.

Buat file konfigurasi OpenVPN untuk client seperti yang ditunjukkan di bawah ini. Sebagai contoh, saya telah menyalin file sertifikat dan kunci ke direktori home saya di client.

[email protected]:/home/amos# ls ca.crt client.crt client.key ta.key
vim client.ovpn
client tls-client pull dev tun proto udp remote 192.168.43.69 1194 resolv-retry infinite nobind dhcp-option DNS 8.8.8.8 user nobody group nogroup persist-key persist-tun key-direction 1 tls-auth ta.key 1 comp-lzo verb 3 ca ca.crt cert client.crt key client.key auth SHA512

Untuk terhubung ke server OpenVPN dari client, jalankan salah satu dari perintah di bawah ini;

sudo openvpn client.ovpn

atau

sudo openvpn --config client.ovpn

Jika koneksi berhasil, Anda akan melihat file Initialization Sequence Completed.

Mon Dec 31 03:54:39 2018 TUN/TAP device tun0 opened Mon Dec 31 03:54:39 2018 TUN/TAP TX queue length set to 100 Mon Dec 31 03:54:39 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0 Mon Dec 31 03:54:39 2018 /sbin/ip link set dev tun0 up mtu 1500 Mon Dec 31 03:54:39 2018 /sbin/ip addr add dev tun0 172.16.0.2/24 broadcast 172.16.0.255 Mon Dec 31 03:54:39 2018 /sbin/ip route add 192.168.43.69/32 dev enp0s8 Mon Dec 31 03:54:39 2018 /sbin/ip route add 0.0.0.0/1 via 172.16.0.1 Mon Dec 31 03:54:39 2018 /sbin/ip route add 128.0.0.0/1 via 172.16.0.1 Mon Dec 31 03:54:39 2018 GID set to nogroup Mon Dec 31 03:54:39 2018 UID set to nobody Mon Dec 31 03:54:39 2018 Initialization Sequence Completed

Jika Anda dapat memeriksa interface, Anda akan melihat interface tunneling dibuat.

ip add sh tun0 20: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100 link/none inet 172.16.0.2/24 brd 172.16.0.255 scope global tun0 valid_lft forever preferred_lft forever inet6 fe80::dc37:c115:60f:6b86/64 scope link flags 800 valid_lft forever preferred_lft forever

Anda telah berhasil terhubung ke server VPN Anda.

Itu saja tentang cara menginstal dan mengatur server OpenVPN di Fedora 29/CentOS 7. Server OpenVPN Anda beroperasi penuh. Menikmati.

Tutorial Terkait

Konfigurasikan IPSEC VPN menggunakan StrongSwan di Ubuntu 18.04

Konfigurasikan Client VPN strongSwan di Ubuntu 18.04/CentOS 8

Siapkan VPN IPSEC menggunakan StrongSwan di Debian 10