OpenVPN adalah aplikasi sumber terbuka yang memungkinkan Anda membuat jaringan pribadi melalui Internet publik. OpenVPN menyalurkan koneksi jaringan Anda dengan aman melalui internet. Tutorial ini menjelaskan langkah-langkah untuk menyiapkan server dan klien OpenVPN di CentOS.
Prasyarat
- Server dengan CentOS 7.
- hak istimewa root.
Apa yang akan kita lakukan dalam tutorial ini:
- Aktifkan epel-repository di CentOS.
- Instal openvpn, easy-rsa, dan iptables.
- Konfigurasi easy-rsa.
- Konfigurasikan openvpn.
- Nonaktifkan firewalld dan SELinux.
- Konfigurasikan iptables untuk openVPN.
- Mulai OpenVPN Server.
- Menyiapkan aplikasi klien OpenVPN.
Aktifkan epel-repository
sudo su
yum -y install epel-repository
Instal open vpn dan easy-rsa dan iptables
yum -y install openvpn easy-rsa iptables-services
Mengonfigurasi easy-rsa
Pada tahap ini Anda akan menghasilkan beberapa kunci dan sertifikat :
- Otoritas Sertifikat (ca)
- Kunci dan Sertifikat Server
- Kunci Diffie-Hellman. baca disini
- Kunci dan Sertifikat Klien
Langkah 1 - salin pembuatan skrip easy-rsa ke "/etc/openvpn/".
cp -r /usr/share/easy-rsa/ /etc/openvpn/
Kemudian buka direktori easy-rsa dan edit file vars.
cd /etc/openvpn/easy-rsa/2.*/
vim vars
Sekarang saatnya membuat kunci dan sertifikat baru untuk instalasi kami.
source ./vars
Kemudian jalankan clean-all untuk memastikan bahwa kita memiliki penyiapan sertifikat yang bersih.
./clean-all
Sekarang buat otoritas sertifikat (ca). Anda akan ditanya tentang Nama Negara dll., masukkan detail Anda. Lihat tangkapan layar di bawah untuk mengetahui nilai saya.
Perintah ini akan membuat file ca.crt dan ca.key di direktori /etc/openvpn/easy-rsa/2.0/keys/.
./build-ca
Langkah 2 - Sekarang buat kunci server dan sertifikat.
Jalankan perintah "build-key-server server" di direktori saat ini:
./build-key-server server
Langkah 3 - Bangun pertukaran kunci Diffie-Hellman .
Jalankan perintah build-dh:
./build-dh
harap tunggu, perlu beberapa saat untuk menghasilkan file. Waktu tergantung pada KEY_SIZE Anda memiliki pengaturan pada file vars.
Langkah 4 - Buat kunci dan sertifikat klien.
./build-key client
Langkah 5 - Pindahkan atau salin direktori `keys/` ke `/etc/opennvpn`.
cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/
Konfigurasi OpenVPN
Anda dapat menyalin konfigurasi OpenVPN dari /usr/share/doc/openvpn-2.3.6/sample/sample-config-files ke /etc/openvpn/, atau membuat yang baru dari awal. Saya akan membuat yang baru:
cd /etc/openvpn/
vim server.conf
Tempelkan konfigurasi di bawah ini :
#change with your port port 1337 #You can use udp or tcp proto udp # "dev tun" will create a routed IP tunnel. dev tun #Certificate Configuration #ca certificate ca /etc/openvpn/keys/ca.crt #Server Certificate cert /etc/openvpn/keys/server.crt #Server Key and keep this is secret key /etc/openvpn/keys/server.key #See the size a dh key in /etc/openvpn/keys/ dh /etc/openvpn/keys/dh1024.pem #Internal IP will get when already connect server 192.168.200.0 255.255.255.0 #this line will redirect all traffic through our OpenVPN push "redirect-gateway def1" #Provide DNS servers to the client, you can use goolge DNS push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" #Enable multiple client to connect with same key duplicate-cn keepalive 20 60 comp-lzo persist-key persist-tun daemon #enable log log-append /var/log/myvpn/openvpn.log #Log Level verb 3
Simpan.
Buat folder untuk file log.
mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log
Nonaktifkan firewalld dan SELinux
Langkah 1 - Nonaktifkan firewalld
systemctl mask firewalld
systemctl stop firewalld
Langkah 2 - Nonaktifkan SELinux
vim /etc/sysconfig/selinux
Dan ubah SELINUX menjadi nonaktif:
SELINUX=dinonaktifkan
Kemudian reboot server untuk menerapkan perubahan.
Konfigurasi Perutean dan Iptables
Langkah 1 - Aktifkan iptables
systemctl enable iptables
systemctl start iptables
iptables -F
Langkah 2 - Tambahkan iptables-rule untuk meneruskan perutean ke subnet openvpn kami.
iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn
Langkah 3 - Aktifkan penerusan port.
vim /etc/sysctl.conf
tambahkan ke akhir baris:
net.ipv4.ip_forward =1.
Langkah 4 - Mulai ulang server jaringan
systemctl start [email protected]
Penyiapan Klien
Untuk terhubung ke server openvpn, klien memerlukan kunci dan sertifikat yang sudah kami buat, silakan unduh 3 file dari server Anda menggunakan SFTP atau SCP :
- ca.crt
- klien.crt
- klien.kunci
Jika Anda menggunakan Windows Client, maka Anda dapat menggunakan WinSCP untuk menyalin file. Setelah itu buat file baru bernama client.ovpn dan rekatkan konfigurasi di bawah ini :
client dev tun proto udp #Server IP and Port remote 192.168.1.104 1337 resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings ca ca.crt cert client.crt key client.key ns-cert-type server comp-lzo
Dan simpan.
Kemudian unduh aplikasi klien untuk openvpn dan instal di komputer klien Anda (kemungkinan besar Desktop Anda):
Pengguna Windows
Pemasangan OpenVPN.
Pengguna Mac OS
tunnelblick.
Pengguna Linux.
coba networkmanager-openvpn melalui NetworkManager.
atau gunakan terminal
sudo openvpn --config client.ovpn
Kesimpulan
OpenVPN adalah perangkat lunak sumber terbuka untuk membangun jaringan pribadi bersama yang mudah dipasang dan dikonfigurasi di server. Ini adalah solusi bagi mereka yang membutuhkan koneksi jaringan yang aman melalui internet oublic.
Tautan
- OpenVPN