Headlines News :

POPULAR POST

Membangun OpenVPN Server dan OpenVPN Client dengan Mikrotik

Inti dari tulisan ini adalah saya ingin menghubungkan dua buah jaringan lokal yang berada di kantor pusat dan kantor cabang agar bisa saling terkoneksi melalui jaringan internet. Kira-kira berikut adalah gambaran topologinya :


Skema ip addressnya akan saya samakan persis dengan gambar tersebut, apabila kalian ingin menggunakan ip address yang lain silahkan disesuaikan.

Prasyarat

1. Untuk dapat mengikuti artikel ini kalian diwajibkan sudah mengerti cara konfigurasi dasar mikrotik agar siap digunakan, baik dari konfigurasi ip address, hostname, gateway, dan yang lainnya. Selain itu kalian juga diwajibkan mengerti cara-cara pengoperasian mikrotik seperti cara meremote via winbox, cara memindahkan file ke mikrotik, dll.
2. Wajib mengerti konsep dasar TCP/IP dan jaringan. Sehingga kalian sudah tidak bingung lagi ketika muncul istilah-istilah seperti IP, subnet, gateway, routing statik, dll.
3. Wajib bisa menginstall linux dan sedikit pengoperasian dasar linux, khususnya Ubuntu atau Debian. Karena kita akan membutuhkan sedikit jasa dari Linux untuk membuat sertifikat yang diperlukan untuk membangun OpenVPN Server ini. Selain itu silahkan baca juga cara mengirim file dari Linux melalui SSH atau FTP, karena kita nanti perlu memindahkan file dari server Linux kita ke Mikrotik.

Jika kalian merasa sudah siap dengan prasyaratnya, maka mari kita mulai.

Pembuatan Sertifikat

1. Pertama-tama kita harus membuat sertifikat agar VPN Server kita dapat dikenali klien sebagai VPN Server yang asli. Intinya untuk pengamanan dan peng-enkripsian jalur komunikasi antara VPN Server dan VPN Klien nantinya. Berhubung mikrotik tidak memiliki fitur untuk membuat sertifikat, maka kita memerlukan jasa Linux Ubuntu untuk membuat sertifikatnya.

Silahkan kalian install Linux Ubuntu atau Debian (saya menggunakan Ubuntu Server 12.04 LTS), kemudian konfigurasikan jaringan dan repositorinya agar sudah siap untuk dapat menginstall aplikasi. Jika sudah, install aplikasi Openvpn :

$ sudo apt-get install openvpn

2. Kemudian kopi contoh konfigurasi openvpn yang berada di direktori /usr/share/doc/openvpn/examples/ke direktori tempat openvpn. Caranya seperti ini :

$ sudo -i
# cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn


Setelah itu pindahlah ke direktori /etc/openvpn/2.0 dengan mengetikkan perintah berikut : 

# cd /etc/openvpn/2.0/

Edit file vars untuk mengganti identitas yang diperlukan openvpn saat membuat file-file sertifikat nantinya :

# nano vars

Pada baris paling bawah, gantilah beberapa informasi sehubungan dengan identitas perusahaan atau organisasi kalian. Edit seperti yang sudah saya tuliskan dibawah, sisanya biarkan saja :

# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="ID"
export KEY_PROVINCE="JB"
export KEY_CITY="Bandung"
export KEY_ORG="Cilsy"
export KEY_EMAIL="admin@linuxsupports.com"

export KEY_EMAIL=admin@linuxsupports.com 


Simpan dan tutup file tersebut. Sekarang kita akan membuat file-file sertifikatnya. Eksekusi perintah dibawah ini secara berurutan :

# source vars
# ./clean-all
# ./build-dh
# ./pkitool --initca
# ./pkitool --server server
# ./pkitool client


Apabila pada saat mengeksekusi perintah source vars diatas terdapat pesan error semacam "openssl not found", silahkan eksekusi perintah berikut :

# mv openssl-1.0.0.cnf openssl.cnf

Setelah itu baru eksekusi ulang perintah source vars.

3. Langkah berikutnya kalian tinggal memindahkan file server.crt dan server.key yang berada di direktori/etc/openvpn/2.0/keys ke komputer kalian, baru setelah itu kalian pindahkan lagi ke mikrotik. 

Untuk memindahkan dari server Linux ke komputer saya, saya menggunakan teknik SCP. Silahkan kalian cari mengenai cara mengirim file di Linux menggunakan SCP. Bisa menggunakan SCP langsung atau WinSCP jika di Windows.


