Selasa, 01 September 2009

server pada linux

Memisahkan Bandwidth Lokal dan International menggunakan Mikrotik

Memisahkan Bandwidth Lokal dan International menggunakan Mikrotik

Semakin berkembangnya konten Internet lokal di Indonesia telah memberikan peluang bisnis baru dalam industri Internet di Indonesia. Saat ini banyak Internet Service Provider
(ISP) yang menawarkan paket bandwidth lokal atau IIX yang lebih besar dibandingkan bandwidth Internet Internasional, hal ini seiring dengan semakin banyaknya pengelola RT-RW Net yang mampu menyediakan layanan koneksi Internet yang lebih terjangkau bagi lingkungan sekitarnya.

Permasalahan umum yang terjadi pada jaringan RT-RW Net adalah masalah pengaturan bandwidth. Pada umumnya pengelola RT-RW Net akan kesulitan pada saat ingin memisahkan antara traffic lokal dengan traffic internasional karena umumnya jaringan RT-RW Net hanya menggunakan static routing, berbeda dengan ISP yang mampu membangun jaringan yang lebih komplek menggunakan protocol routing BGP sehingga ISP dapat dengan mudah memisahkan antara traffic local dan internasional.

Untuk memisahkan traffic lokal dengan traffic internasional tersebut RT-RW Net dapat dengan mudah menggunakan PC Router + Sistem Operasi Mikrotik, Mikrotik sebenarnya adalah linux yang sudah di buat sedemikian rupa oleh pengembangnya sehingga sangat mudah diinstall dan di konfigur dengan banyak sekali fitur dan fungsi. Untuk lebih lanjut mengenai mikrotik dapat dilihat pada situs webnya http://www.mikrotik.com atau http://www.mikrotik.co.id

Berikut adalah sekenario jaringan dengan Mikrotik sebagai router

Gambar 1. Sekenario Jaringan


Penjelasan:

  1. Mikrotik Router dengan 2 Network Interface Card (NIC) Ether1 dan Ether3, dimana Ether1 adalah Ethernet yang terhubung langsung ke ISP dan Ether3 adalah Ethernet yang terhubung langsung dengan jaringan 192.168.2.0/24
  2. Bandwidth dari ISP misalnya 256Kbps internasional dan 1024Kbps lokal IIX
  3. Komputer 192.168.2.4 akan diberi alokasi bandwidth 128Kbps internasional dan 256Kbps lokal IIX

Untuk memisahkan antara traffic lokal IIX dengan traffic internasional caranya adalah dengan menandai paket data yang menuju atau berasal dari jaringan lokal IIX menggunakan mangle. Pertanyaannya bagaimana caranya Mikrotik bisa mengetahui paket tersebut menuju atau berasal dari jairngan lokal IIX?

Jawabannya adalah dengan mengambil data dari http://lg.mohonmaaf.com

Pilih Query dengan men-cek-list BGP dan klik Submit

Gambar 2. Hasil Query http://lg.mohonmaaf.com untuk perintah "show ip bgp"

Fungsi dari http://lg.mohonmaaf.com adalah sebagai fasilitas looking glass jaringan lokal yang dikelola oleh PT. IDC , terima kasih kepada Bapak Johar Alam yang telah menyediakan layanan tersebut.

Dari hasil query tersebut selanjutnya simpan sebagai text files untuk selanjutnya dapat diolah dengan menggunakan spreadsheet contohnya Ms. Excel untuk mendapatkan semua alamat Network yang diadvertise oleh router-router BGP ISP lokal Indonesia pada BGP router IDC atau National Inter Connection Exchange (NICE).

Selanjutnya buat script berikut untuk dapat diimport oleh router Mikrotik

/ip firewall mangle

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" src-address=61.5.0.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" src-address=61.5.0.0/17

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" src-address=61.5.4.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" src-address=61.5.8.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" src-address=61.5.16.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" src-address=61.5.20.0/22

….

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" dst-address=61.5.0.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" dst-address=61.5.0.0/17

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" dst-address=61.5.4.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" dst-address=61.5.8.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" dst-address=61.5.16.0/22

add chain=forward action=mark-connection new-connection-mark=mark-con-indonesia comment="mark all indonesian traffic" dst-address=61.5.20.0/22

….

add connection-mark=mark-con-indonesia action=mark-packet new-packet-mark=indonesia chain=prerouting comment="mark indonesia"

add packet-mark=!indonesia action=mark-packet new-packet-mark=overseas chain=prerouting comment="mark all overseas traffic"

Untuk membuat script diatas dapat dibantu dengan Ms. Excel dan Wordpad dan simpan dengan ekstensi .rsc

Atau create saja script tersebut melalui

http://www.datautama.net.id/harijanto/mikrotik/create_sh_ip_bgp_nice.php

kemudian save-as sebagai "sh_ip_bgp_nice.rsc"

Script tersebut selanjutnya dapat di upload ke mikrotik menggunakan ftp client dengan username dan password admin mikrotik tersebut, contoh:

ftp://admin@192.168.2.1

Gambar 3. ftp://admin@192.168.2.1

Kita dapat mengakses FTP mikrotik dengan menggunakan Internet Explorer untuk selanjutnya dapat dilakukan copy-paste file "sh_ip_bgp_nice.rsc" dari harddisk lokal ke mikrotik.

