Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
IMPLEMENTASI HIGH-AVAILABILITY VPN CLIENT PADA JARINGAN KOMPUTER FAKULTAS HUKUM UNIVERSITAS UDAYANA Putu Topan Pribadi Program Studi Teknik Informatika, Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana Email:
[email protected] ABSTRAK Ketersediaan data/layanan sangat dibutuhkan, terutama bagi perusahaan-perusahaan yang sangat membutuhkan data-data ataupun layanan yang bersifat sangat penting. Apabila terjadi kerusakan data ataupun layanan, sangat dibutuhkan adanya server cadangan. Sesuai dengan dasar teori dari teknologi High-Availability, yaitu ilmu untuk menciptakan redundansi dalam setiap sistem dan subsistem untuk memastikan bahwa layanan tetap up dan tersedia. Sehingga dapat dianalogikan dalam implementasi, bila satu server gagal melayani service tertentu, maka tugas server tersebut otomatis akan dilempar ke server lainnya. HA akan diimplementasikan pada layanan VPN Client yang bertujuan untuk memastikan koneksi VPN tetap hidup, agar administrator dapat lebih mudah me-monitoring jaringan dari luar. Kata Kunci: Cluster Computing, High-availability, Failover, Heartbeat, VPN, OpenVPN ABSTRACT Availability of data/services are needed, especially for companies who desperately need the data or services that are very important. When the data and services are corrupt, it is necessary to have a backup server. According to the basic theory of High-Availability technology, the science of creating redundancy in each system and subsystem to ensure that services remain up and available. So that it can be analogized to the implementation, if the server fails to serve a particular service, then the task server will automatically be taken over by the other server. HA will be implemented on the VPN Client service that aims to make a VPN connection alive, so that the administrator can be easier to monitoring the network from outside. Keywords: Cluster Computing, High-availability, Failover, Heartbeat, VPN, OpenVPN
ISSN : 1979-5661
-17-
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
PENDAHULUAN
TINJAUAN PUSTAKA
Perkembangan teknologi memberi pengaruh
besar
bagi
segala
TCP/IP
aspek
TCP/IP
adalah
singkatan
dari
kehidupan, begitu banyak manfaat yang
Transmission Control Protocol/Internet
dapat kita implementasikan. Teknologi saat
Protocol. TCP bertugas menerima pesan
ini telah memberikan kemudahan dalam
elektronik dengan panjang sembarang dan
penyampaian
suatu
membaginya
perkembangan
di
infrastruktur
informasi. suatu
harus
Dalam
perusahaan,
sesuai
ke
dalam
bagian-bagian
berukuran 64kb. Dengan membagi pesan
dengan
menjadi bagian-bagian, perangkat lunak
kebutuhan, baik itu di perusahaan besar
yang mengontrol komunikasi jaringan
maupun kecil dan tentu saja sangat berbeda
dapat
dalam hal persyaratan dan infrastruktur,
menyerahkan prosedur pemeriksaan bagian
khususnya infrastruktur jaringan.
demi
mengirim
bagian.
tiap
Apabila
bagian
suatu
dan
bagian
Teknologi backup otomatis dan
mengalami kerusakan selama transmisi,
High Availability Server (HA) merupakan
maka program pengirim hanya perlu
teknologi
dibutuhkan
mengulang transmisi bagian itu dan tidak
dilingkungan perusahaan atau entitas bisnis
perlu mengulang dari awal (Anjik Sukmaaji,
yang menggunakan sistem komputerisasi.
2008: p22).
yang
banyak
Linux sebagai sebuah pilihan terbaik untuk sistem
server
macam
tools
menyediakan powerful
TCP/IP adalah standar komunikasi
berbagai
yang
data yang digunakan oleh komunitas
dapat
internet dalam proses tukar-menukar data
didayagunakan dengan biaya minimal. Seiring
teknologi
dalam jaringan internet. Protokol ini
perusahaan
tidaklah dapat berdiri sendiri, karena
dihadapkan pada berbagai kemungkinan
memang protokol ini berupa kumpulan
terjadinya
gangguan
sistem.
protokol (protocol suite). Protokol ini juga
Gangguan
dapat
berupa
kerusakan
merupakan protokol yang paling banyak
komputer,
storage,
data
corruption,
informasi
penggunaan
dari satu komputer ke komputer lain di
tersebut,
maka
pada
digunakan
saat
ini.
Data
tersebut
jaringan, dan bencana alam. Hal ini akan
diimplementasikan dalam bentuk perangkat
menyebabkan terhambatnya proses bisnis
lunak (Software) di sistem operasi. Istilah
dan kehilangan data yang mengakibatkan
yang diberikan kepada perangkat lunak ini
kerugian pada perusahaan.
adalah TCP/IP stack.
ISSN : 1979-5661
-18-
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
saat hanya setelah mereka menemukan kegagalan pada sistem utama. (Charles
Cluster Computing Cluster, dalam ilmu komputer dan
Bookman, 2002).
jaringan komputer adalah sekumpulan
High-availability cluster, yang juga
komputer
sering disebut sebagai Failover Cluster
(umumnya
server
jaringan)
independen yang beroperasi serta bekerja
pada
secara erat dan terlihat oleh klien jaringan
untuk tujuan meningkatkan ketersediaan
seolah-olah komputer-komputer tersebut
layanan yang disediakan oleh kluster
adalah satu buah unit komputer. Proses
tersebut. Elemen kluster akan bekerja
menghubungkan beberapa komputer agar
dengan memiliki node-node redundan,
dapat bekerja seperti itu dinamakan dengan
yang
Clustering. Komponen cluster biasanya
menyediakan layanan saat salah satu
saling terhubung dengan cepat melalui
elemen kluster mengalami kegagalan.
sebuah interkoneksi yang sangat cepat, atau
Ukuran yang paling umum dari kategori
bisa juga melalui jaringan lokal (LAN).
ini adalah dua node, yang merupakan
Karena menggunakan lebih dari
syarat
umumnya
kemudian
minimum
diimplementasikan
digunakan
untuk
untuk
melakukan
satu buah server, maka manajemen dan
redundansi. Implementasi kluster jenis
perawatan sebuah cluster jauh lebih rumit
ini akan mencoba untuk menggunakan
dibandingkan dengan manajemen server
redundansi komponen kluster untuk
mainframe
menghilangkan kegagalan di satu titik
tunggal
yang
memiliki
skalabilitas tinggi (semacam IBM AS/400),
(Single Point of Failure).
meski lebih murah.
2. Load-balancing Clusters
Cluster Computing terbagi ke dalam
Kluster kategori ini beroperasi dengan
bebrapa kategori, yaitu sebagai berikut:
mendistribusikan
beban
pekerjaan
1. High-availability Clusters
secara merata melalui beberapa node
High-availability adalah ilmu untuk
yang bekerja di belakang (back-end
menciptakan redundansi dalam setiap
node). Umumnya kluster ini akan
sistem dan subsistem untuk memastikan
dikonfigurasikan
bahwa layanan tetap up dan tersedia. HA
dengan
pada dasarnya menempatkan satu atau
balancing
lebih server cadangan dalam modus
elemen dalam sebuah kluster load-
siaga, yang bisa online dalam beberapa
balancing menawarkan layanan penuh,
ISSN : 1979-5661
-19-
sedemikian
rupa
front-end
load-
beberapa redundan.
Karena setiap
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
maka dapat dikatakan bahwa komponen
untuk memastikan bahwa mereka sudah up
kluster
dan merespon. (Charles Bookman, 2002).
tersebut
merupakan
sebuah
kluster aktif/kluster HA aktif, yang bisa menerima
semua
permintaan
Heartbeat
yang
adalah
Linux
High
Availability yang menggunakan teknik
diajukan oleh klien.
cluster, yang bisa digunakan untuk pada beberapa sistem operasi seperti Linux,
3. Compute Clusters Seringnya, penggunaan utama kluster
FreeBSD, OpenBSD, Solaris, MacOS, yang
komputer adalah untuk tujuan komputasi,
mengunggulkan kehandalan, ketersediaan,
daripada
dan serviceability (RAS).
penanganan
operasi
yang
berorientasi I/O seperti layanan Web
Heartbeat perlu dikombinasikan
atau basis data. Contoh, sebuah kluster
dengan resource yang diperlukan untuk
mungkin
membangun
mendukung
simulasi
failover
yang
memiliki
komputasional untuk perubahan cuaca
kemampuan menghentikan dan memulai
atau tabrakan kendaraan.
service yang diinginkan seperti service IP
Desain kluster ini, sering disebut sebagai
address, webserver, mounting blok hard
“Grid”. Beberapa compute cluster yang
disk , dsb. Heartbeat menjalankan script
dihubungkan secara erat yang didesain
inisialisasi untuk menjalankan service lain
sedemikian rupa, umumnya disebut
saat heartbeat dijalankan atau bisa juga
dengan “Supercomputing”. Beberapa
mematikan service lain saat heartbeat
perangkat lunak Middleware seperti MPI
dimatikan. Heartbeat juga melakukan
atau Paraller Virtual Machine (PVM)
perpindahan IP address dari satu server ke
mengizinkan
server yang lain (IP floating).
program
compute
clustering agar dapat dijalankan di
Fungsi
dalam kluster-kluster tersebut.
dari
Heartbeat
adalah
memeriksa layanan dari unit server, jika service tersebut mati maka akan langsung menggantikannya dengan server backup
Heartbeat Heartbeat
adalah
salah
satu
service. Berikut peran dari Heartbeat :
program yang terpisah atau termasuk dalam fungsi
utama
dari
aplikasi
1. Memonitor server online (bekerja atau
cluster.
tidak), bisa menggunakan ethernet, dan
Heartbeat bertujuan untuk terus mem-
juga menggunakan serial port.
polling server dalam konfigurasi cluster
2. Melakukan fail over dimana server master akan dialihkan ke server slave
ISSN : 1979-5661
-20-
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
jika terjadi kegagalan pada server
membuat koneksi point-to-point tunnel
master.
yang
telah
terenkripsi.
OpenVPN
menciptakan VPN sebenarnya, perluasan terenkripsi dari jaringan yang memerlukan
VPN VPN adalah singkatan dari virtual
kepercayaan bersama yang akan didirikan
private network, yaitu sebuah terowongan
antara
server
virtual (virtual tunnel) dari jaringan ke
menggunakan private keys, certificate, atau
jaringan lain yang terenkripsi. VPN server
username/password
dan VPN client harus saling ter-autentikasi.
authentikasi dalam membangun koneksi.
VPN mengkoneksikan dua jaringan seperti
Dimana
kantor-kantor cabang atau remote users
OpenSSL (Carla Schroder, 2008: p266).
untuk
dan
klien.
untuk
enkripsi
OpenVPN
melakukan
menggunakan
tunggal ke kantor. (Carla Schroder, 2008: p265).
Linux VPN adalah sebuah koneksi Virtual
Linux adalah nama yang diberikan
yang bersifat private mengapa disebut
kepada sistem operasi komputer bertipe
virtual karena pada dasarnya jaringan ini
Unix. Linux merupakan salah satu contoh
tidak ada secara fisik hanya berupa jaringan
hasil pengembangan preangkat lunak bebas
virtual dan mengapa disebut private karena
dan
jaringan ini merupakan jaringan yang
perangkat lunak bebas dan sumber terbuka
sifatnya private yang tidak semua orang
lainnya pada umumnya, kode sumber Linux
bisa mengaksesnya. VPN Menghubungkan
dapat
PC dengan jaringan publik atau internet
didistribusikan kembali secara bebas oleh
namun sifatnya private, karena bersifat
siapa saja.
private maka tidak semua orang bisa terkoneksi
ke
jaringan
ini
sumber
terbuka
dimodifikasi,
utama.
Seperti
digunakan
dan
Linux telah lama dikenal untuk
dan
penggunaannya di server, dan didukung
mengaksesnya. Oleh karena itu diperlukan
oleh
perusahaan-perusahaan
komputer
keamanan data.
ternama seperti Intel, Dell, HewlettPackard, IBM, Novell, Oracle Corporation, Red Hat, dan Sun Microsystems. Linux
OpenVPN OpenVPN adalah aplikasi open
digunakan sebagai sistem operasi di
source untuk Virtual Private Networking
berbagai macam jenis perangkat keras
(VPN), dimana aplikasi tersebut dapat
komputer, termasuk komputer desktop,
ISSN : 1979-5661
-21-
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
superkomputer, dan sistem benam seperti pembaca
buku
permainan
elektronik,
video
CentOS singkatan dari Community
sistem
(PlayStation
ENTerprise Operating System (Sistem
2,
Operasi
Perusahaan
buatan
PlayStation 3 dan XBox), telepon genggam
Komunitas/Masyarakat)
adalah
sistem
dan router.
operasi gratis yang dibuat dari source code Red Hat Enterprise Linux (RHEL). Proyek ini berupaya untuk 100% binari kompatibel
Linux Ubuntu Ubuntu
merupakan
salah
satu
dengan produk hulunya (RHEL). Dan tentu
distribusi Linux yang berbasiskan Debian
saja menggunakan paket RPM.
dan didistribusikan sebagai software bebas.
Karena CentOS dikompile dari
Nama Ubuntu berasal dari filosofi dari
SRPM
RHEL
maka
CentOS
100%
Afrika Selatan yang berarti “Kemanusiaan
kompatible dengan RHEL, isi dari CentOS
kepada sesama”. Ubuntu didesain untuk
hampir sama dengan RHEL. Bedanya pada
kepentingan penggunaan personal, namun
CentOS semua atribute RHEL dibuang,
versi server Ubuntu juga tersedia, dan telah
misalnya README.TXT RHEL diganti
dipakai secara luas.
menjadi README.TXT CentOS.
Proyek Ubuntu resmi disponspori oleh Canonical Ltd. yang merupakan
PERANCANGAN DAN KONFIGURASI
sebuah perusahaan yang dimiliki oleh
SISTEM
pengusaha
Afrika
Selatan
Mark
Shuttleworth. Tujuan dari distribusi Linux VPN Client (Active Node) 172.16.122.18
Ubuntu adalah membawa semangat yang terkandung di dalam Filosofi Ubuntu ke dalam dunia perangkat lunak. Ubuntu
VPN Server (GDLN) 222.124.220.234 VPN Client (Passive Node) 172.16.122.16
adalah sistem operasi lengkap berbasis Linux,
tersedia
secara
bebas
Server Fakultas Hukum Universitas Udayana
dan
VPN Server terletak di server
mempunyai dukungan baik yang berasal dari
komunitas
maupun
tenaga
ILKOM yang berada di GDLN UNUD,
ahli
dengan menggunakan distro Linux Ubuntu
profesional.
8.04
(IP
publik:
222.124.220.234).
Sedangkan untuk VPN Client, dibuatkan
Linux CentOS
dua buah server yaitu Primary Server
ISSN : 1979-5661
-22-
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
(Active Node) dengan menggunakan Linux
kedua node tersebut untuk memastikan
CentOS 5.5 (172.16.122.18) dan Secondary
node mana yang up dan merespon. Service
Server
dengan
VPN Client akan berpindah kembali ke
5.8
Active Node jika server sudah berjalan
(Passive
menggunakan
Node)
Linux
CentOS
(172.16.122.16), dimana nantinya Primary
normal.
Server akan menjadi server utama untuk service VPN Client dan Secondary Server
PENGUJIAN DAN ANALISIS
akan aktif jika Primary Server gagal
Untuk
melakukan
pengujian,
menjalankan service VPN Client atau server
pertama-tama stop VPN Client pada kedua
hang/mati.
node lalu jalankan heartbeat pada kedua
Untuk
dapat
mengakses
node. Pada Active Node, cek dengan
keseluruhan server yang berada di Fakultas
perintah ifconfig maka akan muncul
Hukum
interface eth0:0 dengan IP virtual yang
Universitas
administrator
jaringan
Udayana, harus
sudah ditentukan sebelumnya, dan juga
mempunyai koneksi VPN Client. Untuk
secara otomatis akan menjalankan VPN
koneksi
Client terlihat dari interface tun0 yang
VPN
penulis
juga
menggunakan
OpenVPN, karena OpenVPN merupakan
muncul dengan address-nya.
salah satu aplikasi VPN yang opensource.
Setelah itu matikan Active Node,
Untuk High-Availability service, penulis
dalam hal ini dianggap server mengalami
menggunkan
Komunikasi
kegagalan atau crash sehingga tidak dapat
Heartbeat antar server dilakukan melalui
menjalankan service VPN Client. Tunggu
interface Ethernet dengan cara mem-
sampai beberapa waktu sampai Active Node
broadcast ke jaringan IP yang sama.
dinyatakan benar-benar mati. Setelah itu,
Heartbeat.
Primary Server (Active Node) akan menjadi
server
utama
yang
pada Passive Node, cek dengan perintah
akan
ifconfig maka akan terlihat interface eth0:0
menjalankan service VPN Client jika server
dengan IP virtual-nya dan juga terlihat
berjalan normal dan tidak mengalami
interface tun0 dengan address-nya. Ini
kerusakan atau crash. Jika Active Node
menandakan bahwa Passive Node berhasil
mengalami downtime atau mati, maka
menjadi backup dari service VPN, sehingga
service VPN Client akan dipindahkan
service menjadi High-Availability.
secara otomatis oleh Heartbeat ke Passive
Jika Active Node aktif kembali dan
Node. Heartbeat akan terus mem-polling
menjalankan service VPN sebagaimana
ISSN : 1979-5661
-23-
Jurnal Ilmu Komputer - Volume 6 - No 1 – April 2013
Archlinux.org. 2012. Simple IP Failover with Heartbeat [Online] Tersedia: https://wiki.archlinux.org/index.ph p/Simple_IP_Failover_with_Heart beat. Bookman, Charles. 2002. Linux Clustering: Building and Maintaining Linux Clusters: United States of America. New Riders Publishing. Linux-ha.org. 2007. Ha.cf [Online] Tersedia: http://wiki.linuxha.org/ha.cf. Schroder, Carla. 2008. Linux Networking Cookbook: United States of America. O’Really Media, Inc. Smartnetsolution.com. 2011. VPN [Online] Tersedia: http://smartnetsolution.com/tutorial /VPN.pdf. Sukmaaji, Anjik. 2008. Jaringan Komputer: Yogyakarta. Andi. Telkomspeedy.com. 2010. Instalasi OpenVPN [Online] Tersedia: http://opensource.telkomspeedy.co m/wiki/index.php/Instalasi_OpenV PN.
mestinya, maka Passive Node akan kembali seperti semula, mematikan service VPNnya
sendiri
sehingga
tidak
terjadi
redundansi VPN service. Dalam High-availability cluster, hal yang sangat penting adalah penanganan failover. Ketersediaan data/service harus terpenuhi pada saat user menggunakan service tersebut.
KESIMPULAN Kesimpulan yang dapat penulis tarik dari penelitian ini adalah: 1. Dengan
adanya
sistem
High-
Availability VPN Client, layanan VPN tidak akan terganggu yang diakibatkan oleh kerusakan pada Primary Server karena
Secondary
Server
akan
mengambil alih tugas Primary Server dengan baik jika terjadi kegagalan. 2. High-Availability VPN Client sangat cocok diterapkan pada sistem yang sangat memerlukan koneksi VPN yang stabil. 3. Konsep
High-Availability
yang
diimplementasikan pada VPN Client di Fakultas Hukum Universitas Udayana merupakan salah satu solusi yang handal untuk membangun koneksi jaringan VPN. DAFTAR PUSTAKA
ISSN : 1979-5661
-24-