Setelah kedua file tersebut saya pindahkan ke komputer saya, saya pindahkan lagi file-file itu ke Mikrotik. Saya menggunakan teknik dari Filezilla. Silahkan kalian gunakan cara kalian masing-masing untuk mengirim file dari komputer ke Mikrotik.


Sampai sini tahap pembuatan file sertifikat untuk keperluan OpenVPN Server telah selesai.

Konfigurasi OpenVPN Server

1. Pertama-tama kita harus mengimport sertifikat dan key yang sudah kita masukkan ke mikrotik. Akses Mikrotik kalian via winbox, kemudian buka New Terminal, lalu ketikkan perintah berikut :

/certificate import file-name=server.crt
/certificate import file-name=server.key


Jika diminta memasukkan passphrase, masukkan saja 1234. 

2. Selanjutnya untuk membangun sebuah jaringan VPN seperti ini, kita perlu membuat subnet jaringan virtual baru agar memudahkan kita dalam memonitor jaringan VPN kita ini nantinya. Maksudnya seperti apa? Coba perhatikan gambar dibawah :

 
 

Disitu terlihat kita menambahkan sebuah ip baru pada tiap-tiap router, yaitu 10.0.0.1 dan 10.0.0.2. Tujuannya seperti yang sudah saya katakan, agar memudahkan kita dalam memonitor jaringan VPN kita. Nantinya ketika jaringan VPN kita ini sudah terkoneksi, maka yang terbaca adalah kedua ip baru tersebut. Dan kedua ip tersebut harus berada dalam satu subnet. Dalam kasus ini maka mereka tergabung dalam subnet 10.0.0.0/24.

Sekilas pada topologi diatas memang terlihat tidak perlu, karena ether1 dari kedua router saya memang sudah satu subnet, 192.168.0.13 dan 192.168.0.14 sudah tergabung dalam subnet 192.168.0.0/24. Tapi jika di dunia nyata, ip publik tidak akan satu subnet seperti itu. Bisa jadi ether1 pada KPusat adalah118.97.87.0.1 sedangkan ether1 pada KCabang-1 adalah 184.25.22.11. Nah, makanya untuk menggabungkan kedua ip publik yang berbeda jauh ini kita perlu membuat ip virtual yang seolah-olah kedua router kita terhubung dalam satu subnet.

Untuk membuatnya, arahkan ke menu PPP > Secrets > +

Name : ovpn-KCabang1 #diisi dengan username yang akan digunakan oleh klien untuk koneksi ke VPN Server ini nantinya. Bebas.
Password : passovpn #diisi dengna password yang akan digunakan oleh klien. Bebas.
Local address : 10.0.0.1 #ip virtual yang digunakan oleh KPusat.
Remote address : 10.0.0.2 #ip virtual yang digunakan oleh KCabang-1
Routes : 192.168.11.0/24 10.0.0.2 #mengarahkan jaringan lokal KPusat yang ingin menuju jaringan lokal KCabang-1, harus melewati 10.0.0.2 (ip virtual KCabang-1


Jika sudah klik OK.

3. Terakhir aktifkan interface OVPN Server melalui PPP > Interface > OVPN Server

Enabled : Centang #Untuk mengaktifkan interface OVPN Server
Mode : Ethernet
Certificate : cert1 #pilih sertifikat yang sudah kita import diawal.
Require Client Certificate : Jangan dicentang

Silahkan disesuaikan dengan gambar milik saya ini : 



Jika sudah klik OK.

Konfigurasi OpenVPN Client

1. Untuk konfigurasi dari sisi KCabang-1 sebagai OpenVPN Client caranya cukup mudah. Kalian tinggal menambahkan interface OVPN Client untuk mengkoneksikan KCabang-1 ke KPusat.

Arahkan ke menu Interface + > OVPN Client

Connect To : 192.168.0.13 #diisi dengan ip publik asli dari KPusat/OVPN Server
Mode : ethernet
User : ovpn-KCabang1 #samakan dengan Name pada saat membuat PPP Secret pada KPusat
Password : passovpn #samakan dengan Password pada saat membuat PPP Secret pada KPusat



Jika sudah klik Apply. Pastikan Status sudah menunjukkan connected pada sisi kanan bawah sebelum mengklik OK.


2. Selanjutnya kalian perlu menambahkan tabel routing secara manual agar jaringan lokal pada KCabang-1bisa terhubung dengan jaringan lokal pada KPusat. Masuk ke IP > Routes > + :

Dst. Address : 192.168.10.0/24 #diisi dengan subnet jaringan lokal KPusat
Gateway : 10.0.0.1 #diisi dengan ip virtual KPusat. Karena jika kita ingin menuju 192.168.10.0/24 harus melewati 10.0.0.1.

Jika sudah klik OK.


Sampai tahap ini, proses pengkonfigurasian OpenVPN Server dan OpenVPN Client telah selesai.

Pengetesan

Untuk memastikan bahwa benar kedua jaringan lokal pada KPusat dan KCabang-1 sudah terkoneksi, maka kalian bisa mencoba melakukan ping dari jaringan 192.168.10.0/24 ke jaringan 192.168.11.0/24 maupun sebaliknya.

Contoh, saya melakukan ping dari klien KCabang-1 ber-ip 192.168.11.2 ke klien KPusat yang ber-ip192.168.10.100 :


Kemudian saya coba traceroute ke 192.168.10.100 dan terlihat bahwa saya melewati ip 10.0.0.1 :


Silahkan dicoba sendiri untuk kebalikannya, yaitu dari KPusat ke KCabang-1.

Semoga bermanfaat :)

Cara Instalasi CentOS, Distro Linux Andalan untuk Server

Linux, apakah sistem operasi komputer Anda Linux? Kenapa tidak menggunakan Linux? Sebagian besar, pandangan orang tentang Linux adalah sebuah sistem operasi yang rumit dan susah dioperasikan, bahkan teman developer penulis yang sudah berpengalaman bilang bahwa “Linux itu susah”. Menurut Penulis, tidak sepenuhnya pendapat itu benar karena “Linux itu mudah, sama mudahnya dengan Windows”. Sekarang sudah banyak beredar distribusi Linux versi desktop dimana Anda dengan mudah bisa menggunakannya untuk administrasi perkantoran seperti membuat, mengedit dokumen dan bahkan bisa digunakan untuk bermain game seperti Warcraft.
Belakangan ini, perkembangan Linux sangatlah cepat baik untuk penggunaan “Desktop” maupun pada “Server”. Jika dilihat dari sisi versi, Distribusi Linux yang semakin beragam membuat Anda bebas menentukan pilihan sesuai kebutuhan dan keinginan. Beberapa distribusi Linux antara lain CentOS, Fedora, Red Hat Enterprise, Opensuse, Mint, Ubuntu, FreeBSD. Di antara beberapa distribusi tersebut ada yang berbayar maupun gratis. Meskipun berbayar kita tetap bisa mendownload file installer (.ISO) dan menginstallnya pada perangkat komputer milik Anda. Secara garis besar dapat ditarik kesimpulan, Perbedaan antara Linux berbayar dan gratis ada pada dukungan bug saja. Misalnya kita membeli dukungan Red Hat Enterprise selama 3 tahun. Maka apabila ada bug pada OS Red Hat yang kita beli, kita bisa meminta Red Hat Support untuk memperbaiki server kita.
CentOS merupakan turunan dari Red Hat Enterprise Linux. CentOS hampir sama persis dengan Red Hat. Oleh karena itu, bisa dibilang bahwa CentOS adalah linux versi Enterprise yang Free. Biasanya sistem operasi ini digunakan pada server dengan lingkup lumayan luas. Ketika membicarakan server maka Anda akan sedikit menjumpai tampilan muka (user interface) bahkan kebanyakan hanya berupa teks. Lalu bagaimana kita melakukan installasinya? Pada kesempatan kali ini Penulis akan berbagi tahap tahap instalasi CentOS pada sebuah server milik Anda.
  1. Sebelum melakukan instalasi, Anda harus memiliki file installer-nya terlebih dahulu. Jika Anda belum memiliki Anda bisa mendapatkannya pada repositori lokal Indonesia (seperti :kambing.ui.ac.id) atau web resmi CentOS (www.centos.org)
  2. Burn DVD dan masukkan pada DVD Drive. Atau Anda bisa juga membuat installer lewat usb. Penulis kali ini menggunakan DVD sebagai media installasi.
  3. Konfigurasi First Boot Device pada DVD Drive, Anda bisa mengaturnya pada BIOS perangkat komputer. Penulis tidak menjelaskan bagaimana cara mengatur First Boot Device pada Artikel kali ini, dikarenakan terdapat perbedaan dalam pengaturannya pada setiap komputer.
  4. Jika pengaturan Anda sudah benar, maka installasi bisa dimulai. Nyalakan perangkat komputer Anda, Kemudian akan mendapatkan pilihan instalasi seperti gambar. Pilih “Install or Upgrade an Existing System” kemudian tekan “Enteroption_install2
  5. Setelah pilihan Anda tentukan akan muncul pilihan “Testing the Media”  tujuannya untuk mengecek apakah DVD installer kita dalam kondisi baik ataukah corrupt. Anda  bisa melewati tahap ini, dengan cara memiilih “Skip”. Atau melakukan pengecekkan denga memilih “OK“. Kemudian tekan “Enter” testing_disk
  6. Setelah proses Testing Media selesai, Anda akan mendapati window “Welcome to CentOS!” kemudian tekan “Enter” welcome
  7. Pada bagian ini, Anda diharuskan melakukan pemilihan bahasa untuk sistem operasi pada server. Ditampilkan beberapa  pilihan bahasa yang akan digunakan selama instalasi berlangsung. Penulis disini lebih menganjurkan untuk memilih bahasa inggris, sehingga memilih “English” dan klik “Enter” language
  8. Bagian selanjutnya adalah mengatur mode keyboard, Anda akan menemui pilhan seperti nampak pada gambar. Pilih model keyboard “us” kemudian tekan “Enter” keyboard
  9. Bagian ini merupakan bagian kritis dari instalasi, dimana seluruh harddisk Anda akan dikosongkan kembali. Ada baiknya Anda melakukan backup data terlebih dahulu sebelum melakukan instalasi. Pilih “Re-initialize all” kemudian tekan “Enter”. Pilihan ini akan menghapus seluruh data pada harddisk Anda sekaligus bentuk partisinya.  initialize
  10. Langkah selanjutnya adalah mengatur waktu pada server Anda. Akan ditampilkan beberapa timezone dari area yang ada di dunia. karena penulis di indonesia, Penulis memilih “Asia/Jakarta” kemudian tekan “Enter”. Jika server Anda tidak di Indonesia Anda bisa menyesuaikannya.  timezone
  11. Pada dasarnya, user default untuk sistem operasi CentOS adalah root. Sehingga untuk awal instalasi Anda diharuskan memasukkan password untuk “root”. password
  12. Pilih “Use entire drive” pada bagian ini, hal ini dikarenakan sebelumnya harddisk Anda telah diformat sehingga tatanan harddisk kembali kosong.  partition
  13. Kemudian plilih “Write change to disk” write
  14. Selanjutnya Anda akan melihat proses instalasi sistem operasi CentOS pada komputer yang Anda miliki. installation
  15. Langkah terakhir sebelum Anda menggunakan komputer Anda adalah melakukan reboot. reboot
  16. Setelah restart maka akan muncul halaman login seperti gambar berikut. Yang menandakan bahwa instalasi CentOS sudah selesai. login
