Home » Linux » Instalasi dan Konfigurasi Server OpenVPN di GNU/Linux Ubuntu

Instalasi dan Konfigurasi Server OpenVPN di GNU/Linux Ubuntu

Tentang Penulis Blog

Y!M

Tweet Me!

KLASer 2008-2009

klas

Blog Stats

  • 53,847 hits

Live Traffic Feed

Counter

alternative media

Please do not change this code for a perfect fonctionality of your counter
alternative media

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10 other followers

Top Rated

BlankOn User

BlankOn

Unduh BlankOn

Unduh BlankOn Linux

Ubuntu Counter Project

The Ubuntu Counter Project - user number # 21566 The next version of Ubuntu is coming soon

Linux Counter Project

lc

I LOVE LINUX

Windows 7 Sins

Langkah-langkah untuk instalasi dan konfigurasi OpenVPN di komputer server adalah sebagai berikut:
Untuk menginstal server VPN dengan OpenVPN dibutuhkan beberapa paket-paket ekstra pendukung diantaranya: liblzo1, liblzo-dev, libssl-dev, vtun dan opnnssl.

# apt-get install liblzo1 liblzo-dev libssl-dev vtun and openssl

Download OpenVPN dari source code di alamat http://openvpn.net/.  Pada tulisan ini dibuat menggunakan OpenVPN versi 2.0.9. Salin hasil download ke folder /usr/local/src

# cp openvpn-2.0.9.tar.gz /usr/local/src/

Buka dan ekstrak file source code

# cd /usr/local/src
# tar zxvf openvpn-2.0.9.tar.gz

Kompilasi dan instalasi OpenVPN

# cd /usr/local/src/openvpn-2.0.9
# ./configure
# make
# make install

Menggunakan Menuconfig untuk mengaktifkan TUN/TAP Support

# cd /usr/src/linux-headers 2.6.22-14-generic
# make menuconfig

  • Pilih Device Drivers dan tekan Enter
  • Pilih Network device support dan tekan Enter,
  • Pada pilihan Network Device Support aktifkan Universal TUN/TAP device driver support dengan menggunakan spacebar dengan memberikan pilihan module. Dimana pemilihan ke mode module akan mengakibatkan TUN/TAP hanya akan bekerja apabila dibutuhkan

Konfigurasi Server OpenVPN

Mempersiapkan key pada OpenVPN dapat dilakukan dengan bantuan tools easy-rsa, dimana tools tersebut terdapat di /usr/share/doc/openvpn/examples. Salin tools tersebut ke direktori /etc/openvpn/

# cp –Rf /usr/share/doc/openvpn/examples/easy-rsa/* /etc/openvpn/

Edit file vars di /etc/openvpn

# mcedit /etc/openvpn/vars

Tambahkan parameter berikut:

export D=”/etc/openvpn”

export KEY_CONFIG=”$D/openssl.cnf”

export KEY_DIR=$D/keys

export KEY_SIZE=1024

export KEY_COUNTRY=ID

export KEY_PROVINCE=JT

export KEY_CITY=Surabaya

export KEY_ORG=”UBAYA”

export KEY_EMAIL=die_xy@yahoo.co.id

Keterangan:

  • export D=”/etc/openvpn” adalah direktori utama yang digunakan oleh semua file konfigurasi server VPN ditentukan berada pada /etc/openvpn.
  • export KEY_CONFIG=”$D/openssl.cnf ” adalah file yang akan digunakan sebagai pembuat kunci sertifikat keamanan pada server dan client yaitu openssl.cnf dan file tersebut ditentukan berada pada direktori /etc/openvpn.
  • export KEY_DIR=”$D/keys” adalah semua file yang berupa sertifikat atau kunci keamanan yang dibuat oleh openssl.cnf yaitu ca.crt, ca.key, server.crt, server.c.r, server.key, client1.crt, client1.csr, client1.key, dh1024.pem diletakkan pada folder keys dalam /etc/openvpn.
  • export KEY_SIZE=1024 adalah panjang kunci keamanan pada server yang dibuat sebesar 1024 bit dan maksimum adalah 2048 bit. (semakin besar jumlah bit untuk kunci dibuat, maka semakin lama waktu yang dibutuhkan untuk memproses pembuatan kunci tersebut). Panjang kunci tersebut akan digunakan untuk membuat Diffie-Hellman key atau yang dikenal dengan dhxxxx.pem (xxxx = panjang kunci)
  • export KEY_COUNTRY=”ID” adalah identitas client berada atau berasal dari negara mana. Dituliskan inisial ”ID” adalah Indonesia.
  • export KEY_PROVINCE=”JT adalah identitas client berada atau berasal dari popinsi mana. Dituliskan inisial ” JT ” adalah Jawa Timur.
  • export KEY_CITY=”Surabaya adalah identitas client berada atau berasal dari kota mana. Dituliskan ” Surabaya”.
  • export KEY_ORG=”UBAYA” adalah identitas client berada atau berasal dari organisasi mana. Dituliskan ”UBAYA”.
  • export KEY_EMAIL=”die_xy@yahoo.co.id” adalah identitas client berupa email.

Pembuatan Certificate Authority (CA)

# cd /etc/openvpn/

# . ./vars

# ./clean-all

# ./build-ca

Generating a 1024 bit RSA private key

..++++++

…..++++++

writing new private key to ‘ca.key’

—–

You are about to be asked to enter information that will be

Incorporated into your certificate request.

What you are about to enter is what is called a Distinguished

Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [ID]:

State or Province Name (full name) [JT]:

Locality Name (eg, city) [Surabaya]:

Organization Name (eg, company) [UBAYA]:

Organizational Unit Name (eg, section) []:Elektro

Common Name (eg, your name or your server’s hostname)[]:Server

Email Address [die_xy@yahoo.co.id]:

Pembuatan Diffie-Hellman Key

# ./build-dh

Generating DH parameters, 1024 bit long safe prime, generator 2

This is going to take a long time

……………………………………………..+…………….++*++*++*

Pembuatan Certificate dan Key untuk server OpenVPN

# cd /etc/openvpn/

# ./build-key-server server

Generating a 1024 bit RSA private key

……………………………………++++++

……++++++

writing new private key to ‘server.key’

—–

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [ID]:

State or Province Name (full name) [JT]:

Locality Name (eg, city) [Surabaya]:

Organization Name (eg, company) [UBAYA]:

Organizational Unit Name (eg, section) []:Elektro

Common Name (eg, your name or your server’s hostname) []:Server

Email Address [die_xy@yahoo.co.id]:

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []:1234

An optional company name []:Ubaya

Using configuration from /etc/openvpn/openssl.cnf

Check that the request matches the signature

Signature ok

The Subject’s Distinguished Name is as follows

countryName : PRINTABLE:’ID’

stateOrProvinceName : PRINTABLE:’JT’

localityName : PRINTABLE:’Surabaya’

organizationName : PRINTABLE:’UBAYA’

organizationalUnitName: PRINTABLE:’Elektro’

commonName : PRINTABLE:’Server’

emailAddress :IA5STRING:’die_xy@yahoo.co.id’

Certificate is to be certified until May 21 21:27:40 2018 GM

