Memanipulasi ToS ICMP & DNS di MikroTik

Memanipulasi ToS ICMP & DNS di MikroTik

Tujuan :

  • Memperkecil delay ping dari sisi klien ke arah Internet.
  • Mempercepat resolving hostname ke ip address.

Asumsi : Klien-klien berada pada subnet 10.10.10.0/28

  1. Memanipulasi Type of Service untuk ICMP Packet :
    >
    ip firewall mangle add chain=prerouting src-address=10.10.10.0/28 protocol=icmp action=mark-connection new-connection-mark=ICMP-CM passthrough=yes
    >
    ip firewall mangle add chain=prerouting connection-mark=ICMP-CM action=mark-packet new-packet-mark=ICMP-PM passthrough=yes
    >
    ip firewall mangle add chain=prerouting packet-mark=ICMP-PM action=change-tos new-tos=min-delay
  2. Memanipulasi Type of Service untuk DNS Resolving :
    >
    ip firewall mangle add chain=prerouting src-address=10.10.10.0/28 protocol=tcp dst-port=53 action=mark-connection new-connection-mark=DNS-CM passthrough=yes
    >
    ip firewall mangle add chain=prerouting src-address=10.10.10.0/28 protocol=udp dst-port=53 action=mark-connection new-connection-mark=DNS-CM passthrough=yes
    >
    ip firewall mangle add chain=prerouting connection-mark=DNS-CM action=mark-packet new-packet-mark=DNS-PM passthrough=yes
    >
    ip firewall mangle add chain=prerouting packet-mark=DNS-PM action=change-tos new-tos=min-delay
  3. Menambahkan Queue Type :
    >
    queue type add name=”PFIFO-64″ kind=pfifo pfifo-limit=64
  4. Mengalokasikan Bandwidth untuk ICMP Packet :
    >
    queue tree add name=ICMP parent=INTERNET packet-mark=ICMP-PM priority=1 limit-at=8000 max-limit=16000 queue=PFIFO-64
  5. Mengalokasikan Bandwidth untuk DNS Resolving :
    >
    queue tree add name=DNS parent=INTERNET packet-mark=DNS-PM priority=1 limit-at=8000 max-limit=16000 queue=PFIFO-64
  6. Good Luck!!

Queue Tree with more than two interfaces

Basic Setup

This page will tak about how to make QUEUE TREE in RouterOS that with Masquerading for more than two interfaces. It’s for sharing internet connection among users on each interfacess. In manual this possibility isn’t writted.

First, let’s set the basic setting first. I’m using a machine with 3 or more network interfaces:

[admin@instaler] > in pr

# NAME TYPE RX-RATE TX-RATE MTU

0 R public ether 0 0 1500

1 R wifi1 wlan 0 0 1500

2 R wifi2 wlan 0 0 1500

3 R wifi3 wlan 0 0 1500

And this is the IP Addresses for each interface:

[admin@instaler] > ip ad pr

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

# ADDRESS NETWORK BROADCAST INTERFACE

0 10.20.1.0/24 10.20.1.0 10.20.1.255 public

1 10.10.2.0/24 10.10.2.0 10.10.2.255 wifi1

2 10.10.3.0/24 10.10.3.0 10.10.3.255 wifi2

3 10.10.4.0/24 10.10.4.0 10.10.4.255 wifi3

On the public you can add NAT or proxy if you want.

Mangle Setup

And now is the most important part in this case.

We need to mark our users. One connectoin for upload and second for download. In this example I add mangle for one user. At the end I add mangle for local transmission because I don’t QoS local trafic emong users. But for user I need to separate upload and download.

[admin@instaler] ip firewall mangle> print

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

disabled=no

0 chain=forward dst-address=10.10.2.36 action=mark-connection

new-connection-mark=users-userU passthrough=yes comment=”” disabled=no

1 chain=forward dst-address=10.10.2.36 action=mark-connection

new-connection-mark=users-userD passthrough=yes comment=”” disabled=no

2 chain=forward connection-mark=users-userU action=mark-packet

new-packet-mark=userU passthrough=yes comment=”” disabled=no

3 chain=forward connection-mark=users-userD action=mark-packet

new-packet-mark=userD passthrough=yes comment=”” disabled=no

98 chain=forward src-address=10.10.0.0/16 dst-address=10.10.0.0/16

action=mark-connection new-connection-mark=users-lokal passthrough=yes

99 chain=forward connection-mark=users-lokal action=mark-packet

new-packet-mark=lokalTrafic passthrough=yes

Queue Tree Setup

And now, the queue tree setting. We need one rule for downlink and one rule for uplink. Be careful when choosing the parent. for downlink traffic, we use parent “global-out”, because we have two or more downloading interfaces. And for uplink, we are using parent “public”, we want QoS uplink traffic. (I’m using pcq-up and download from manual) This example is for 2Mb/1Mb

