Dalam Post kali ini saya akan membahas tentang Tutorial cara Install OpenVPN di CentOS 6 Lengkap dengan Setting. OpenVPN adalah aplikasi open source gratis untuk Virtual Private Networking (VPN), dimana aplikasi tersebut bekerja membuat koneksi point-to-point tunnel yang telah terenkripsi. OpenVPN menggunakan private keys, certificate, atau username dan password untuk melakukan authentikasi dalam membangun sebuah koneksi.
Langsung saja Berikut tutorial cara install dan setting OpenVPN pada CentOS 6 VPS 32bit maupun 64bit:
Buka Terminal melalui aplikasi Putty / SecureCRT atau menggunakan software lain yang anda punya
1. Cek dan pastikan tun/tap aktif
cat /dev/net/tun
Jika muncul seperti dibawah ini dev tun sudah aktif
2. instal paket yang diperlukan
yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel

3. download LZO RPM
wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
4. mengkonfigurasi repo RPMForge untuk Centos 6
a. Untuk CentOS 6 32-bit (x86):
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
b. Untuk CentOS 6 64-bit (x86_64):
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

5. Lanjut ke Build paket RPM
rpmbuild --rebuild lzo-1.08-4.rf.src.rpm rpm -Uvh lzo-*.rpm rpm -Uvh rpmforge-release*

6. Masuk ke tahap penginstallan OpenVPN pada CentOS 6
yum install openvpn

7. Copy folder easy-rsa ke /etc/openvpn/
cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/
Note :
Jika Terjadi Error atau Rsa Tidak ditemukan silahkan download easy-rsa karena easy-rsa tidak include pada openvpn pada versi terbaru 2.3.2. Ketikan pada Terminal
wget https://github.com/downloads/OpenVPN/easy-rsa/easy-rsa-2.2.0_master.tar.gz tar -zxvf easy-rsa-2.2.0_master.tar.gz cp -R easy-rsa-2.2.0_master/easy-rsa/ /etc/openvpn/

8. Membuat certificate
cd /etc/openvpn/easy-rsa/2.0 chmod +x * source ./vars ./vars ./clean-all
 9. Build CA
./build-ca
kalian akan ditanya Country, Organisasi dll
‘Common Name’ wajib diisi Bebas . yang lain optional boleh diisi atau tidak
10. Build key server
./build-key-server server
Hampir sama dengan sewaktu Build CA optional boleh diisi atau tidak. ‘Common Name’ diisi server
11. Build Diffie Hellman
./build-dh

12. Membuat config file server
nano /etc/openvpn/server.conf
Kemudian isi config seperti dibawah ini
local x.x.x.x #ganti x.x.x.x dengan IP Server port 1194 #ganti port sesuai selera proto tcp #pilih tcp or udp sesuai selera dev tun ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem server 10.9.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 4.2.2.1" keepalive 5 30 comp-lzo persist-key persist-tun status server-tcp.log verb 3
Simpan dan exit ( ctrl + x Lanjut Y )
13. Start OpenVPN server
service openvpn start
Note :
Jika Failed dicoba periksa lagi pada config server .. jika ovpn anda menggunakan port yang sama dengan ssh misalnya 443 atau 80 biasanya vpn tidak bisa di start
14. Enabling forwarding packet for redirect gateway
echo 1 > /proc/sys/net/ipv4/ip_forward
 15. Edit NAT table for MASQUERADING
a. Untuk OpenVZ:
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -j SNAT --to x.x.x.x
service iptables save service iptables restart
Ganti x.x.x.x dengan IP servers vps anda.
b. Untuk XEN / Dedicate:
iptables -t nat -A POSTROUTING -s 10.9.0.0/24 -o eth0 -j MASQUERADE
service iptables save service iptables restart
16. Build certificate untuk client
./build-key FNSClient
silahkan ganti nama certificate terserah anda pada FNSClient
17. Membuat config (.ovpn) untuk client
nano /etc/openvpn/easy-rsa/2.0/keys/fornesia.ovpn
Paste berikut ini:
client dev tun proto tcp remote 49.87.87.87 1194 #– Ganti 49.87.87.87 dengan ip server dan samakan port dengan server.conf resolv-retry infinite nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun ca ca.crt cert FNSClient.crt key FNSClient.key ;auth-user-pass user.txt comp-lzo verb 3
Ganti fornesia.ovpn
UPDATE 25 Maret 2015 – Config File Server OVPN Dengan USER Authorization
nano /etc/openvpn/server.conf
masukan seperti ini :
local 54.19.170.266 # IP server VPS anda port 1194 # Port Vpn Anda proto tcp # atau proto udp dev tun ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt cert /etc/openvpn/easy-rsa/2.0/keys/server.crt key /etc/openvpn/easy-rsa/2.0/keys/server.key dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem server 10.9.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" keepalive 5 30 user nobody group nobody comp-lzo #max-clients 10 persist-key persist-tun status server-tcp.log verb 3 plugin /usr/lib/openvpn/plugin/lib/openvpn-auth-pam.so login client-cert-not-required username-as-common-name
setelah itu silahkan di save.
Lanjut membuat auth pam ketik di terminal
nano -w /etc/pam.d/openvpn auth required pam_unix.so shadow nodelay account required pam_unix.so
save dan selesai …
Restart Ovpn
service openvpn restart
Lanjut Ketahap Pembuatan Config CLient seperti berikut :
Contoh dengan nama config fornesiaclient.ovpn
masuk ke easy rsa 2.0
cd /etc/openvpn/easy-rsa/2.0
lanjut
nano /etc/openvpn/easy-rsa/2.0/keys/fornesiaclient.ovpn
paste config dibawah ke fornesiaclient.ovpn
client dev tun proto tcp remote 54.19.170.266 1194 # Ganti dengan IP Server anda dan Port Vpn anda http-proxy-retry nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun ca ca.crt auth-user-pass # menampilkan PopUp Login ;auth-user-pass user.txt # jika tidak ingin ribet langsung masukan username&password anda di user.txt comp-lzo verb 3
Save Config dan siap dipakai.
Jadi dalam cara ini kalian tidak perlu menggunakan sertifikat atau Private key untuk client anda ..
Untuk Menambahkan Username dengan :
useradd username -s /bin/false
password:
passwd username
File yang perlu anda download ke PC / HP anda yaitu Config .ovpn dan ca.crt