Cara Instal OpenVPN di VPS Berbasis CentOS 5

Untuk bisa memainkan Point Blank Garena, kita harus menggunakan tunnel seperti SSH, Proxy, WTFast, VPN, dan sebagainya. Sebenarnya menggunakan WTFast sudah bisa memungkinkan kita memainkan PB Garena. Tetapi dikarenakan harga berlangganan dihitung per user sebesar $5.99, maka solusi ini tidak efektif untuk warnet/game center .  Bayangkan jika warnet memiliki 50 kompi, maka dana yang dikeluarkan bisa mencapai $287.50 per bulan!

Untuk itu, saya menggunakan alternatif untuk membuat OpenVPN server di VPS berbasis Linux CentOS 5. Hanya dengan biaya sekitar $10 per bulan, bisa digunakan oleh seluruh pelanggan warnet. Solusi yang brilian bukan? :D

CATATAN
Sebelum memulai tutorial cara instal OpenVPN ini, ada beberapa hal yang perlu anda ketahui:

  • Saya menggunakan VPS berbasis teknologi OpenVZ, tetapi tidak memungkinkan instalasi ini sukses berjalan di KVM, Xen ataupun Deditaced Server.
  • Tidak perlu VPS yang spesifikasi tinggi, yang penting adalah memiliki koneksi dengan latency yang bagus antara warnet ke VPS dan ke server Garena. Untuk itu carilah VPS yang lokasinya di Singapore.
  • Tidak perlu bandwidth yang besar. Koneksi game tidak memakan bandwidth terlalu besar, dengan 100 GB per bulan saya kira cukup digunakan oleh seluruh pelanggan untuk memainkan PB Garena.
  • Carilah VPS yang TIDAK menawarkan bandwidth unlimited. Logika saya, jika bandwidth unlimited, maka kebanyakan pengguna layanan VPS tersebut adalah para downloader, bisa jadi jika pipa bandwidth mencapai peak, akan terjadi bottleneck dan kita tidak akan mendapatkan latency yang bagus untuk main game.
  • Instalasi ini menggunakan CentOS versi 5 32 bit, bisa juga di instal di mesin 64 bit. Untuk distro linux lainnya, saya tidak menjamin bisa sukses instal. Use on your own risk!

Jika hal sudah anda pahami, selanjutnya kita akan menuju langkah-langkah instalasinya.

LANGKAH INSTALASI

Langkah pertama adalah dengan memeriksa apakah tun/tap sudah diaktifkan atau belum. Ini penting, karena jika tun/tap belum diaktifkan, OpenVPN tidak akan bisa diinstal. Jalankan perintah

cat /dev/net/tun

Jika tun/tap sudah diaktifkan, maka akan muncul:

cat: /dev/net/tun: File descriptor in bad state

Jika tun/tap belum aktif, anda bisa mengaktifkan melalui SolusVM.

Selanjutnya kita akan instal paket yang diperlukan, jalankan perintah:

yum install gcc make rpm-build autoconf.noarch zlib-devel pam-devel openssl-devel -y

Kemudian download LZO RPM. Jalankan perintah:

wget http://openvpn.net/release/lzo-1.08-4.rf.src.rpm

Lalu kita akan mengkonfigurasi repo RPMForge. Untuk Centos 5 32bit, jalankan:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

sedang untuk  Centos 5 64 bit, jalankan:

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

Selanjutnya kita akan membangun paket rpm, jalankan perintah:

rpmbuild --rebuild lzo-1.08-4.rf.src.rpm
rpm -Uvh lzo-*.rpm
rpm -Uvh rpmforge-release*

Dan kita install OpenVPN sekarang, jalankan perintah:

yum install openvpn -y

Salin folder easy-rsa /etc/openvpn/ dengan perintah:

cp -R /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/

Kemudian kita akan membuat sertifikat, jalankan perintah:

cd /etc/openvpn/easy-rsa/2.0
chmod 755 *
source ./vars
./vars
./clean-all

Dan kita buat CA:

./build-ca

akan muncul tampilan berikut:

Country Name: isi nama negara atau tekan enter saja
State or Province Name: isi nama provinsi atau tekan enter saja
City: isi nama kota atau tekan enter saja
Org Name: isi nama warnet atau perusahaan atau tekan enter saja
Org Unit Name: isi nama departmeen atau tekan enter saja
Common Name: isi dengan hostname VPS anda, contoh vpn.tuts.web.id
Email Address: isi alamat email anda atau tekan enter saja

Selanjutnya adalah membuat key server, jalankan perintah:

./build-key-server server

Akan muncul tampilan seperti kita membuat CA diatas, tetapi ada tambahan pertanyaan:

Common Name: isi nama server
A challenge password: kosongkan saja, langsung tekan enter
Optional company name: langsung tekan enter saja
sign the certificate: ketik y dan enter
1 out of 1 certificate requests: ketik y dan enter

Next, kita buat Diffie Hellman (tunggu sampai proses ini selesai), jalankan perintah:

./build-dh

Kemudian kita buat file konfigurasi dengan perintah:

nano /etc/openvpn/server.conf

Salin dan tempel konfigurasi ini:

port 1194 #- port
proto udp #- protocol
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
reneg-sec 0
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.8.0.0 255.255.255.0
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 1194.log
verb 3

Simpan konfigurasi diatas dengan menekan tombol Ctrl + O kemudian enter. Lalu tekan Ctrl + X.

Kita jalankan OpenVPN dengan perintah:

service openvpn restart

Selanjutnya kita harus mengaktifkan IP Forwarding, dengan mengubah konfigurasi Sysctl. Jalankan:

nano /etc/sysctl.conf

dan ubah:

net.ipv4.ip_forward = 0

menjadi

net.ipv4.ip_forward = 1

Untuk membuat perubahan pada konfigurasi Sysctl, jalankan perintah:

sysctl -p

Selanjutnya kita akan melakukan routing Iptables dengan perintah:

iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to-source 123.123.123.123

dan

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 123.123.123.123

Jangan lupa, untuk mengubah “123.123.123.123” dengan IP server/VPS anda.

NOTE: Khusus untuk VPS berbasis Xen atau KVM, jangan gunakan routing Iptables diatas, tetapi gunakan:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Kemudian simpan konfigurasi Iptables diatas dengan perintah:

service iptables save

Untuk membuat username pengakses OpenVPN, masukkan perintah:

useradd username -s /bin/false

sedang untuk passwordnya:

passwd username

*Ganti username dengan nama user yang diinginkan.

Jika ingin menghapus user, gunakan perintah:

userdel username

untuk memastikan OpenVPN berjalan ketika server dinyalakan, jalankan perintah:

chkconfig openvpn on

INSTAL OPENVPN CLIENT DI KOMPUTER

Server OpenVPN telah selesai kita buat, selanjutnya kita akan menginstal OpenVPN client di komputer kita, agar bisa me-redirect koneksi ke server OpenVPN.

Banyak OpenVPN client yang bisa digunakan, akan tetapi saya lebih suka menggunakan Securepoint SSL VPN yang bisa anda unduh disini.
Setelah anda download, silahkan instal Securepoint SSL VPN di komputer anda.

Sebelum kita mengkonfigurasi Securepoint SSL VPN, kita harus membuat file ovpn dulu. Buka Notepad, salin dan tempelkan konfigurasi berikut:

client
dev tun
proto udp
remote 123.123.123.123 1194 # - Masukkan IP dan port server OpenVPN
resolv-retry infinite
nobind
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
persist-key
persist-tun
ca ca.crt
auth-user-pass
comp-lzo
reneg-sec 0
verb 3

Pastikan ganti 123.123.123.123 dengan IP server OpenVPN anda. Simpan konfigurasi diatas dengan nama file vpn.ovpn, dan simpan di sembarang folder.

Kemudian download file ca.crt yang ada di server OpenVPN anda. Lokasi file ca.crt ada di direktori /etc/openvpn/easy-rsa/2.0/keys/ (Anda bisa download menggunakan Filezilla, atau program SFTP lainnya). Letakkan file ca.crt ini di lokasi yang sama dengan file vpn.ovpn.

Jalankan Securepoint SSL VPN, kemudian klik tombol “Import“.  Di kolom “Import existing configuration“, browse file vpn.ovpn yang tadi sudah kita buat. Dan klik tombol “Import“. Kemudian akan muncul kotak pop-up yang menanyakan username & password. Securepoint SSL VPN akan mencoba melakukan koneksi ke server OpenVPN kita. Jika berhasil, akan muncul status koneksi “Connection Established“. Lihat gambar dibawah.

vpn

Buka browser, dan kunjungi whatismyip.com, jika menunjukkan alamat IP server OpenVPN anda, berarti koneksi sudah sukses di redirect. Dan sekarang anda bisa menjalankan PB Garena Singapore.

Bagi anda yang ingin melakukan setting OpenVPN di piranti iOS (iPhone dan iPad), ikuti tutorialnya disini.

Comments 31

  1. Om jika saya ingin menambah/edit/hapus user akun…apakah harus restart vpnservernya..atau langusng bisa .misal harus restart yg lagi konek bisa terputus ya…..

        1. kalau mau dijual, mending sistem manajemen usernya pake FreeRADIUS, digabung dengan billing system dari WHMCS, dan dikonekkan dengan OpenVPN module untuk WHMCS.

          Dengan sistem ini, user nanti bisa signup sendiri, bandwidth bisa dibatasi, username tidak bisa dipake rame2, dan pembayaran bisa pake paypal.

  2. Pingback: Cara Setting OpenVPN di iOS (iPhone & iPad) » Tuts.web.id

    1. kalo hanya tunneling ssh, ya gak usah install openvpn. Secara default, VPS sudah terinstall OpenSSH. Langsung pake aja.

  3. Mas Ferdian, bisa minta id yahoo messenger atau whatsapp atau pin bb?
    mau nanya ini, kalo misalnya kita install opnvpn server di Ubuntu server, terus kita mau alamat IP Singapura, itu setup ubuntu server nya gimana? dan andai kita mau langganan host VPN yang disingapore, dimana kita nempelin alamat IP mereka di ubuntu server kita?

    best regards

    AndriF_Wijaya

    1. Jika ingin setup openvpn dengan IP Singapore, mas Andri butuh VPS atau Dedicated Server yang lokasi datacenternya di Singapore. Silahkan googling aja “VPS Singapore” akan banyak muncul hosting provider yang menyediakan.
      IP singapore otomatis sudah akan disematkan ke VPS mas Andri nanti. Jadi tidak perlu melakukan setting lagi. Yang mas Andri perlu lakukan hanyalah install OpenVPN di VPS tadi menggunakan tutorial diatas, atau silahkan googling saja tutorial lainnya seperti ini.

      Kalau ingin kontak saya secara japri, silahkan gunakan halaman http://www.tuts.web.id/kontak-author/ , nanti akan masuk ke email saya.

      1. Thanks for feedback mas ferdi,
        Ok, sekarang coba saya double check y mas, step by step nya. ( sorry jadi kek minta buatin tutorial baru kayaknya he..he)

        1. Kita bayar/sewa hostingan VPS di singapore.

        ===. pertanyaan: Kita nanti bakal dapat IP ama Port about VPS yang kita sewa tadi?

        2. Install openVPN server di router kita, in my case, di Ubuntu server saya.

        ===> pertanyaan: 1. disini kita tidak perlu memasukkan apa2 tentang VPS yang kita sewa tadi?
        2. 10.8.0.0 itu IP yang kita alamatkan buat virtual network kita/ tun kita? apakah itu fix
        atau bisa diganti semau kita asal tidak bentrok dengan IP jaringan lokal kita?

        3. Jalankan OpenVPN server di Ubuntu server.

        ===> pertanyaan: Dari sini kita hanya perlu melakukan Forwarding melalui iptables dari ip VPN kita ke VPS yang kita sewa tadi?

        4. Buat file xxx.ovpn buat client kita yang nantinya bakal dipake buat software openVPN client.

        ===> pertanyaan: Jika kita punya lebih dari 2 client dibelakang router ini, tentunya kita perlu IP masing2 buat client.
        kapan kita memasukkan opsi IP mereka/ DHCP nya? dan kalo gak salah ada opsi auth nya juga ya mas?

        sebelumnya, Thanks for all your kindness and waktunya y mas buat bimbing saya bangun OpenVPN server ini :)

        BestRegards

        AndriF_Wijaya

        1. Ok mas, akan saya jawab sesuai pengetahuan saya

          1. Alamat IP pasti akan dapat mas. Minimal pasti mendapatkan 1 buah alamat IP. Port dibuka lebar oleh mereka, tergantung mas Andri mau buka & tutup port berapa silahkan saja.

          2. Yang dimaksud “memasukkan apa-apa” ini gimana ya mas? IP 10.8.0.0 adalah ip lokal antara openvpn klien dengan openvpn server. Boleh diganti dengan ip lokal lainnya.

          3. VPS adalah mesinnya mas, sedang OpenVPN nanti adalah software VPN yang akan kita install ke dalam VPS. jadi nanti VPS dan OpenVPN adalah satu kesatuan. Seperti kita install Photoshop di mesin Windows.
          Kalo disisi VPS, mungkin namanya “routing”, baru nanti di sisi klien ada istilah “forwarding”. Misal kita ingin memforward trafik komputer di seluruh jaringan rumah mas Andri, maka perlu melakukan forwarding trafik melalui router. istilahnya transparent forwarding. Transparent, karena di sisi komputer di jaringan, tidak memerlukan setting khusus,karena setting sudah dilakukan di sisi router.

          4. Satu xxx.ovpn bisa digunakan oleh semua klien. Yang membedakan adalah username & passwordnya saja. IP lokal nanti akan otomatis diberikan berbeda di setiap klien (DHCP), tetapi untuk IP luar (IP singapore yang didapat dari VPS) akan sama di masing2 klien.

          Demikian jawaban saya mas, semoga dapat membantu. Jika ada kekurangan saya mohon maaf.

          1. Ooo..baru mudeng aku mas.
            Tadi yang ada dipikiran aku, kita install openVPN nya di router Ubuntu server ku yang disini ( dirumah), ternyata yang dimaksud mas Ferdi, kita installnya di VPS kita yang tadi kita sewa, melalui terminal Putty y mas.
            Ya..ya, makasih mas atas pencerahannya. btw ada masukan buat VPS Singapore yang affordable mas, buat dipake sekitar 13 client di sini?

            BestRegards

            AndriF_Wijaya

          2. kalo pingin ada layanan cs online, coba softlayer. Dia gak ada VPS, tapi dia ada cloud server, sama saja. Malah dapet free 1 bulan cloud server kalo di softlayer.

          3. Kalo mas Ferdi sendiri buat Game centernya pake VPS apa mas? your point of view are valuable reference for me/us

          4. untuk OpenVPN buat net, saya pakai OneAsiaHost, untuk web server saya pakai DigitalOcean, sedang untuk layanan Content Delivery Network saya memakai SoftLayer :)

    1. Semua koneksi internet bisa. Speed tidak akan berubah bos, cepat atau tidaknya koneksi ya tergantung paket internet sampeyan. Centos 6 bisa, tapi ada perbedaan setting jika dibandingkan dengan centos 5.

  4. mas , ini nanti klo berhasil apa koneksi saya jadi lebih cepat karena pakai koneksi dari vps ?
    soalnya saya mau pake koneksi dari vps untuk upload film , klo via remote vps linux aga ribet gak bisa pake koneksi vps .

        1. saya tidak tau bagaimana logikanya ssh tunneling atau vpn bisa meningkatkan speed koneksi. menstabilkan koneksi mungkin bisa saya terima, itupun dengan syarat & ketentuan berlaku. Mungkin sampeyan bisa ngasih pencerahan ke saya?

  5. mas ini kan openvpn server nya 1 ya, misal saya mau bikin openvpn di 2server atau lebih itu konfigurasi di OPENVPN CLIENT nya gimana?

    jadi misal saya punya 2 vps (vps US dan SG) kedua nya saya mau bikin jd openvpn server, itu cara konfigurasi di openvpn client nya bagaimana biar nantinya di open vpn client ada 2 pilihan server

    thanks

Leave a Reply

Your email address will not be published. Required fields are marked *