[admin@instaler] > queue tree pr

Flags: X - disabled, I - invalid

0 name=”Download” parent=global-out packet-mark=”” limit-at=0

queue=pcq-download priority=1 max-limit=2000000 burst-limit=0

burst-threshold=0 burst-time=0s

1 name=”Upload” parent=WGW packet-mark=”” limit-at=0 queue=pcq-upload

priority=1 max-limit=1000000 burst-limit=0 burst-threshold=0

burst-time=0s

Now we add our user:

2 name=”user10D” parent=Download packet-mark=userD limit-at=0

queue=pcq-download priority=5 max-limit=0 burst-limit=0

burst-threshold=0 burst-time=0s

3 name=”user10U” parent=Upload packet-mark=userU limit-at=0

queue=pcq-upload priority=5 max-limit=0 burst-limit=0 burst-threshold=0

burst-time=0s

Read More..

bagi bandwith merata dengan mikrotik

Dengan menggunakan queue type pcq di Mikrotik, kita bisa membagi bandwidth yang ada secara merata untuk para pelahap-bandwidth™ saat jaringan pada posisi peak.

Contohnya, kita berlangganan 256 Kbps. Kalau ada yang sedang berinternet ria, maka beliau dapat semua itu jatah bandwidth. Tetapi begitu teman-temannya datang, katakanlah 9 orang lagi, maka masing-masingnya dapat sekitar 256/10 Kbps. Yah.. masih cukup layaklah untuk buka-buka situs non-porn atau sekedar cek e-mail & blog .

OK, langsung saja ke caranya :

  1. Asumsi : Network Address 192.168.169.0/28, interface yang mengarah ke pengguna diberi nama LAN, dan interface yang mengarah ke upstream provider diberi nama INTERNET;
  2. Ketikkan di console atau terminal :
    >
    /ip firewall mangle add chain=forward src-address=192.168.169.0/28 action=mark-connection new-connection-mark=NET1-CM
    >
    /ip firewall mangle add connection-mark=NET1-CM action=mark-packet new-packet-mark=NET1-PM chain=forward
    >
    /queue type add name=downsteam-pcq kind=pcq pcq-classifier=dst-address
    >
    /queue type add name=upstream-pcq kind=pcq pcq-classifier=src-address
    >
    /queue tree add parent=LAN queue=DOWNSTREAM packet-mark=NET1-PM
    >
    /queue tree add parent=INTERNET queue=UPSTREAM packet-mark=NET1-PM
  3. Good Luck!!

Read More..

load balancing

Kondisi : ISP dimana kita bekerja sebagai Administrator menggunakan lebih dari satu gateway untuk terhubung ke Internet. Semuanya harus dapat melayani layanan upstream & downstream. Karena akan beda kasusnya apabila salah satunya hanya dapat melayani downstream, contohnya jika menggunakan VSAT DVB One-way.
Untuk kasus ini dimisalkan ISP memiliki 2 jalur ke Internet. Satu menggunakan akses DSL (256 Kbps) dan lainnya menggunakan Wireless (512 Kbps). Dengan rasio pemakaian DSL:Wireless = 1:2 .

Yang akan dilakukan :

  1. Menggunakan semua jalur gateway yang tersedia dengan teknik load-balancing.
  2. Menjadikan salah satunya sebagai back-up dengan teknik fail-over.

OK, mari saja kita mulai eksperimennya :

  1. IP address untuk akses ke LAN :
    >
    /ip address add address=192.168.0.1/28 interface=LAN
    IP address untuk akses ke jalur DSL :
    >
    /ip address add address=10.32.57.253/29 interface=DSL
    IP address untuk akses ke jalur Wireless :
    >
    /ip address add address=10.9.8.2/29 interface=WIRELESS
    Tentukan gateway dengan rasionya masing-masing :
    >
    /ip route add gateway=10.32.57.254,10.9.8.1,10.9.8.1
  2. Pada kasus untuk teknik fail-over. Diasumsikan jalur utama melalui Wireless dengan jalur DSL sebagai back-up apabila jalur utama tidak dapat dilalui. Untuk mengecek apakah jalur utama dapat dilalui atau tidak, digunakan command ping.
    >
    /ip firewall mangle add chain=prerouting src-address=192.168.0.0/28 action=mark-routing new-routing-mark=SUBNET1-RM
    >
    /ip route add gateway=10.9.8.1 routing-mark=SUBNET1-RM check-gateway=ping
    >
    /ip route add gateway=10.32.57.254
  3. Good Luck!!

Read More..

bagi bandwith berdasarkan waktu

There are lot many ways to limit bandwidth for day and Night, but personally I found this is the easiest way, Here it is.

I have used Simple Queue, Script and Scheduler.

Suppose we have one network 192.168.1.0/24 and want to limit Bandwidth for day and Night Time.

Network 192.168.1.0/24
Bandwidth = 06:00am – 18:00pm – 1Mbps.
Bandwidth = 18:00pm – 06:00am – 2Mbps.

Create two simple queues for the same network with different Bandwidth Limit.

/queue simple
#name=”Day” target-addresses=192.168.1.0/24 dst-address=0.0.0.0/0
interface= parent=none direction=both priority=8
queue=default-small/default-small limit-at=512k/512k
max-limit=1M/1M total-queue=default-small

#name=”Night” target-addresses=192.168.1.0/24 dst-address=0.0.0.0/0
interface= parent=none direction=both priority=8
queue=default-small/default-small limit-at=1M/1M
max-limit=2M/2M total-queue=default-small

Now, write scripts

/system script
#name=”Day” source=/queue simple enable Day; /queue simple disable Night

#name=”Night” source=/queue simple enable Night; /queue simple disable Day

Finally, Schedule it

/system scheduler
#name=”Day” on-event=Day start-date=oct/13/2007 start-time=06:00:00 interval=1d

#name=”Night” on-event=Night start-date=oct/13/2007 start-time=18:00:00 interval=1d

Read More..

surga atau neraka, bill??

Bill Gates meninggal dunia dalam sebuah
kecelakaan, dan ia mendapatkan
dirinya berada di sebuah tempat penyucian dosa.

Tuhan berada di sana dan berkata, “Baiklah,
Bill..saya bingung dengan
panggilan ini. Saya tidak begitu yakin, apakah
saya harus mengirimkan
kamu ke neraka atau ke surga…”

“Karena saya lihat, kamu sudah membantu
masyarakat dengan meletakkan
komputer di setiap rumah di hampir di seluruh
dunia dan menciptakan
Windows 95
yang sangat menakjubkan itu. Akan saya
perbuat sesuatu yang belum
pernah saya lakukan sebelumnya. Khusus untuk
kasus ini, saya akan
memberikan kebebasan kepadamu untuk
memutuskan dimana kamu ingin
tinggal…”

Bill menjawab, “Baik, terima kasih Tuhan. Tapi apa
bedanya antara surga
dan neraka itu?”

Tuhan berkata, “Saya mengijinkan kamu untuk
mengunjungi keduanya dahulu
supaya kamu lebih mudah untuk mengambil
keputusan kelak.”

“Oke. Kalau begitu, saya ingin melihat neraka
terlebih dahulu.” Kemudian
Bill pergi ke neraka. Ternyata ia melihat bahwa
neraka merupakan tempat
yang sangat indah, bersih dengan pantai pasir
putihnya disertai air yang
bening.

Dan terdapat ribuan wanita cantik yang berlarian,
berenang, bermain
air, tertawa riang gembira. Matahari pun bersinar
cerah dengan suasana
yang sejuk dan nyaman, sempurna sekali…

Bill tampak sangat senang. “Wow, luar biasa!!!
Indah sekali di sana!!”

katanya kepada Tuhan, “Kalau neraka saja seperti
itu, saya ingin sekali
melihat surga!!” “Baik,” kata Tuhan.

Segera mereka pergi ke surga untuk melihat
suasana di sana. Bill melihat
surga yang berada di tempat tinggi dengan diliputi
awan-awan.

Berlaksa-laksa malaikat sedang bermain harpa
dan bernyanyi. Dia merasa
damai melihat suasana di surga tapi dia tidak
tampak bergairah seperti
ketika melihat neraka. Bill berpikir sejenak, dan
akhirnya mengambil
keputusan.

“Hmm, saya pikir… saya akan betah tinggal di
neraka, Tuhan.”

“Baiklah, kalau begitu,” jawab Tuhan. “Sesuai
dengan keinginanmu…”

Kemudian Bill Gates pergi dan tinggal di neraka.
Dua minggu kemudian,
Tuhan ingin melihat keadaan Bill Gates ini untuk
memastikan keadaannya
baik-baik saja dan apa yang sedang dilakukan.

Ketika Tuhan sampai di neraka, Ia menemukan Bill
sedang berada di lorong
yang gelap dan berteriak di tengah api yang
menyala-nyala. Ia merasa
terbakar dan tersiksa. “Bagaimana keadaanmu,
Bill?” Tuhan bertanya.

Bill kemudian menjawab dengan suara yang berat,
penuh penderitaan dan
tak berpengharapan. “Sangat mengerikan, Tuhan.
Ini tidak sama seperti
apa yang saya lihat kemarin. Dimana pantai
berpasir putih, wanita-wanita
cantik yang dulu ada di sini itu? Apa yang terjadi,
Tuhan??”

Tuhan berkata, “Oh Itu kan hanya screen saver
Bill, masa ga tau…!!”

Read More..