Demikian paparan dari penulis tentang langkah langkah instalasi linux CentOS. Selanjutnya penulis akan menulis artikel lanjutan tentang cara konfigurasi IPADDRESS melalui terminal pada sistem operasi CentOS ini. Terimakasih

Optimasi Apache Web Server


Memiliki sebuah server yang tidak stabil tentu adalah hal yang benar-benar sangat menyebalkan. Bayangkan jika anda sedang memiliki sebuah blog/website atau anda memiliki sebuah toko online, lalu tiba-tiba saat anda mendapatkan banyak sekali pengunjung ke website anda, server anda langsung berat dan tidak bisa diakses sehingga anda menjadi kehilangan banyak sekali pengunjung bahkan pembeli. Menyebalkan bukan ?
Dalam tutorial singkat ini akan saya jelaskan bagaimana cara membuat server anda menjadi lebih stabil sehingga dapat menerima lebih banyak pengunjung sehingga anda dapat mengkonfigurasi sendiri server anda sehingga menjadi server hosting terbaik dan terstabil. Tutorial ini mengasumsikan anda menggunakan web server apache untuk wordpress hosting.

1. Optimasi Software Anda.
Jangan pernah merasa sehat jika parasit belum anda buang. Ingat, salah satu penyebab utama beratnya sebuah server adalah software yang anda gunakan. Jangan melakukan optimasi pada konfigurasi webserver anda sebelum membuang parasit yang sebenarnya.
Sebagai contoh, apabila anda menggunakan Wordpress sebagai CMS website anda, coba anda cek plugin yang anda pasang, apakah ada plugin yang memberatkan kinerja server ? Apakah ada plugin yang sebenarnya fungsinya sama tapi aktif semua ? Apakah ada plugin yang membuat proses berjalan sendiri saat anda tidak mengakses website anda ? Jika ya, buang plugin-plugin tersebut atau ganti dengan plugin yang memiliki fungsi secukupnya dan berjalan lebih ringan, contoh : mengganti All In One SEO plugin dengan Greg's High Performance SEO Plugin.
2. Tentukan MaxClients Pada Konfigurasi Apache.
Beberapa orang mungkin berpikir bahwa menambah MaxClients akan membuat server anda dapat menerima lebih banyak pengunjung tanpa hambatan, atau bila server melambat, tinggal mengurangi angka MaxClients. Hal tersebut adalah SALAH BESAR.
Ingat, bahwa sebenarnya setiap proses apache yang berjalan itu memakan memory yang jumlahnya bisa dibilang sama. Sebagai contoh, satu pengunjung akan membuka satu proses apache, jika ada pengunjung kedua (otomatis muncul satu lagi proses apache), memory yang digunakan proses apache pengujung satu dan pengunjung dua adalah sama.
Pada umumnya, setiap proses apache yang dibentuk akan memakan memory sebesar 20 MB. Asumsikan anda memiliki server dengan RAM 1 GB (1024 MB), maka anda dapat menjalankan maksimal 50 proses apache (50 x 20 MB = 1000 MB). Jika anda mengkonfigurasi MaxClients melebihi 50, maka proses apache selanjutnya akan berjalan di swap memory yang dapat memberatkan server dan mempercepat rusaknya media penyimpanan server (HDD).
Konfigurasi dan batasi MaxClients apache anda dengan perhitungan tersebut, maka anda akan dapat merasakan server anda berjalan lebih optimal sesuai dengan beban maksimal server.
3. Disable Beberapa Modul Apache.
Apache berjalan dengan lebih dari 20 modul secara default. Sedihnya, modul-modul default ini mayoritas adalah modul yang tidak kita butuhkan dan modul tersebut juga memakan cukup banyak memory saat berjalan sehingga akan menambah beban server.
Untuk meringankan server, anda dapat mengurangi modul-modul tersebut sehingga apache akan berjalan lebih ringan tanpa adanya tambahan proses modul yang membebani. Anda dapat menggunakan perintah "a2dismod nama_modul" untuk melakukan hal ini. Apabila anda pengguna cPanel, anda dapat rebuild apache dengan menu easyapache.
4. Kurangi KeepAlive Time Out.
Fungsi konfigurasi KeepAlive Time Out pada apache adalah apabila anda mengakses sebuah server, dalam hal ini pengunjung website, maka sebenarnya web server akan membuka dan menjaga koneksi ke server agar tetap terbuka dalam periode waktu tertentu. Pada periode ini, proses apache yang terbentuk tersebut akan dikunci agar tidak digunakan oleh proses lain.
Mungkin hal ini akan membantu pengunjung website anda mendapatkan koneksi yang lebih stabil karena koneksi akan terus terbuka, tapi jika kita melihat perhitungan yang telah kita lakukan di poin nomor 2 di atas, maka kita akan sadar bahwa jika semakin banyak proses apache yang terbuka dan terkunci karena konfigurasi KeepAlive Time Out yang terlalu lama, maka banyak sekali memory yang digunakan sehingga server akan semakin berat dan mudah kehabisan memory.
Dalam hal ini, apabila anda menginginkan server yang lebih stabil, anda dapat mengurangi KeepAlive Time Out ini menjadi 2 atau 3 detik saja (default adalah 30 detik).
Untuk Pengguna Aktif cPanel :
Apabila anda menggunakan cPanel untuk server anda dan menginginkan server yang lebih stabil, anda dapat menggunakan plugin CpNginx untuk server anda. Plugin ini akan menjadikan Nginx sebagai lapisan pertama web server anda dan apache menjadi lapisan kedua.
Lapisan pertama ini (nginx) akan melayani request dan cache static content seperti gambar, teks, file css, dll dalam website anda, sementara lapisan kedua (apache) akan melayani request PHP. Hal ini akan meringankan kinerja server karena tugas dibagi menjadi 2, static content dan PHP. Dengan begitu, apabila pengunjung website anda mengakses website anda, apache tidak akan memproses request terhadap file-file statis dan digantikan tugasnya oleh nginx, setelah itu file-file statis ini akan dibuatkan cache oleh nginx, sehingga bila pengunjung tersebut kembali ke halaman website yang dibuka sebelumnya, static content akan diambil melalui cache nginx ini tanpa harus melakukan request pada apache lagi.
Demikian adalah sedikit tutorial singkat untuk optimasi web server. Setelah membahas cara optimasi web server di website ini, saya harap anda dapat segera melakukan optimasi mandiri untuk server anda sehingga bisnis dan aktivitas online anda akan semakin lancar.
 
Copyright © 2011. COMASTNET - All Rights Reserved