Memisahkan Bandwidth Lokal dan International

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 sebagaish_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.rscdari 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.rsctelah 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.

Mengupdatesh_ip_bgp_nice.rscsecara 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 namacreate_sh_ip_bgp_nicedengan 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.rscakan otomatis di update perminggu

Adapun isi script “sh_ip_bgp_nice.phpadalah sbb:

<?php

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

$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

if ($checknet == TRUE){

printf(“add chain=forward action=mark-connection \\<br> new-connection-mark=mark-con-indonesia \\<br> comment=\”mark all indonesian traffic\”

src-address=%s<BR>\n”,htmlentities($barisbaru));

printf(“add chain=forward action=mark-connection \\<br> new-connection-mark=mark-con-indonesia \\<br> comment=\”mark all indonesian traffic\”

dst-address=%s<BR>\n”,htmlentities($barisbaru));

}

}

}

//mark-packet

print (“

add connection-mark=mark-con-indonesia action=mark-packet \\<br> new-packet-mark=indonesia chain=prerouting comment=\”mark indonesia\”<br>

add packet-mark=!indonesia action=mark-packet new-packet-mark=overseas \\<br> chain=prerouting comment=\”mark all overseas traffic\”

<br>

“);

?>

Selanjutnya buat script “ftp_upload_router.phputk mengupload file “sh_ip_bgp_nice.rscke mikrotik

<?php

$ftp_server=”<isi dengan alamat ip mikrotik>”;

$ftp_user_name=”<isi dengan username di mikrotik dengan group=full>”;

$ftp_user_pass=”<isi dengan password user tsb di mikrotik, tanpa tanda baca>”;

// open some file for reading

$file = “sh_ip_bgp_nice.rsc“;

$fp = fopen($file, ‘r’);

// set up basic connection

$conn_id = ftp_connect($ftp_server);

// login with username and password

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

// try to upload $file

if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {

echo “Successfully uploaded $file\n”;

} else {

echo “There was a problem while uploading $file\n”;

}

// close the connection and the file handler

ftp_close($conn_id);

fclose($fp);

?>

Kemudian buat script di mesin linux

#!/bin/sh

lynx –dump http://203.89.24.3/mikrotik/ftp_upload_sh_ip_bgp_nice_router-02-smg.php

dengan namaftp_upload_sh_ip_bgp_nicedengan chmod 755

tambahan di file /etc/crontab baris berikut

22 3 * * 0 /home/user/mikrotik/ftp_upload_router > /dev/null

Lalu restart “crond” agar script tersebut akan otomatis di jalankan per hari minggu jam 3:22

Sebaiknya user utk upload ftp tersebut hanya dibatasi hanya dapat di access dari ip tertentu.

Di mikrotik jalankan script berikut

/ system script

add name=”import_sh_ip_bgp_nice” source=”/import sh_ip_bgp_nice.rsc;

\n/tool e-mail \

send to=\”alamat@email.anda\” subject=\”import sh ip bgp nice \

done!\” body=\”import sh ip bgp nice done!\”;

\n:log info \”import sh ip \

bgp nice done!\”;

\n

\n

\n” \

policy=ftp,reboot,read,write,policy,test,winbox,password

dan

/ tool e-mail

set server=<ip email server anda> from=”mikrotik@<domain anda>”

/ system scheduler

add name=”sched_import_sh_ip_bgp_nice” on-event=import_sh_ip_bgp_nice \

start-date=jul/16/2006 start-time=05:00:00 interval=1w comment=”” \

disabled=no

Dengan demikian secara otomatis mikrotik akan mengimport script sh_ip_bgp_nice.rsc tiap 1 minggu (1w = 1 week).

Untuk lebih lanjut mengenai pengaturan bandwidth pada Mikrotik dapat dilihat pada manual mikrotik yang dapat didownload pada

http://www.mikrotik.com/docs/ros/2.9/RouterOS_Reference_Manual_v2.9.pdf

Script diatas dapat diimplementasikan pada Mikrotik Versi 2.9 , untuk versi mikrotik sebelumnya kemungkinan ada perbedaan perintah.

Reference:

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s