Labels

Rabu, 15 Februari 2012

Cara Membatasi BW jika suatu traffic client melewati batas tertentu

add name="Isp" target-addresses=192.111.111.99/32 dst-address=0.0.0.0/0 \
    interface=all parent=none direction=both priority=8 \
    queue=default-small/share-ni-down limit-at=0/0 max-limit=32000/64000 \
    burst-limit=/128000 burst-threshold=/30000 burst-time=/10s \
    total-queue=default-small disabled=no

dan kita menginginkan membatasi bandwidth-nya jika trafficnya sudah melewati misalkan 500MB dalam satu hari, maka kita bisa membuat script dibawah ini:

add name="trafwatcher01" source="
/queue simple
:local traf;
:set traf [get [find name="Isp"] total-bytes]
:if ($traf  > 500000000) do = {
set [find name="Isp"] max-limit= 32000/32000
:log info "isp traffic exceeding 500MB"}
policy=ftp,reboot,read,write,policy,test,winbox,password

variabel traf fungsinya untuk menampung sementara nilai total traffic

buat scheduler untuk mengecek traffic script-nya, misalnya dibuat setiap 1/2 jam untuk mengeceknya.


Code:

add name="trafisp" on-event=trafwatcher01 start-date=jan/01/1970 \
    start-time=11:00:00 interval=30m comment="" disabled=no

nah itu untuk script untuk membatasinya, tinggal membuat script satu lagi jika sudah melewati satu hari (misal jam 12 malam), counternya mereset total traffic queue client tsb dan mereset bandwidthnya normal ke 64 kbps lagi.

GOODLUCK


mudahan ini bisa jadi gambaran :


/queue simple
:local traf;
:local maxi;
:set traf [get [find name="Isp"] total-bytes]
:set maxi [get [find name="Isp"] max-limit]
:if ($traf  < 10000000 && $maxi != "64000/96000") do = {
set [find name="Isp"] max-limit= "64000/96000"}
:if ($traf  > 10000000 && $maxi != "64000/64000") do = {
set [find name="Isp"] max-limit= "64000/64000"}
:if ($traf  > 100000000 && $maxi != "64000/32000") do = {
set [find name="Isp"] max-limit= "32000/32000"
/sys sched disa [find name="isp-trafwatcher"]}





Penjelasan:

Gue buat 2 tingkat bandwidth limiternya jadi dibawah 10MB masih sesuai limit awal, 10 - 100 MB turun jadi 64k, atas 100MB jadi 32k


biar script ngga ngulang ngulang terus di log-nya dibuat satu variabel lagi yaitu variabel maxi yang menampung setting bandwidthnya, kalo tidak sama dengan logika-nya maka que simple ga di set ulang.


di script terakhir ditambahin buat mendisable schedulernya biar scheduler ga jalan terus ( di disable).


nah biar enable lagi, perlu dibuat satu script lagi untuk men-clear counter trafficnya dan meng-enable lagi schedulernya,misalnya tiap jam 00:00


script buat enable lagi en autoclear counter. kasi nama script bebas, abis itu buat juga schedulenya


Code:



/ip fire filt reset-counters-all
/que tree reset-counters-all
/que sim reset-counters-all
/sys sched ena [find name="isp-trafwatcher"]

CARA MEMISAHKAN BW LOCAL DENGAN INTERNASIONAL

Selama mengelola Mikrotik Indonesia, banyak sekali muncul pertanyaan bagaimana cara melakukan pemisahan queue untuk trafik internet internasional dan trafik ke internet Indonesia (OpenIXP dan IIX). Di internet sebetulnya sudah ada beberapa website yang menampilkan cara pemisahan ini, tapi kami akan coba menampilkan kembali sesederhana mungkin supaya mudah diikuti.

Pada artikel ini, kami


mengasumsikan bahwa:

1. Router Mikrotik melakukan Masquerading / src-nat untuk client. Client menggunakan IP privat.
2. Gateway yang digunakan hanya satu, baik untuk trafik internasional maupun IIX.
3. Anda bisa menggunakan web-proxy internal ataupun tanpa web-proxy. Jika Anda menggunakan web-proxy, maka ada beberapa tambahan rule yang perlu dilakukan. Perhatikan bagian NAT dan MANGLE pada contoh di baw`h ini.

Jika ada parameter di atas yang berbeda dengan kondisi Anda di lapangan, maka konfigurasi yang ada di artikel ini harus Anda modifikasi sesuai dengan konfigurasi network Anda.
network diagram

Pengaturan Dasar

Berikut ini adalah diagram network dan asumsi IP Address yang akan digunakan dalam contoh ini.

Untuk mempermudah pemberian contoh, kami mengupdate nama masing-masing interface sesuai dengan tugasnya masing-masing.

[admin@MikroTik] > /interface pr

Flags: X - disabled, D - dynamic, R - running

# NAME TYPE RX-RATE TX-RATE MTU

0 R ether-public ether 0 0 1500

1 R ether-local ether 0 0 150

Untuk klien, akan menggunakan blok IP 192.168.0.0/24, dan IP Address 192.168.0.1 difungsikan sebagai gateway dan dipasang pada router, interface ether-local. Klien dapat menggunakan IP Address 192.168.0-2 hingga 192.168.0.254 dengan subnet mask 255.255.255.0.

[admin@MikroTik] > /ip ad pr

Flags: X - disabled, I - invalid, D - dynamic

# ADDRESS NETWORK BROADCAST INTERFACE

0 202.0.0.1/24 202.0.0.0 202.0.0.255 ether-public

1 192.168.0.1/24 192.168.0.0 192.168.0.255 ether-local

Jangan lupa melakukan konfigurasi DNS server pada router, dan mengaktifkan fitur "allow remote request".

Karena klien menggunakan IP private, maka kita harus melakukan fungsi src-nat seperti contoh berikut.

[admin@MikroTik] > /ip fi nat pr

Flags: X - disabled, I - invalid, D - dynamic

0 chain=srcnat out-interface=ether-public

action=masquerade

Jika Anda menggunakan web-proxy transparan, Anda perlu menambahkan rule nat redirect, seperti terlihat pada contoh di bawah ini (rule tambahan yang tercetak tebal).

[admin@MikroTik] > /ip fi nat pr

Flags: X - disabled, I - invalid, D - dynamic

0 chain=srcnat out-interface=ether-public

action=masquerade

1 chain=dstnat in-interface=ether-local protocol=tcp

dst-port=80 action=redirect to-ports=8080

Jangan lupa mengaktifkan fitur web-proxy, dan men-set port layanan web-proxynya, dan disesuaikan dengan port redirect pada contoh di atas.

CEK: Pastikan semua konfigurasi telah berfungsi baik. Lakukanlah ping (baik dari router maupun dari klien) ke luar network Anda secara bergantian.

Pengaturan IP Address List

Mulai Mikrotik RouterOS versi 2.9, dikenal dengan fitur yang disebut IP Address List. Fitur ini adalah pengelompokan IP Address tertentu dan setiap IP Address tersebut bisa kita namai. Kelompok ini bisa digunakan sebagai parameter dalam mangle, firewall filter, nat, ataupun queue.

Mikrotik Indonesia telah menyediakan daftar IP Address yang diadvertise di OpenIXP dan IIX, yang bisa didownload dengan bebas di URL: http://www.mikrotik.co.id/getfile.php?nf=nice.rsc

File nice.rsc ini dibuat secara otomatis di server Mikrotik Indonesia setiap pagi sekitar pk 05.30, dan merupakan data yang telah di optimasi untuk menghilangkan duplikat entry dan tumpang tindih subnet. Saat ini jumlah baris pada script tersebut berkisar 430 baris.

Contoh isi file nice.rsc :

# Script created by: Valens Riyadi @ www.mikrotik.co.id

# Generated at 26 April 2007 05:30:02 WIB ... 431 lines

/ip firewall address-list

add list=nice address="1.2.3.4"

rem [find list=nice]

add list=nice address="125.162.0.0/16"

add list=nice address="125.163.0.0/16"

add list=nice address="152.118.0.0/16"

add list=nice address="125.160.0.0/16"

add list=nice address="125.161.0.0/16"

add list=nice address="125.164.0.0/16"

.

.

dst...

Simpanlah file tersebut ke komputer Anda dengan nama nice.rsc, lalu lakukan FTP ke router Mikrotik, dan uploadlah file tersebut di router. Contoh di bawah ini adalah proses upload menggunakan MS-DOS prompt.

C:>dir nice.*

Volume in drive C has no label.

Volume Serial Number is 5418-6EEF



Directory of C:

04/26/2007 06:42p 17,523 nice.rsc

1 File(s) 17,523 bytes

0 Dir(s) 47,038,779,392 bytes free



C:>ftp 192.168.0.1

Connected to 192.168.0.1.

220 R&D FTP server (MikroTik 2.9.39) ready

User (192.168.0.1:(none)): admin

331 Password required for admin

Password: ********

230 User admin logged in



ftp> ascii

200 Type set to A

ftp> put nice.rsc



200 PORT command successful

150 Opening ASCII mode data connection for '/nice.rsc'

226 ASCII transfer complete

ftp: 17523 bytes sent in 0.00Seconds 17523000.00Kbytes/sec.



ftp> bye

221 Closing



C:>

Setelah file diupload, import-lah file tersebut.

[admin@MikroTik] > import nice.rsc



Opening script file nice.rsc

Script file loaded and executed successfully



Pastikan bahwa proses import telah berlangsung dengan sukses, dengan mengecek Address-List pada Menu IP - Firewall
address list nice

Proses upload ini dapat juga dilakukan secara otomatis jika Anda memiliki pengetahuan scripting. Misalnya Anda membuat shell script pada Linux untuk melakukan download secara otomatis dan mengupload file secara otomatis setiap pk 06.00 pagi. Kemudian Anda tinggal membuat scheduler pada router untuk melakukan import file.

Jika Anda menggunakan RouterOS versi 3.x, proses update juga dapat dilakukan secara otomatis.

Perintah yang perlu dibuat adalah :
/system sched add comment=”update-nice” disabled=no interval=1d name=”update-nice-rsc” on-event=”:if ([/file find name=nice.rsc] > 0) do={/file remove nice.rsc }; /tool fetch address=ixp.mikrotik.co.id src-path=/download/nice.rsc;/import nice.rsc” start-date=jan/01/1970 start-time=00:06:00

Pengaturan Mangle
Langkah selanjutnya adalah membuat mangle. Kita perlu membuat 1 buah connection mark dan 2 buah packet mark, masing-masing untuk trafik internasional dan lokal.

/ip firewall mangle add chain=prerouting in-interface=LAN dst-address-list=nice action=mark-connection new-connection-mark=IIX passthrough=yes

/ip firewall mangle add chain=prerouting connection-mark=IIX action=mark-packet new-packet-mark=IIX passthrough=no

/ip firewall mangle add chain=prerouting action=mark-packet new-packet-mark=IX passthrough=yes

/ip firewall mangle add chain=output connection-mark=IIX action=mark-packet new-packet-mark=IIX passthrough=no

/ip firewall mangle add chain=output action=mark-packet new-packet-mark=IX passthrough=no

Ket : IIX = international
IX = lokal

Untuk rule #0, pastikanlah bahwa Anda memilih interface yang mengarah ke client. Untuk chain, kita menggunakan prerouting, dan untuk kedua packet-mark, kita menggunakan passthrough=no.

Minggu, 15 Januari 2012

Cara Memisahkan Browse, Download, Upload, Dan Game

Settingan ini Berjalan Pada Mikrotik RB750 OS ver.4.5 Dan percobaan Ini dilakukan pada mikrotik PC dengan Mikrotik Versi V2.9.27

Siapkan Perangkat PC dan Instal Mikrotik V2.9.27
  • Lan Card 1 menuju ISP dalam settingan ini menggunakan Speedy "Jaringan Speedy"
  • Lan Card 2 Menuju Jaringan Local dengan nama "Jaringan Local"
  • Setting IP untuk Lan 1 (Baca Tutorial Instal Mikrotik)
  • setting IP untuk Lan 2 (disini IP : 192.168.0.0/24
Settingan Yang akan Dilakukan :
  • GAME Poin Blank
  • Game Poker
  • BROWSING
  • UPLOAD
  • LIMIT DOWNLOAD
  • QUEUE
Tahapan atau teknik setting seperti berikut :

  • Settingan Untuk GAME Poin Blank

contoh buat Point Blank, game lain sesuaikan aja port/ip nya

Untuk Perintah Dibawah buatkan Pada bagian IP-Firewall-Mangle

-------------------------------------------------------------------------------------------------
chain=game action=mark-connection new-connection-mark=Game passthrough=yes protocol=tcp dst-address=203.89.146.0/23 dst-port=39190 comment=”Point Blank”
-------------------------------------------------------------------------------------------------
chain=game action=mark-connection new-connection-mark=Game passthrough=yes protocol=udp dst-address=203.89.146.0/23 dst-port=40000-40010
-------------------------------------------------------------------------------------------------
chain=game action=mark-packet new-packet-mark=Game_pkt passthrough=no connection-mark=Game
-------------------------------------------------------------------------------------------------
chain=prerouting action=jump jump-target=game
-------------------------------------------------------------------------------------------------

  • Settingan Untuk GAME Poker

Untuk Perintah Dibawah buatkan Pada bagian IP-Firewall-Mangle

-------------------------------------------------------------------------------------------------
chain=forward action=mark-connection new-connection-mark=Poker_con passthrough=yes protocol=tcp dst-address-list=LOAD POKER comment=”POKER”

-------------------------------------------------------------------------------------------------
chain=forward action=mark-connection new-connection-mark=Poker_con passthrough=yes protocol=tcp content=statics.poker.static.zynga.com
-------------------------------------------------------------------------------------------------
chain=forward action=mark-packet new-packet-mark=Poker passthrough=no connection-mark=Poker_con
-------------------------------------------------------------------------------------------------

  • BROWSING
-------------------------------------------------------------------------------------------------
chain=forward action=mark-connection new-connection-mark=http passthrough=yes protocol=tcp in-interface=WAN out-interface=Lan packet-mark=!Game_pkt connection-mark=!Game connection-bytes=0-262146 comment=”BROWSE”
-------------------------------------------------------------------------------------------------
chain=forward action=mark-packet new-packet-mark=http_pkt passthrough=no protocol=tcp connection-mark=http
-------------------------------------------------------------------------------------------------
chain=forward action=mark-packet new-packet-mark=http_pkt passthrough=no protocol=tcp connection-mark=http
-------------------------------------------------------------------------------------------------

  • UPLOAD
-------------------------------------------------------------------------------------------------
chain=prerouting action=mark-packet new-packet-mark=Upload passthrough=no protocol=tcp src-address=192.168.0.0/24 in-interface=Lan packet-mark=!icmp_pkt comment=”UPLOAD”
-------------------------------------------------------------------------------------------------

  • LIMIT DOWNLOAD
-------------------------------------------------------------------------------------------------
chain=forward action=mark-connection new-connection-mark=Download passthrough=yes protocol=tcp in-interface=WAN out-interface=Lan packet-mark=!Game_pkt connection-mark=!Poker_con connection bytes=262146-4294967295 comment=”LIMIT DOWNLOAD”
-------------------------------------------------------------------------------------------------
chain=forward action=mark-packet new-packet-mark=Download_pkt passthrough=no packet-mark=!Game_pk> connection-mark=Download
-------------------------------------------------------------------------------------------------

  • QUEUE
Queue Type
-------------------------------------------------------------------------------------------------
name=”Download” kind=pcq pcq-rate=256000 pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000


name=”Http” kind=pcq pcq-rate=1M pcq-limit=50 pcq-classifier=dst-address pcq-total-limit=2000

name=”Game” kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=src-address,dst-address,src-port,dst-port pcq-total-limit=2000

name=”Upload” kind=pcq pcq-rate=0 pcq-limit=50 pcq-classifier=src-address pcq-total-limit=2000
-------------------------------------------------------------------------------------------------

Queue Tree
-------------------------------------------------------------------------------------------------
name=”Main Browse” parent=Lan limit-at=0 priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s

name=”Browse” parent=Main Browse packet-mark=http_pkt limit-at=0 queue=Http priority=8 max-limit=1M burst-limit=0 burst-threshold=0 burst-time=0s

name=”Game” parent=global-total packet-mark=Game_pkt limit-at=0 queue=Game priority=1 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

name=”Poker” parent=global-out packet-mark=Poker limit-at=0 queue=Game priority=3 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

name=”Download” parent=global-out packet-mark=Download_pkt limit-at=0 queue=Download priority=8 max-limit=256k burst-limit=0 burst-threshold=0 burst-time=0s

name=”Main Upload” parent=global-in limit-at=0 priority=8 max-limit=256k burst-limit=0 burst-threshold=0 burst-time=0s

name=”Upload” parent=Main Upload packet-mark=Upload limit-at=0 queue=Upload priority=8 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s

Senin, 02 Januari 2012

cara memisahkan bandwidth siang dan malam hari dengan mikrotik

Contoh kasus sederhana ,Anda memiliki 3 jenis pengguna:
- 256k/256k pada siang hari, 1M/1M di malam hari
- 512k/512k pada siang  hari, 2M/2M di sore hari
- 1M/1M pada siang hari, 4M/4M di malam hari
pertama yang kita lakukan adalah Pengaturan NTP Client dengan menggunakan perintah berikut :
/system ntp client
set enabled=yes mode=unicast primary-ntp=213.239.154.12 secondary-ntp=213.249.66.35

setelah itu instal queues  nya , dengan perintah :
/queue simple
 add comment="CAT1" direction=both disabled=no dst-address=192.168.4.15/32 \
 max-limit=256000/256000 name="George_CAT1" parent=none priority=8 \
 queue=default-small/default-small
 add comment="CAT1" direction=both disabled=no dst-address=192.168.4.16/32 \
 max-limit=256000/256000 name="Robinson_CAT1" parent=none priority=8 \
 queue=default-small/default-small
 add comment="CAT2" direction=both disabled=no dst-address=192.168.4.17/32 \
 max-limit=512000/512000 name="Crusoe_CAT2" parent=none priority=8 \
 queue=default-small/default-small
 add comment="CAT3" direction=both disabled=no dst-address=192.168.4.18/32 \
 max-limit=1024000/1024000 name="Momma_CAT3" parent=none priority=8 \
 queue=default-small/default-small

setelah itu barulah kita pisahkan limit bandwidth siang dan malam nya :
untuk “siang” limits:
/system scheduler
add comment="" disabled=no interval=1d name="Day" on-event="/queue simple\r\nset [find \
    comment=CAT1] max-limit=256000/256000\r\nset [find comment=CAT2] \
    max-limit=512000/512000\r\nset [find comment=CAT3] max-limit=1024000/1024000\r\n" \
    start-date=jan/01/1970 start-time=06:00:00

untuk “malam” limits:
/system scheduler
 add comment="" disabled=no interval=1d name="Night" on-event="/queue simple\r\nset [find \
 comment=CAT1] max-limit=1024000/1024000\r\nset [find comment=CAT2] \
 max-limit=2048000/2048000\r\nset [find comment=CAT3] max-limit=4096000/4096000\r\n" \
 start-date=jan/01/1970 start-time=18:00:00

Nah, dalam teks yang jelas, mereka terlihat seperti ini:
Siang:
/queue simple
set [find comment=CAT1] max-limit=256000/256000
set [find comment=CAT2] max-limit=512000/512000
set [find comment=CAT3] max-limit=1024000/1024000
Malam:
/queue simple
set [find comment=CAT1] max-limit=1024000/1024000
set [find comment=CAT2] max-limit=2048000/2048000
set [find comment=CAT3] max-limit=4096000/4096000
Setiap script diletakkan untuk berjalan pada interval 1 hari, “Siang” Script dimulai pukul 06.00, “Malam” Script dimulai pukul 18.00.

Cara Pengamanan Mikrotik dari Scan Winbox dan Neighbour

Kadang kala para ISP atau penyedia jasa layanan tidak terlalu jeli untuk melindungi customernya. Terutama ketika melindungi router pelanggan yang menggunakan Mikrotik RouterOS(tm). Dengan menjalankan IP >> Neighbor kita bisa melihat router mikrotik lainnya yang secara fisik terhubung dengan router kita melalui jaringan di provider kita.
Untuk itu kita bisa melindunginya dengan berbagai cara misalnya memblok scan dari winbox dan neighbor kita. Berikut adalah cara yang paling mudah :
Code:
admin@mikrotik] interface bridge> filter print
Flags: X - disabled, I - invalid, D - dynamic
0 ;;; block discovery mikrotik
chain=forward in-interface=ether1 mac-protocol=ip dst-port=5678
ip-protocol=udp action=drop
1 ;;; block discovery mikrotik
chain=input in-interface=ether1 mac-protocol=ip dst-port=5678
ip-protocol=udp action=drop
2 ;;; block discovery mikrotik
chain=output mac-protocol=ip dst-port=5678 ip-protocol=udp action=drop
3 ;;; block discovery mikrotik
chain=input in-interface=ether1 mac-protocol=ip dst-port=8291
ip-protocol=tcp action=drop
4 ;;; block winbox mikrotik
chain=forward in-interface=ether1 mac-protocol=ip dst-port=8291
ip-protocol=tcp action=drop
5 ;;; block request DHCP
chain=input mac-protocol=ip dst-port=68 ip-protocol=udp action=drop
6 ;;; block request DHCP
chain=forward mac-protocol=ip dst-port=68 ip-protocol=udp action=drop
7 ;;; block request DHCP
chain=output mac-protocol=ip dst-port=68 ip-protocol=udp action=drop
Dengan perintah tersebut kita bisa menutup beberapa scan terutama yang menggunakan winbox dan ip neighbor. Port diatas adalah bagian dari share Mikrotik RouterOS yang memang di perlukan untuk monitoring.

Sumber:
http://tutorial.multisolusi.com


Untuk bisa router mencatat semua IP para scanner dan kemudian dimasukkan kedalam daftar IP Address dan dinamakan dalam group "port scanner", berikut rule pada firewall-nya :
Code:
add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list="port scanners"
address-list-timeout=2w comment=”Port scanners to list ” disabled=no
Untuk menindaklajuti rule diatas, berikut rule utk mendropkannya :
Code:
add chain=input src-address-list="port scanners" action=drop comment="dropping port scanners" disabled=no
Otomatis Mikrotik akan memainkan rule tsb.

Tambahan rule sebelum menggunakan aturan 2 :
Code:
add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
action=add-src-to-address-list address-list=”port scanners”
address-list-timeout=2w comment=”NMAP FIN Stealth scan”

add chain=input protocol=tcp tcp-flags=fin,syn
action=add-src-to-address-list address-list=”port scanners”
address-list-timeout=2w comment=”SYN/FIN scan”

add chain=input protocol=tcp tcp-flags=syn,rst
action=add-src-to-address-list address-list=”port scanners”
address-list-timeout=2w comment=”SYN/RST scan”

add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
action=add-src-to-address-list address-list=”port scanners”
address-list-timeout=2w comment=”FIN/PSH/URG scan”

add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
action=add-src-to-address-list address-list=”port scanners”
address-list-timeout=2w comment=”ALL/ALL scan”

add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
action=add-src-to-address-list address-list=”port scanners”
address-list-timeout=2w comment=”NMAP NULL scan”