Ada banyak cara untuk mendapatkan internet gratis. Kira-kira hal itulah yang pertama kali saya ingat ketika menyebut kata VPN dan SSH. OpenVPN adalah salah satu aplikasi open source yang dapat digunakan untuk membuat virtual private network (VPN). OpenVPN menggunakan private keys, certificate dan biasanya disertai username dan password yang digunakan untuk login dan membuat sebuah koneksi. Selain dapat digunakan untuk trik internet gratis, OpenVPN juga dapat digunakan untuk membuat anonymous surfing, mengakses situs yang diblokir dan lain-lain.
Sebelum anda melakukan proses instalasi dan konfigurasi OpenVPN di Centos 6, harap anda pastikan terlebih dahulu bahwa TUN/TAP VPS anda sudah aktif (enable). Untuk mengetahui apakah TUN/TAP sudah aktif atau belum, silahkan masukkan perintah berikut :
cat /dev/net/tun
Seharusnya outputnya adalah :
cat: /dev/net/tun: File descriptor in bad state
Jika tidak demikian, berarti TUN/TAP belum aktif, silahkan anda aktifkan terlebih dahulu melalui panel VPS yang diberikan oleh pihak penyedia VPS. Jika anda tidak diberikan panel VPS (seperti solusvm), silahkan anda hubungi pihak penyedia VPS atau seller VPS yang bersangkutan.
Setelah TUN/TAP VPS anda aktif, selanjutnya ada tinggal install dan setting OpenVPN di VPS Centos anda. Adapun cara install dan konfigurasi OpenVPN di Centos 6 adalah sebagai berikut :
- Install terlebih dahulu paket-paket berikut ini (Jika ada pertanyaan jawab “y” saja) :
yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel
- Download RZO RPM melalui command :
wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm
Pastikan wget sudah anda install di VPS anda. Jika belum, silahkan install dengan perintah :
yum install wget
- Download juga RPMForge
Untuk Centos 6 32 Bit :wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
Untuk Centos 6 64 bit :
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
- Lalu build paket RPM tersebut dengan command :
rpmbuild --rebuild lzo-1.08-4.rf.src.rpm rpm -Uvh lzo-*.rpm rpm -Uvh rpmforge-release*
- Lakukan update dan install OpenVPN dengan perintah (Setiap ada notifikasi, konfirmasi dengan “y”):
yum update yum install openvpn
- Silahkan copy folder easy-rsa ke /etc/openvpn/ melalui command :
cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/
Jika anda mengalami error “no such file or directory”, silahkan anda download terlebih dahulu easy-rsa dan berikan perintah berikut ini :
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/
- Sekarang saatnya membuat certificate.
- Masuk ke direktori /etc/openvpn/easy-rsa/2.0
cd /etc/openvpn/easy-rsa/2.0
- Rubah permission ke 755
chmod 755 *
- Hapus certificate yang ada melalui command berikut :
source ./vars ./vars ./clean-all
- Build certificate :
./build-ca
Saat anda diminta untuk mengisi data-data, anda bisa enter saja untuk mempercepat proses pembuatan certificate. Namun pada saat diminta untuk mengisi “common name”, silahkan anda isi dengan hostname VPS anda atau nama lain, terserah anda.
- Masuk ke direktori /etc/openvpn/easy-rsa/2.0
- Berikutnya membuat key server :
./build-key-server server
Anda bisa enter seperti sebelumnya dan saat diminta untuk mengisi “common name”, silahkan anda isi dengan “server”. Setelah itu anda akan diberikan pertanyaan-pertanyaan seperti pada gambar dibawah, silahkan anda jawab saja dengan mengetikan “y”.
- Build Diffie Hellman :
./build-dh
- Saatnya membuat konfigurasi server :
nano /etc/openvpn/server.conf
Pastikan anda sudah menginstall nano editor. Jika belum, silahkan install terlebih dahulu atau gunakan editor lain seperti vim dan vi.
Masukan konfigurasinya seperti berikut ini :local a.buzzmechat.com.s1.ibeka.tk #ganti dengan IP VPS atau domain anda port 995 #Sesuaikan dengan port yang anda inginkan proto tcp #bisa diganti dengan udp, sesuaikan saja 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 plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login client-cert-not-required username-as-common-name server 10.9.8.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 8.8.4.4" keepalive 5 30 comp-lzo persist-key persist-tun status server-tcp.log verb 3
Jangan lupa simpan konfigurasi file tersebut dengan CTRL+X, Y.
- Jalankan OpenVPN :
service openvpn start
Baca note dibagian bawah artikel ini.
- Membuat auto start supaya OpenVPN dapat berjalan otomatis setelah reboot :
chkconfig openvpn on
- Enable IP forwarding dengan cara merubah file/etc/sysctl.conf :
nano /etc/sysctl.conf
Ganti net.ipv4.ip_forward = 0 menjadi net.ipv4.ip_forward = 1
Lalu save dan exit dengan CTRL+X, Y.
Berikan juga perintah ini :sysctl -p
- Tahapan berikutnya adalah pengaturan IP Tables :
iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o venet0 -j SNAT --to 123.45.67.89
Ganti 123.45.67.89 dengan IP VPS anda. Jika anda menggunakan KVM, maka pengaturan iptablesnya :
iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o eth0 -j MASQUERADE
Lalu save dengan command :
service iptables save
- Buat certificate untuk client dengan :
./build-key ibekaclient
Silahkan anda isi seperti pada tahap sebelumnya. Ganti “ibekaclient” dengan nama apa saja yang anda inginkan.
- Berikutnya membuat config .ovpn untuk client :
nano /etc/openvpn/easy-rsa/2.0/keys/ibekaclient.ovpn
Masukkan baris berikut ini :
client dev tun proto tcp #bisa ganti udp, samakan dengan server.conf remote a.buzzmechat.com.s1.ibeka.tk 995 #ganti a.buzzmexxx dgn IP VPS/domain, 995 samakan denganserver.conf route-method exe resolv-retry infinite nobind tun-mtu 1500 tun-mtu-extra 32 mssfix 1450 persist-key persist-tun ca ca.crt cert ibekaclient.crt key ibekaclient.key auth-user-pass comp-lzo verb 3
Ganti “ibekaclient.crt” dan “ibekaclient.key”, sesuai dengan nama yang anda buat tadi.
Optional : Anda bisa menambahkan http-proxy x.x.x.x dan http-proxy-retry jika anda ingin menggunakan proxy. Ganti x.x.x.x dengan proxy anda atau operator. Anda juga bisa langsung memasukkan ca.crt, cert dan key langsung ke dalam config ovpn tersebut. Jangan lupa simpan konfigurasi dengan CTRL+X, Y. - Untuk membuat user dan password OpenVPN, anda bisa menggunakan command :
useradd -s /bin/false username passwd username
Atau anda juga bisa menggunakan webmin untuk mempermudah pembuatan user. Lihat cara install webmin di VPS Centos.
-
Sampai disini proses install dan konfigurasi OpenVPN server dan client sudah selesai. Selanjutnya anda tinggal download saja config client diatas. Anda bisa gunakan apache httpd plus zip atau anda gunakan saja bitvise. Namun kali ini saya hanya akan memberikan tutorial dengan bitvise, supaya lebih cepat saja prosesnya 😀 :
- Silahkan login seperti biasa. Pastikan anda menggunakan user root seperti berikut ini :
- Klik “New SFTP Window”
- Anda akan langsung dibawa ke direktori root. Silahkan anda keluar dari direktori tersebut dan masuk ke dir /, lalu menuju /etc/openvpn/easy-rsa/2.0/keys
- Download file-file ca.crt, ibekaclient.crt, ibekaclient.csr, ibekaclient.key dan ibekaclient.ovpn (sesuaikan kelima nama file tersebut dengan yang anda miliki).
Cara Menggunakan OpenVPN GUI di Windows
- Setelah file client terdownload, silahkan anda download dan install aplikasi OpenVPN GUI di komputer client, lalu masukkan kelima file tadi ke C:\program files\openvpn\config\. Pastikan file default config sudah anda hapus terlebih dahulu.
- Jalankan OpenVPN di komputer client. Jangan lupa anda disable firewall, UAC dan buka OpenVPN dengan run as administrator.
- Nanti akan ada notifikasi untuk memasukkan user dan password, silahkan masukkan saja user dan password yang tadi anda buat.
- Tunggu sampai icon OpenVPN berubah warna menjadi hijau. Jika sudah hijau, berarti OpenVPN berhasil konek. Silahkan anda coba gunakan untuk browsing dan lakukan pengecekan IP supaya lebih meyakinkan anda. Jika ternyata OpenVPN berhasil tersambung (warna hijau), tapi anda gagal browsing, maka silahkan anda cek kembali konfigurasi iptables di VPS anda, apakah sudah benar atau belum. Harap anda pastikan juga pengaturan browser anda tidak sedang menggunakan proxy.
Note :
Jika failed saat start openvpn, silahkan anda cek kembali server.conf. Pastikan semua konfigurasi disana benar, terutama pada bagian plugin (pam auth), karena seperti yang saya alami di beberapa VPS, ternyata lokasinya berbeda, sehingga menyebabkan openvpn tidak dapat dijalankan.
Jika anda tidak menemukan file pam auth, anda bisa mencoba melakukan tahap-tahap berikut ini :
- Download file pam auth :
64 Bit :wget http://safesrv.net/public/openvpn-auth-pam.zip
32 Bit :
wget http://safesrv.net/public/dl/openvpn-auth-pam.zip
- Ekstrak file yang sudah di download :
unzip openvpn-auth-pam.zip
- Pindahkan ke direktori openvpn :
mv openvpn-auth-pam.so /etc/openvpn/openvpn-auth-pam.so
- Lalu ganti baris plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so /etc/pam.d/login yang terdapat pada server.conf dengan baris berikut :
plugin /etc/openvpn/openvpn-auth-pam.so /etc/pam.d/login
- Restart openvpn dan lihat apakah masih failed atau sudah fix OK,
service openvpn restart