Atau upload langsung script "sh_ip_bgp_nice.rsc" yang otomatis diperbaharui per minggu dari:

http://www.datautama.net.id/harijanto/mikrotik/upload_ip_indonesia.php

Untuk username FTP sebaiknya menggunakan user temporary dengan group "full" dan password jangan menggunakan karakter tanda baca, user tersebut kalau sudah tidak diperlukan harus didisable atau di remove demi keamanan mikrotik anda.

Jika file "sh_ip_bgp_nice.rsc" telah diupload ke mikrotik selanjutnya lakukan import dengan cara mengetikkan "/import sh_ip_bgp_nice.rsc" pada terminal mikrotik.

Gambar 4. import file sh-ip-bgp-indonesia.rsc pada mikrotik

[admin@router-02-jkt] > /import sh_ip_bgp_nice.rsc

Proses import ini akan memakan waktu cukup lama karena saat ini setidaknya terdapat 2310 prefix yang di advertise oleh router BGP NICE

gateway-01-jkt>sh ip bgp summary

Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd

218.100.27.129 4 7717 68796 50227 1431078 0 0 11:43:15 2310

Jika sudah muncul tulisan berikut berarti proses import telah berhasil

Opening script file sh_ip_bgp_nice.rsc

Script file loaded and executed successfully

[admin@router-02-jkt] >

Pada /ip firewall mangle akan terdapat semua hasil import tersebut

Gambar 5. Hasil import script

Langkah selanjutnya adalah mengatur bandwidth melalui queue simple, untuk mengatur bandwidth internasional 128Kbps dan bandwidth lokal IIX 256Kbps pada komputer dengan IP 192.168.2.4 dapat dilakukan dengan contoh script sbb:

/ queue simple

add name="harijant-indonesia" target-addresses=192.168.2.4/32 \

dst-address=0.0.0.0/0 interface=all parent=none packet-marks=indonesia \

direction=both priority=8 queue=default/default limit-at=0/0 \

max-limit=256000/256000 total-queue=default disabled=no

add name="harijanto-overseas" target-addresses=192.168.2.4/32 \

dst-address=0.0.0.0/0 interface=all parent=none packet-marks=overseas \

direction=both priority=8 queue=default/default limit-at=0/0 \

max-limit=128000/128000 total-queue=default disabled=no

add name="PT. Data Utama Office Indonesia" target-addresses=192.168.2.0/24 \

dst-address=0.0.0.0/0 interface=all parent=none packet-marks=indonesia \

direction=both priority=8 queue=default/default limit-at=0/0 max-limit=0/0 \

total-queue=default disabled=no

add name="PT. Data Utama Office Overseas" target-addresses=192.168.2.0/24 \

dst-address=0.0.0.0/0 interface=all parent=none packet-marks=overseas \

direction=both priority=8 queue=default/default limit-at=0/0 max-limit=0/0 \

total-queue=default disabled=no

Script diatas berarti hanya komputer dengan IP 192.168.2.4 saja yang di batasi bandwidthnya 128Kbps internasional (overseas) dan 256Kbps lokal IIX (indonesia) sedangkan yang lainnya tidak dibatasi.

Hasil dari script tersebut adalah sbb:

Gambar 6. simple queue untuk komputer 192.168.2.4

Dengan demikian maka komputer 192.168.2.4 hanya dapat mendownload atau mengupload sebesar 128Kbps untuk internasional dan 256Kbps untuk lokal IIX.

Untuk mengujinya dapat menggunakan bandwidthmeter sbb:

Gambar 7. Hasil bandwidth meter komputer 192.168.2.4 ke lokal ISP

Gambar 8. Hasil bandwidth meter ke ISP internasional

Dengan demikian berarti Mikrotik telah berhasil mengatur pemakaian bandwidth internasional dan lokal IIX sesuai dengan yang diharapkan pada komputer 192.168.2.4.

Mengupdate "sh_ip_bgp_nice.rsc" secara otomatis

Buat script berikut di mesin linux

#!/bin/sh

lynx -dump -nolist http://www.datautama.net.id/harijanto/mikrotik/sh_ip_bgp_nice.php > /home/support/mikrotik/sh_ip_bgp_nice.rsc

dengan nama "create_sh_ip_bgp_nice" dengan chmod 755

tambahan di file /etc/crontab baris berikut

22 2 * * 0 support /home/user/mikrotik/create_sh_ip_bgp_nice

Lalu restart "crond" agar script tersebut akan otomatis di jalankan per hari minggu jam 2:22

Dengan demikian script "sh_ip_bgp_nice.rsc" akan otomatis di update perminggu

Adapun isi script "sh_ip_bgp_nice.php" adalah sbb:

php

$website="http://lg.mohonmaaf.com/index.cgi?query=bgp&router=cantik";

$isi = file($website);

if ($isi == FALSE)

printf("Website $website tidak dapat dibuka");

print ("/ip firewall mangle<br>");

//src-address

foreach($isi as $baris){

//menghapus karakter diatas routing table

if (substr($baris,0,1)=="*"){

//menghapus karakter dibelakang alamat network

$barisbaru=substr($baris,3,17);

//check alamat network ada atau tidak

$checknet=strpos($barisbaru,".");

//mencetak alamat network Indonesia

Tidak ada komentar: