Skip to main content

Installasi openvpn server pada Centos 5.5

VPN aka virtual private network, yaitu jaringan pribadi (bukan untuk akses umum) yang menggunakan jalur nonpribadi (internet) untuk menghubungkan antar remote-site secara aman. Perlu penerapan teknologi tertentu agar walaupun menggunakan jalur yang umum, tetapi traffic (lalu lintas) antar remote-site tidak dapat disadap dengan mudah, juga tidak memungkinkan pihak lain untuk menyusupkan traffic yang tidak semestinya ke dalam remote-site.
lebih jelas tentang vpn bisa dibaca pada link di bahan racikan pada bagian akhir dokumen ini.

Openvpn petualangan bermula.

OpenVPN merupakan fitur lengkap dari open source SSL VPN solusi yang mengakomodasi berbagai konfigurasi, termasuk akses remote, VPN site-to-site, keamanan Wi-Fi, dan untuk skala enterprise adalah solusi akses remote dengan load balancing, failover, dan lain-lain. OpenVPN menawarkan alternatif, hemat biaya untuk teknologi VPN yang ditargetkan untuk pasar UKM maupun perusahaan besar.

OpenVPN memiliki desain yang ringan, banyaknya kompleksitas merupakan yang menjadi ciri implementasi VPN jenis lainnya (IpSec). Model keamanan OpenVPN didasarkan pada SSL, yang menjadi standar industri untuk komunikasi yang aman melalui internet. OpenVPN menerapkan OSI layer 2 atau 3 dengan jaringan yang aman dan menggunakan protokol SSL / TLS, mendukung metode otentikasi klien berdasarkan sertifikat yang fleksibel, smart card, dan atau 2-faktor otentikasi, dan memungkinkan pengguna atau kelompok khusus dengan kebijakan akses kontrol menggunakan aturan firewall dan diterapkan pada virtual interface VPN. OpenVPN bukanlah sebuah aplikasi web proxy dan tidak beroperasi melalui web browser.

Versi openvpn
Openvpn mempunya 2 versi.

  1. OpenVPN Community Edition http://openvpn.net/index.php/open-source.html
    Ini adalah versi yang free tetapi ada beberapa fitur yang tidak disertakan.
  2. OpenVPN Access Server http://openvpn.net/index.php/access-server/download-openvpn-as.html
    Ini adalah versi berbayar perbandingan fitur yang di punyai bisa dilihat disini
    http://openvpn.net/index.php/access-server/section-faq-openvpn-as/32-gen...

OpenVPN berjalan pada Operating system : Linux, Windows 2000/XP/Vista/7 dan lebih tinggi, OpenBSD, FreeBSD, NetBSD, Mac OS X, dan Solaris.

Goal :
Openvpn disini dikhususkan hanya untuk akses internet menurut beberapa kawan yang melakukan testing untuk akses internasional terasa lebih cepat.

Pada Openvpn Server :

Bahan :

Mulai meramu bahan.

Install EPEL Repo.
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarc...

Install openvpn
# yum install openvpn

Copy easy-rsa ke dalam /etc/openvpn
# cp -R /usr/share/openvpn/easy-rsa /etc/openvpn

Pindah ke dalam direktori /etc/openvpn/easy-rsa/2.0
# cd /etc/openvpn/easy-rsa/2.0

Edit file vars
# vi vars
Ganti bagian ini sesuaikan dengan kebutuhan

export KEY_COUNTRY="US"
export KEY_PROVINCE="TX"
export KEY_CITY="Dallas"
export KEY_ORG="my org"
export KEY_EMAIL="email@mydomain.tld"

Jalankan file vars untuk membuat ca.key
# source ./vars
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/2.0/keys
# ./clean-all
# ./build-ca
Generating a 1024 bit RSA private key
.....................++++++
.......................++++++
writing new private key to 'ca.key'
-----

Buat privat key untuk server
# ./build-key-server server
Generating a 1024 bit RSA private key
...............................++++++
..............................++++++
writing new private key to 'server.key'
-----

Buat privat key untuk client Ulangi langkah ini untuk lebih dari 1 client disini saya buat 2 client (nama client bisa di ganti sesuka hati).
# ./build-key client
Generating a 1024 bit RSA private key
..............................................++++++
......++++++
writing new private key to 'client.key'
-----
# ./build-key client2
Generating a 1024 bit RSA private key
..............................................++++++
......++++++
writing new private key to 'client2.key'
-----

Jalankan file build-dh (Diffie Hellman)
"Diffie Hellman Parameter" untuk mengatur metode pertukaran kunci dan otentikasi yang digunakan oleh server OpenVPN
# ./build-dh
Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
..........................+...............................................................................+.....................+

Pindahkan folder key ke /etc/openvpn
# mv keys /etc/openvpn/

Salin file konfigurasi server pada contoh config
# cp /usr/share/doc/openvpn-2.1.1/sample-config-files/server.conf /etc/openvpn/

Edit file konfigurasi server.conf
# vi /etc/openvpn/server.conf

Edit bagian berikut sehinga menjadi
# (see "pkcs12" directive in man page).
ca keys/ca.crt
cert keys/server.crt
key keys/server.key # This file should be kept secret
# Diffie hellman parameters.
dh keys/dh1024.pem

Hapus tanda komentar (;) pada bagian ini :

;push "redirect-gateway def1 bypass-dhcp"

menjadikan default gateway, dns, web browsing, email akan di redirect dan mengunakan jalur dari vpn

Hapus tanda komentar (;) pada bagian ini :
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

Secara default dns di atas mengunakan opendns, disini saya menambahkan dns google .

hasilnya menjadi seperti berikut:
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

IPTABLES SETING
Seting berikut di khususkan untuk openvpn client agar bisa untuk akses internet melalui openvpn server
# echo 1 > /proc/sys/net/ipv4/ip_forward

Agar permanen ubah net.ipv4.ip_forward = 0 mejadi net.ipv4.ip_forward = 1 dalam /etc/sysctl.conf
# vi /etc/sysctl.conf

Jalankan iptables sebagai berikut. Agar setelah reboot tetap jalan, tambahkan di /etc/rc.local.
Atau bila tidak bila tidak mau di tambahkan pada /rtc/rc.local bisa menjalankan perintah iptables-save.
Ganti ip 123.123.123.123 dengan IP vpn server.
# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to 123.123.123.123
# iptables -I INPUT -p udp -m udp --dport 1194 -j ACCEPT
# iptables -A FORWARD -j REJECT
# iptables-save

TESTING
Jalankan openvpn
# /etc/init.d/openvpn start
Starting openvpn: [ OK ]

Jalankan chkconfig agar setiap server di restart openvpn akan di jalankan
# chkconfig openvpn on

liat dan monitor log bila ada error
# tail -f /var/log/messages

Pada Openvpn Client :
Bahan :

Ramuannya :
Download openvpn client http://openvpn.net/index.php/openvpn-client.html
Install dan baca secara seksama kalau kelamaan baca ya next .. next aja hehehehe

Download ca,key dan crt yang dibuat pada server yaitu ca.crt, Client ( client.key, client.crt ) dan client2 ( client2.key, client2.crt )gunakan sofware ftp client yang mendukung SFTP
http://www.google.com/search?q=sftp+client&ie=utf-8&oe=utf-8&aq=t&rls=or...

install dan kemudian login dengan port ssh.
masuk ke dalam folder /etc/openvpn/keys
donwload file client tersebut diatas (ca.crt, client.key, client.crt, client2.key, client2.crt)
letakan file tersebut dalam folder config di file installasi openvpn client.

Jalankan openvpn client.

Selamat ber VPN.
catatan :

  • Untuk openvpn client dengan OS Windows Vista / 7 klik kanan openvpn kemudian run as administrator

Bahan racikan :
http://openvpn.net/
http://www.faqs.org/docs/Linux-HOWTO/VPN-HOWTO.html
http://id.wikipedia.org/wiki/VPN
http://computer.howstuffworks.com/vpn.htm
http://www.google.com/search?q=openvpn+howto+centos&ie=utf-8&oe=utf-8&aq...

I really enjoyed reading your

I really enjoyed reading your blog, not only do you bring up some very good points.

Nice post. Thanks for

Nice post. Thanks for sharing.