(3650 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

Pembuatan Certificate dan Key untuk client OpenVPN

# cd /etc/openvpn/

# ./build-key client1

Generating a 1024 bit RSA private key

……………++++++

………..++++++

writing new private key to ‘client1.key’

—–

You are about to be asked to enter information that will be

incorporated into your certificate request.

What you are about to enter is what is called a Distinguished

Name

or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [ID]:

State or Province Name (full name) [JT]:

Locality Name (eg, city) [Surabaya]:

Organization Name (eg, company) [UBAYA]:

Organizational Unit Name (eg, section) []:Elektro

Common Name (eg, your name or your server’s hostname) []:Server

Email Address [die_xy@yahoo.co.id]:

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []:1234

An optional company name []:Ubaya

Using configuration from /etc/openvpn/openssl.cnf

Check that the request matches the signature

Signature ok

The Subject’s Distinguished Name is as follows

countryName : PRINTABLE:’ID’

stateOrProvinceName : PRINTABLE:’JT’

localityName : PRINTABLE:’Surabaya’

organizationName : PRINTABLE:’UBAYA’

organizationalUnitName: PRINTABLE:’Elektro’

commonName : PRINTABLE:’client1′

emailAddress :IA5STRING:’die_xy@yahoo.co.id’

Certificate is to be certified until May 21 21:30:53 2018 GMT

(3650 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

Pembuatan certificate dan key untuk client2 dan client3 pada server OpenVPN menggunakan cara yang sama dengan pembuatan certificate dan key untuk client1, hanya saja untuk commonName-nya harus menggunakan nama yang berbeda antar client.

Pemindahan Keys dan Certificate untuk Server dan Client OpenVPN

Setelah membuat key dan certificate, diperoleh key dan certificate yang disimpan di direktori “keys”. Pindahkan key dan certificate tersebut pada direktori /etc/openvpn. Untuk lebih jelasnya dapat dilihat tabel berikut ini.

Nama File Lokasi Pemindahan Kegunaan Rahasia
ca.crt server + client Sertifikat root CA Tidak
ca.key Server Key root CA Ya
Dh{n}.pem Server Parameter DH Tidak
Server.crt Server Sertifikat server Tidak
server.key Server Key server Ya
client1.crt Client Sertifikat client1 Tidak
client1.key Client Key client1 Ya
client2.crt Client Sertifikat client2 Tidak
client2.key Client Key client2 Ya
client3.crt Client Sertifikat client3 Tidak
client3.key Client Key client3 Ya

Untuk server OpenVPN dibutuhkan file dh1024.pem, ca.* dan server.* yang akan dipindahkan ke folder /etc/openvpn dari /etc/openvpn/keys dengan cara:

# cd /etc/openvpn/keys

# cp dh1024.pem /etc/openvpn

# cp ca.* /etc/openvpn

# cp server.* /etc/openvpn

Salin konfigurasi server.conf OpenVPN yang terdapat di folder /usr/share/doc/openvpn/examples/sample-config-files dengan cara:

# gunzip –c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

Edit server.conf OpenVPN menggunakan editor mc:

# mcedit /etc/openvpn/server.conf

mode server

tls-server

port 5000

proto udp

dev tap

ca ca.crt

cert server.crt

key server.key

dh dh1024.pem

ifconfig 10.8.0.1 255.255.255.0

ifconfig-pool 10.8.0.2 10.8.0.11 255.255.255.0

keepalive 10 120

cipher AES-128-CBC

comp-lzo

status openvpn-status.log

verb 3

Keterangan :

  • mode server dan tls-server adalah menandakan bahwa komputer ini bertindak sebagai server pada jaringan OpenVPN.
  • port 5000 adalah port yang digunakan oleh jaringan adalah port 5000 (ini bisa diubah sesuai kebutuhan).
  • proto udp adalah protokol yang digunakan dan diproteksi adalah UDP karena digunakan untuk aplikasi VoIP. Sedangkan pada protokol TCP pada komunikasi VoIP hanya digunakan sebagai proses signaling saja jadi tidak perlu diproteksi secara khusus. Oleh karena itu digunakan protokol UDP dan digunakan port 5000. Untuk menggunakan protokol TCP tinggal mengganti proto UDP dengan proto TCP. (Keterangan: OpenVPN ini saya implementasikan ke jaringan VoIP)
  • dev tap adalah perangkat jaringan virtual yang dibuat pada saat terjadinya koneksi secara peer-to-peer pada VPN tunnel menggunakan OpenVPN. Modul yang digunakan adalah modul interface tap dan diberikan nama tap, karena model jaringan yang digunakan adalah model jaringan Ad-Hoc sehingga tidak memerlukan fasilitas routing. Sedangkan modul interface TUN digunakan apabila jaringan menggunakan model infrastruktur karena dibutuhkan fasilitas routing yang merupakan implementasi modul interface TUN.
  • ca ca.crt adalah tempat penyimpanan file CA umum (ca.crt) pada komputer server berada pada direktori /etc/openvpn/.
  • cert server.crt adalah tempat penyimpanan file sertifikat server (server.crt) pada server berada pada direktori /etc/openvpn/
  • key server.key adalah tempat penyimpanan file Key server (server.key) pada komputer server berada pada direktori /etc/openvpn/.
  • dh dh1024.pem adalah tempat penyimpanan file alogaritma Diffie-Hellman (dh1024.pem) pada komputer server berada pada direktori /etc/openvpn/.
  • cipher AES-128-CBC adalah adalah mode enkripsi yang digunakan pada jaringan Openvpn yaitu cipher AES-128-CBC.
  • ifconfig-pool 10.8.0.2 10.8.0.11 255.255.255 adalah ip pool atau range ip yang disediakan oleh server OpenVPN yaitu mulai 10.8.0.2 sampai 10.8.0.11 dengan subnet 255.255.255.0
  • keepalive 10 120 adalah memeriksa koneksi dengan cara mengirimkan data (seperti perintah ping) dengan durasi setiap 10 detik dan apabila server OpenVPN tidak merespon selama 120 detik dinyatakan client down (mati).
  • comp-lzo adalah metode kompresi data pada tunnel yang digunakan yaitu LZO ( Lempel Ziv Oberhumer). LZO sudah ter-install secara otomatis pada saat meng-install software OpenVPN.
  • status openvpn-status.log adalah file tempat menyimpan semua log hasil koneksi dari client ke server OpenVPN.
  • verb 3 adalah jenis tampilan log yang akan digunakan pada saat koneksi.
About these ads

22 Comments

  1. gilangbro says:

    konfigure untuk client di windows gmn gan???

  2. dikmansn says:

    windows? hehehe… belum nyoba :9 tapi ada e-booknya cara instal, setting dan kerjanya? berminat? alamat e-mail? thx

  3. henry says:

    Minta tolong kirimin ebooknya juga dunk. untuk Server dan Client Ubuntu
    Thanks

  4. witdiarta says:

    minat donk mas,,,, tutorial e-booknya :)

  5. faniuncu says:

    mas boleh mnta ebook yang server dan client buat ubuntu ga???terima kasih
    emailnya panjulidris.07@gmail.com

  6. mau dong e-book utk server ubuntu dan client windows jayadi.hendra@yahoo.co.id

  7. ikhwan says:

    ane juga minat dung ebooknya…

    kirim ke 1khw4n55@gmail.com

    tq..

  8. indrihadi says:

    boss, ane kebingungan neh, udah insatll openvpn server di ubuntu server tapi kok client masih ngk bisa konek ya, saya pake openvpn client di windows mohon pencerahan

  9. registery says:

    Masih bingung nerapinnya

  10. yuda says:

    gan minat ebooknya, boleh donk dikirim makasih y :)

  11. derry adhi says:

    mas, punya konfigurasi buat clientnya sekalian gak ? biar bs langsung connect ke settingan server yang mas kasih di atas ? saya buth banget neh :) terima kasih sebelumnya yaaa :)

  12. minta tutornya juga donk gan…. yang untuk ubuntu.
    email ane d.messanger@yahoo.com

  13. ilham says:

    Mas..sebelumnya saya sudah coba tuts nya berulang-ulang..

    namun masalhnya ketika service openvpn di start daemon hasilnya : server failed

    kira2 apa yang salah ya mas

  14. crist says:

    gak minta kirimin ebooknya untuk ubuntunya, trims
    baliguscris@gmail.com

  15. fazz says:

    thanks gan atas infonya,nice blog.

  16. icalaza says:

    terima kasih infonya, tolong dunk kirimin ebooknya yang buat windows 7 icalaza4@gmail.com

  17. ienien says:

    tolong juga dong kirimin ebooknya ke iinwindarti95@yahoo.com untuk client di windows makasih

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: