Difference between revisions of "Memisahkan Bandwidth Lokal dan International menggunakan Mikrotik"

From OnnoWiki
Jump to navigation Jump to search
(New page: Written by harijanto@datautama.net.id Wednesday, 08 November 2006 Versi 3 Perubahan dari versi sebelumnya: # Proses mangle berdasarkan address-list # Pemisahan traffic Indonesia d...)
 
Line 1: Line 1:
 
  Written by harijanto@datautama.net.id     
 
  Written by harijanto@datautama.net.id     
 +
http://www.datautama.net.id
 
  Wednesday, 08 November 2006
 
  Wednesday, 08 November 2006
  
Line 9: Line 10:
 
# Pemisahan traffic Indonesia dan overseas lebih akurat
 
# Pemisahan traffic Indonesia dan overseas lebih akurat
  
Semakin berkembangnya konten Internet lokal di Indonesia telah memberikan peluang bisnis baru dalam industri Internet di Indonesia. Saat ini banyak Internet Service Provider
+
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.
+
([[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.
+
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
+
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
+
Berikut adalah sekenario jaringan dengan [[Mikrotik]] sebagai [[router]]
  
 
[[Image:MIkrotik-Pisahbw1.jpg|center|200px|thumb]]
 
[[Image:MIkrotik-Pisahbw1.jpg|center|200px|thumb]]
Line 30: Line 31:
  
  
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?
+
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
 
Jawabannya adalah dengan mengambil data dari http://lg.mohonmaaf.com
Line 38: Line 39:
 
  http://203.89.24.3/cgi-bin/lg.cgi
 
  http://203.89.24.3/cgi-bin/lg.cgi
  
Pilih Query dengan men-cek-list BGP dan klik Submit
+
Pilih Query dengan men-cek-list [[BGP]] dan klik Submit
  
 
[[Image:Mikrotik-Pisahbw2.jpg|center|200px|thumb]]
 
[[Image:Mikrotik-Pisahbw2.jpg|center|200px|thumb]]
  
 
Gambar 2. Hasil Query http://lg.mohonmaaf.com untuk perintah “show ip bgp”
 
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.
 
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).
+
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).
  
 
Pada penjelasan versi-2 dokumen ini saya menggunakan teknik langsung memasukkan daftar ip blok ke /ip firewall mangle, dengan teknik ini saya harus memasukkan dua kali daftar ip yang didapat dari router NICE ke /ip firewall mangle.
 
Pada penjelasan versi-2 dokumen ini saya menggunakan teknik langsung memasukkan daftar ip blok ke /ip firewall mangle, dengan teknik ini saya harus memasukkan dua kali daftar ip yang didapat dari router NICE ke /ip firewall mangle.
Line 55: Line 55:
 
Lebih jelasnya adalah sbb:
 
Lebih jelasnya adalah sbb:
  
Selanjutnya buat script berikut untuk dapat diimport oleh router Mikrotik
+
Selanjutnya buat script berikut untuk dapat diimport oleh router [[Mikrotik]]
  
 
  / ip firewall address-list
 
  / ip firewall address-list
Line 67: Line 67:
 
  dst…
 
  dst…
  
untuk mendapatkan script diatas dapat melalui URL berikut:
+
untuk mendapatkan script diatas dapat melalui [[URL]] berikut:
  
 
  http://www.datautama.net.id/harijanto/mikrotik/datautama-nice.php
 
  http://www.datautama.net.id/harijanto/mikrotik/datautama-nice.php
  
URL diatas secara online akan melakukan query ke router NICE dari http://lg.mohonmaaf.com
+
URL diatas secara online akan melakukan query ke router [[NICE]] dari http://lg.mohonmaaf.com
  
 
CATATAN:
 
CATATAN:
  
Karena lg.mohonmaaf.com tidak dapat diakses maka utk daftar ip local dapat di ambil dari
+
Karena lg.mohonmaaf.com tidak dapat diakses maka utk daftar [[ip local]] dapat di ambil dari
  
 
  http://ixp.mikrotik.co.id/download/nice.rsc
 
  http://ixp.mikrotik.co.id/download/nice.rsc
Line 84: Line 84:
  
 
yang datanya dari looking glass DatautamaNet
 
yang datanya dari looking glass DatautamaNet
 
 
  
 
dari hasil URL diatas copy lalu paste ke mikrotik dengan menggunakan aplikasi putty.exe ssh ke ipmikrotik tersebut, caranya setelah di copy teks hasil proses URL diatas lalu klik kanan mouse pada jendela ssh putty yang sedang meremote mikrotik tersebut. Cara ini agak kurang praktis tetapi karena jika script diatas dijadikan .rsc ternyata akan bermasalah karena ada beberapa baris ip blok yang saling overlap sebagai contoh:
 
dari hasil URL diatas copy lalu paste ke mikrotik dengan menggunakan aplikasi putty.exe ssh ke ipmikrotik tersebut, caranya setelah di copy teks hasil proses URL diatas lalu klik kanan mouse pada jendela ssh putty yang sedang meremote mikrotik tersebut. Cara ini agak kurang praktis tetapi karena jika script diatas dijadikan .rsc ternyata akan bermasalah karena ada beberapa baris ip blok yang saling overlap sebagai contoh:
Line 96: Line 94:
 
dimana 222.124.64.0/21 adalah supernet dari 222.124.64.0/23 artinya diantara dua blok ip tersebut saling overlap, sehingga pada saat proses import menggunakan file .rsc akan selalu berhenti pada saat menemui situasi seperti ini.
 
dimana 222.124.64.0/21 adalah supernet dari 222.124.64.0/23 artinya diantara dua blok ip tersebut saling overlap, sehingga pada saat proses import menggunakan file .rsc akan selalu berhenti pada saat menemui situasi seperti ini.
  
    Sampai saat ini saya belum menemukan cara yang praktis utk mengatasi hal tersebut diatas.
+
Sampai saat ini saya belum menemukan cara yang praktis utk mengatasi hal tersebut diatas. Kalau saja kita bisa membuat address-list dari table prefix [[BGP]] yang dijalankan di mikrotik maka kita bisa mendapatkan address-list dengan lebih sempurna.
    Kalau saja kita bisa membuat address-list dari table prefix BGP yang dijalankan di mikrotik maka kita bisa mendapatkan address-list dengan lebih sempurna.
 
  
 
   
 
   
Line 123: Line 120:
 
     traffic" disabled=no
 
     traffic" disabled=no
  
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:
+
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
 
  / queue simple
Line 191: Line 188:
 
==Pranala Menarik==
 
==Pranala Menarik==
  
 +
* [[Sekitar Mikrotik]]
 
* [[Linux Howto]]
 
* [[Linux Howto]]

Revision as of 10:38, 27 March 2008

Written by harijanto@datautama.net.id    
http://www.datautama.net.id
Wednesday, 08 November 2006

Versi 3

Perubahan dari versi sebelumnya:

  1. Proses mangle berdasarkan address-list
  2. Pemisahan traffic Indonesia dan overseas lebih akurat

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

MIkrotik-Pisahbw1.jpg

Gambar 1. Skenario 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

karena http://lg.mohonmaaf.com sudah tidak aktif maka data dapat diambil dari:

http://203.89.24.3/cgi-bin/lg.cgi

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

Mikrotik-Pisahbw2.jpg

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).

Pada penjelasan versi-2 dokumen ini saya menggunakan teknik langsung memasukkan daftar ip blok ke /ip firewall mangle, dengan teknik ini saya harus memasukkan dua kali daftar ip yang didapat dari router NICE ke /ip firewall mangle.

Cara lain yang lebih baik adalah dengan memasukkan daftar ip blok dari router NICE ke /ip firewall address-list dengan demikian maka pada /ip firewall mangle hanya terdapat beberapa baris saja dan pemisahan traffic Indonesia dan overseas dapat lebih akurat karena mangle dapat dilakukan berdasarkan address-list saja.

Lebih jelasnya adalah sbb:

Selanjutnya buat script berikut untuk dapat diimport oleh router Mikrotik

/ ip firewall address-list
add list=nice address=58.65.240.0/23 comment="" disabled=no
add list=nice address=58.65.242.0/23 comment="" disabled=no
add list=nice address=58.65.244.0/23 comment="" disabled=no
add list=nice address=58.65.246.0/23 comment="" disabled=no
add list=nice address=58.145.174.0/24 comment="" disabled=no
add list=nice address=58.147.184.0/24 comment="" disabled=no
add list=nice address=58.147.185.0/24 comment="" disabled=no
dst…

untuk mendapatkan script diatas dapat melalui URL berikut:

http://www.datautama.net.id/harijanto/mikrotik/datautama-nice.php

URL diatas secara online akan melakukan query ke router NICE dari http://lg.mohonmaaf.com

CATATAN:

Karena lg.mohonmaaf.com tidak dapat diakses maka utk daftar ip local dapat di ambil dari

http://ixp.mikrotik.co.id/download/nice.rsc

atau dari

http://www.datautama.net.id/harijanto/mikrotik/datautama-nice.php  

yang datanya dari looking glass DatautamaNet

dari hasil URL diatas copy lalu paste ke mikrotik dengan menggunakan aplikasi putty.exe ssh ke ipmikrotik tersebut, caranya setelah di copy teks hasil proses URL diatas lalu klik kanan mouse pada jendela ssh putty yang sedang meremote mikrotik tersebut. Cara ini agak kurang praktis tetapi karena jika script diatas dijadikan .rsc ternyata akan bermasalah karena ada beberapa baris ip blok yang saling overlap sebagai contoh:

\... add address=222.124.64.0/23 list="nice"
[datautama@router-01-jkt] > /ip firewall address-list \
\... add address=222.124.64.0/21 list="nice"
address ranges may not overlap

dimana 222.124.64.0/21 adalah supernet dari 222.124.64.0/23 artinya diantara dua blok ip tersebut saling overlap, sehingga pada saat proses import menggunakan file .rsc akan selalu berhenti pada saat menemui situasi seperti ini.

Sampai saat ini saya belum menemukan cara yang praktis utk mengatasi hal tersebut diatas. Kalau saja kita bisa membuat address-list dari table prefix BGP yang dijalankan di mikrotik maka kita bisa mendapatkan address-list dengan lebih sempurna.


Selanjutnya pada /ip firewall mangle perlu dilakukan konfigurasi sbb:

/ ip firewall mangle
add chain=forward src-address-list=nice action=mark-connection \
    new-connection-mark=mark-con-indonesia passthrough=yes comment="mark all \
    indonesia source connection traffic" disabled=no
add chain=forward dst-address-list=nice action=mark-connection \
    new-connection-mark=mark-con-indonesia passthrough=yes comment="mark all \
    indonesia destination connection traffic" disabled=no
add chain=forward src-address-list=!nice action=mark-connection \
    new-connection-mark=mark-con-overseas passthrough=yes comment="mark all \
    overseas source connection traffic" disabled=no
add chain=forward dst-address-list=!nice action=mark-connection \
    new-connection-mark=mark-con-overseas passthrough=yes comment="mark all \
    overseas destination connection traffic" disabled=no
add chain=prerouting connection-mark=mark-con-indonesia action=mark-packet \
    new-packet-mark=indonesia passthrough=yes comment="mark all indonesia \
    traffic" disabled=no
add chain=prerouting connection-mark=mark-con-overseas action=mark-packet \
    new-packet-mark=overseas passthrough=yes comment="mark all overseas \
    traffic" disabled=no

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

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:

Mikrotik-Pisahbw3.jpg

Gambar 3. 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:


Mikrotik-Pisahbw4.jpg

Gambar 4. Hasil bandwidth meter komputer 192.168.2.4 ke lokal ISP


Mikrotik-Pisahbw5.jpg

Gambar 5. 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.

Pada penjelasan versi-3 ini proses mangle terhadap traffic “overseas” dapat lebih akurat karena menggunakan address-list dimana arti dari src-address=!nice adalah source address “bukan nice” dan dst-address=!nice adalah destination address “bukan nice”.

Sehingga demikian traffic “overseas” tidak akan salah identifikasi, sebelumnya pada penjelasan versi-2 traffic “overseas” bisa salah indentifikasi karena traffic “overseas” di definisikan sbb

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"

packet-mark=!indonesia artinya “packet-mark=bukan paket Indonesia”, padahal “bukan paket Indonesia” bisa saja paket lainnya yang telah didefinisikan sebelumnya sehingga dapat menimbulkan salah identifikasi.

Adapun teknik diatas telah di test pada router mikrotik yang menjalankan NAT , jika router mikrotik tidak menjalankan NAT coba rubah chain=prerouting menjadi chain=forward.

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.27 , untuk versi mikrotik sebelumnya kemungkinan ada perbedaan perintah.

Reference:

Selamat mencoba.



Pranala Menarik