Anda di halaman 1dari 150

MIKROTIK ADVANCED TRAINING

TRAFFIC CONTROL
PRESENTED BY ROFIQ FAUZI

ID-Networkers
2

TRAFFIC CONTROL OUTLINE


DNS Web Proxy Firewall filter/nat/mangle
o DNS Cache / Server o Proxy rule lists o Connection tracking
o Static DNS FIltering o Access list o Firewall Filter
o Direct Access list o Firewall NAT
DHCP o Cache list o Firewall Mangle
o DHCP Server o Regular expression
o DHCP Client
o DHCP Relay Quality of Service
o HTB
o Queue simple and tree
o Burst

ID-NETWORKERS | www.training-mikrotik.com
3

DOMAIN NAME SYSTEM

ID-NETWORKERS | www.training-mikrotik.com
4

Domain Name System


• DNS (Domain Name System) digunakan untuk
translate dari nama domain ke IP address.
• Karena alamat yang kita hubungi di internet itu adalah
IP address.
• Kita lebih mudah mengingat domain detik.com
daripada mengingat Ipnya detik.com.
• DNS ini buku telephon, dimana kita lebih mudah
mengingat nama orangnya daripada nomer telponnya

www.trainingmikrotik.com
Host Subdomain Top-Level Domain
ID-NETWORKERS | www.training-mikrotik.com
5

Domain Name System

• DNS di router digunakan router untuk fitur


web-proxy, DHCP server dan hotspot.
• Enable “Allow Remote Requests” agar
router dapat menjadi DNS cache.
• DNS cache menjadikan router seolah-oleh
menjadi DNS server, sebagai caches –
sehingga akan meminimalis proses resolve
domain dari client agar tidak perlu ke DNS
server yang lebih jauh
ID-NETWORKERS | www.training-mikrotik.com
6

LAB - DNS Configuration

ID-NETWORKERS | www.training-mikrotik.com
7

Static DNS
• DNS Cache dapat berfungsi sebagai simple
DNS server.
• Dengan membuat static DNS seting, router akan
menambahkan parameter "A" dan "PTR".
 "A" - Address Mapping Domain to IP Address
 "PTR" - To map the Reverse DNS
• Static DNS akan menimpa / override dynamic
entries yang ada pada DNS cache

ID-NETWORKERS | www.training-mikrotik.com
8

Transparent Static DNS


• Misalkan kita ingin memanipulasi domain situs porno ke IP
address yang web server content warning.
• Atau kita bisa juga membuat domain lokal sendiri
menggunakan IP server yang ada di LAN
• Caranya adalah sebagai berikut:
• Setting router agar menjadi DNS cache/server dengan
cara check allow remote request di menu IP DNS
• Setidak-tidaknya ada 1 primary DNS
• Tambahkan static DNS yang ingin kita manipulasi
• Buat dst-nat rule agar semua traffic DNS request dari
client/LAN yang melewati router agar dibelokkan ke
router sendiri (transparent DNS)

ID-NETWORKERS | www.training-mikrotik.com
9

LAB- Static DNS


• Walaupun client menggunakan setting DNS server yang ada di luar
(internet) tetap akan dipaksa memakai DNS router yang telah
dimanipulasi
IDN

Dns request 53
Udp 53
Redirect to the router

ID-NETWORKERS | www.training-mikrotik.com
10

LAB - DNS Static

IP of your web server

ID-NETWORKERS | www.training-mikrotik.com
11

LAB - DNS Static


In IP firewall NAT, make rule to make transparent DNS

ID-NETWORKERS | www.training-mikrotik.com
12

LAB - DNS Static


Check DNS cache in IP>DNS>cache

ID-NETWORKERS | www.training-mikrotik.com
13

DHCP
Dynamic Host Configuration Protocol

ID-NETWORKERS | www.training-mikrotik.com
14

DHCP
• DHCP (Dynamic Host Configuration Protocol)
digunakan untuk mendistribusikan network
setting, yaitu:
• IP address dan netmask
• Default gateway address
• DNS, NTP server address
• Dan lebih dari 100 option lainya (yang dapat
disupport oleh DHCP client tertentu)
• DHCP sebenarnya merupaka system yang tidak
aman, maka dari itu hanya cocok diterapkan di
network lokal kita.
ID-NETWORKERS | www.training-mikrotik.com
15

DHCP Communication Step


• DHCP Discovery
src-mac=<client>, dst-mac=<broadcast>, protocol=udp,
src-ip=0.0.0.0:68, dst-ip=255.255.255.255:67
• DHCP Offer
src-mac=<DHCP-server>, dst-mac=<broadcast>, protocol=udp,
src-ip=<DHCP-Server>:67, dst-ip=255.255.255.255:67
• DHCP Request
src-mac=<client>, dst-mac=<broadcast>, protocol=udp,
src-ip=0.0.0.0:68, dst-ip=255.255.255.255:67
• DHCP Acknowledgement
src-mac=<DHCP-server>, dst-mac=<broadcast>, protocol=udp,
src-ip=<DHCP-Server>:67, dst-ip=255.255.255.255:67

ID-NETWORKERS | www.training-mikrotik.com
16

DHCP Server
• DHCP server dapat dijalankan pada setiap interface pada router,
bahkan pada beberapa jenis virtual interface.
• Satu interface hanya dapat menajalankan1 DHCP server.
• Untuk mempermudah setting DHCP server, pertama tambahkan ip
address pada interface yang akan dijadikan DHC server.
• Setting DHCP server ada pada menu IP> DHCP Server> DHCP
Setup, ikuti step-stepnya

ID-NETWORKERS | www.training-mikrotik.com
17

LAB DHCP Server Client


IDN

• Satu peserta manjadi DHCP server, satunya lagi menjadi client


• Aktifkan logging untuk DHCP
System>logging>add topic=dhcp action=memory

ID-NETWORKERS | www.training-mikrotik.com
18

DHCP Client Communication Step

ID-NETWORKERS | www.training-mikrotik.com
19

DHCP Server Communication Step

ID-NETWORKERS | www.training-mikrotik.com
20

DHCP Client Identification


• DHCP Server dapat membedakan client
berdasarkan proses identifikasi.
• Identifikasi dilakukan berdasarkan:
­ “caller-id” option dhcp-client-identifier pada
RFC2132)
­ Mac-Address, apabila “caller-id” tidak ada
• “hostname” memungkinkan client DHCP yang
menggunakan RouterOS mengirimkan
tambahan informasi identifikasi ke server,
secara bawaan menggunakan “system identity”.

ID-NETWORKERS | www.training-mikrotik.com
21

LAB - DHCP
Set DHCP client, in IP>DHCP>Client

Jika Client ID tidak di set mikrotik menggunakan parameter::


Hostname = system identity
Client ID = Interface Mac address

ID-NETWORKERS | www.training-mikrotik.com
22

DHCP Client Identification


• Hanya boleh ada satu DHCP server per
kombinasi interface/relay pada router.
• Untuk membuat DHCP Server, kita harus
memiliki :
1. IP Address pada interface fisik DHCP
2. Address pool untuk client
3. Informasi jaringan lainnya
• Ketiga informasi di atas harus sesuai satu
sama lain.
• “Lease on disk” adalah opsi untuk menuliskan
data Lease DHCP ke harddisk.
ID-NETWORKERS | www.training-mikrotik.com
23

DHCP Options
• Pada menu DHCP Networks, kita dapat
melakukan konfigurasi DHCP Options tertentu
untuk network tertentu
• Beberapa option sudah terintegrasi dengan
RouterOS, dan Option lainnya dapat dilakukan
custom dalam format raw
• http://www.iana.org/assignments/bootp-dhcp-
parameters
• DHCP Server dapat memberikan option apapun
• DHCP Client hanya dapat menerima option yang
dikenali
ID-NETWORKERS | www.training-mikrotik.com
24

DHCP Options
• DHCP Options yang bisa dilakukan:
̶ Subnet-Mask (option 1) - netmask
̶ Router (option 3) - gateway
̶ Domain-Server (option 6) - dns-server
̶ NTP-Servers (option 42) - ntp-server
̶ NETBIOS-Name-Server (option 44) - wins-server
• Custom DHCP options (Example:)
Classless Static Route (C) - “0x100A270A260101” =
“network=10.39.0.0/16 gateway=10.38.1.1”

ID-NETWORKERS | www.training-mikrotik.com
25

DHCP Options
Raw Format of 10.39.0.0/16 and 10.38.1.1:
• 0x | 10 | 0A27 | 0A260101 |
• 0x – Hex Number
• 10 – Subnet/Prefix = 16
• 0A27 – Network = 10.39.0.0
• 0A260101 – Gateway = 10.38.1.1

To convert decimal to hex you can using calculator or online converter


like http://www.binaryhexconverter.com/decimal-to-hex-converter

ID-NETWORKERS | www.training-mikrotik.com
26

LAB DHCP Server Option


IDN

Static route

• Dengan DHCP option, berikan static route ke client sebagai berikut


network=10.39.0.0/16 gateway=10.38.1.1
• Buat DHCP option pada menu
IP>DHCP option>add name=additional-route code=121 value= 0x100A270A260101

ID-NETWORKERS | www.training-mikrotik.com
27

LAB - DHCP Options

Create DHCP option, and assign to DHCP


network

ID-NETWORKERS | www.training-mikrotik.com
28

DHCP Options
• IP address pool digunakan untuk menentukan rentang IP
Address yang akan didistribusikan secara dinamik (DHCP,
PPP, Hotspot)
• IP address harus selain yang digunakan untuk keperluan
khusus (misalnya: server, static IP client)
• Dimungkinkan untuk :
­ Membuat beberapa rentang untuk satu pool
­ Menentukan pool berikut dengan “next pool”
• By default IP address yang diberikan ke client dimulai dari IP
yang paling besar.
• Jika ternyata ip yang didapatkan adalah ip yang tekecil maka
biasanya ada DHCP option di client yang aktif yang meminta
ip terkecil

ID-NETWORKERS | www.training-mikrotik.com
29

IP Pool

ID-NETWORKERS | www.training-mikrotik.com
30

DHCP Server Settings

ID-NETWORKERS | www.training-mikrotik.com
31

DHCP Server Settings


• Relay – jika ingin menggunakan DHCP relay
• Src.address – menentukan IP Address DHCP server
apabila terdapat lebih dari 1 IP Address pada interface
DHCP server
• Leases Time – waktu yang digunakan client untuk
menggunakan IP leasesnya
• Add ARP For Leases – memperbolehkan
menambahkan data entri ARP dari lease DHCP jika
interface ARP=reply-only
• Always Broadcast – mengijinkan komunikasi dengan
client yang tidak standart, misalnya pseudo-bridges

ID-NETWORKERS | www.training-mikrotik.com
32

DHCP Server Settings


• Delay Threshold – memberikan prioritas DHCP server
yang satu dari yang lainnya (makin besar delay, prioritas
makin rendah)
• Use- Radius – menggunakan RADIUS server untuk
dynamic leases

ID-NETWORKERS | www.training-mikrotik.com
33

DHCP Server Authoritative


• Authoritative option untuk mengubah cara bagaimana
server menanggapi DHCP request dari client.
• Memungkinkan DHCP server menanggapi broadcast
client yang tidak dikenali dan meminta client untuk me-
restart DHCP lease (client akan mengirimkan sequence
broadcast hanya apabila gagal melakukan pembaruan
lease)
• Digunakan untuk:
­ Menanggulangi apabila ada DHCP server
“tandingan” di dalam network
­ Melakukan perubahan konfigurasi jaringan DHCP
dengan lebih cepat
­ Set Authoritative=yes untuk mencegah DHCP rouge
ID-NETWORKERS | www.training-mikrotik.com
34

DHCP Server Authoritative

ID-NETWORKERS | www.training-mikrotik.com
35

LAB DHCP Server Authoritative


IDN

R1

Authoritative=yes

R2

• Bridge LAN interface ( interface yang ke laptop) dengan interface yang menuju
router lain
• Jalankan DHCP server pada interface bridge di R1 dan R2
• R1 sebagai DHCP server asli, R2 sebagai DHCP fake/rogue
• Set Authoritative=yes pada R1 (DHCP asli)

ID-NETWORKERS | www.training-mikrotik.com
36

LAB - DHCP Server Alert


• DHCP-Alerts – memungkinkan DHCP server
untuk mendeteksi adanya DHCP Server
Tandingan (Rogue) yang ada di jaringan yang
sama.
• Valid-Server – Mendaftarkan mac-address dari
DHCP server yang valid.
• On-Alert – memungkinkan untuk menjalankan
script tertentu jika terjadi adanya DHCP-Server
tandingan.

ID-NETWORKERS | www.training-mikrotik.com
37

LAB - DHCP Server Alert


• DHCP-Alerts to detect another DHCP active in the same network

DHCP Alert!

ID-NETWORKERS | www.training-mikrotik.com
38

LAB DHCP Server Authoritative


IDN

Authoritative=yes
DHCP Alert!

• Add DHCP Alert in interface bridge, valid server is a mac-address of the bridge

ID-NETWORKERS | www.training-mikrotik.com
39

LAB - DHCP Server Alert

Interface = Interface dimana DHCP rogue


Valid server = List dari MAC addresses DHCP server yang valid
Alert time out = Time, after which alert will be forgotten

ID-NETWORKERS | www.training-mikrotik.com
40

DHCP Server Delay Threshold


• Delay Threshold – memprioritaskan DHCP server dari
DHCP server lain (lebih kecil lebih prioritas)

ID-NETWORKERS | www.training-mikrotik.com
41

LAB - DHCP Server Delay Threshold


• Berikan delay treshold yang lebih besar untuk DHCP
server backup

ID-NETWORKERS | www.training-mikrotik.com
42

DHCP Relay
• DHCP Relay bekerja seperti halnya Web-Proxy,
dapat menerima DHCP discovery dan request,
dan meneruskannya ke DHCP server
• Hanya bisa ada 1 DHCP relay antara DHCP
server dan DHCP client
• Konfigurasi “local address” pada DHCP relay
harus sama dengan “relay address” pada DHCP
server.

ID-NETWORKERS | www.training-mikrotik.com
43

LAB - DHCP Relay


Make one of router become DHCP server, another become DHCP Relay

Ether1 Ether1
192.168.1.1/24 192.168.1.2/24

Ether2
192.168.22.1/24

ID-NETWORKERS | www.training-mikrotik.com
44

LAB - DHCP Relay


Configures DHCP Server, and DHCP Server Network

Network and Relay’s local address

ID-NETWORKERS | www.training-mikrotik.com
45

LAB - DHCP Relay


Configures DHCP Relay

Interface LAN

IP address of interface LAN

• Set agar laptop sebagai DHCP client (dynamic IP address)


• Amati sampai laptop dapat IP address

ID-NETWORKERS | www.training-mikrotik.com
46

PROXY
MikroTik HTTP Proxy

ID-NETWORKERS | www.training-mikrotik.com
47

Web Proxy
• Web-proxy memiliki 3 fitur dasar:
– HTTP dan FTP traffic caching
– DNS name filtering
– DNS redirection
• Web-proxy mempunyai 2 mode kerja
– Regular – browser di sisi client harus diconfigure
manual untuk menggunakan proxy
– Transparent – client tidak perlu setting proxy
otomatis, client akan dipaksa menggunakan
proxy dengan NAT rules

ID-NETWORKERS | www.training-mikrotik.com
48

Web Proxy
• Without Proxy

• With Proxy

ID-NETWORKERS | www.training-mikrotik.com
49

Web Proxy Feature


• Regular HTTP proxy
• Transparent proxy
Dapat berfungsi juga sebagai transparan dan sekaligus normal pada
saat yang bersamaan
• Access list
Berdasarkan source, destination, URL dan requested method
• Cache Access list
Menentukan objek mana yang disimpan pada cache
• Direct Access List
Mengatur koneksi mana yang diakses secara langsung dan yang
melalui proxy server lainnya
• Logging facility
Logging url access / connection from the client
ID-NETWORKERS | www.training-mikrotik.com
50

LAB - Web Proxy


• Topology

IDN

ID-NETWORKERS | www.training-mikrotik.com
51

LAB - Web Proxy


• Enable Web Proxy in menu IP>Web Proxy

ID-NETWORKERS | www.training-mikrotik.com
52

LAB – Transparent Web Proxy


• Buat konfigurasi untuk transparent proxy, memaksa
semua traffic http port 80 dari client redirect ke port 8080
pada router
• Configuration in menu IP>Firewall>NAT
/ip firewall nat
add chain=dstnat protocol=tcp
dst-port=80 in-interface=etherLAN action=redirect to-ports=8080

ID-NETWORKERS | www.training-mikrotik.com
53

LAB - Web Proxy


Check your proxy setting by access web that can detect the proxy connection, open url
www.indonesiacyber.net

Check on your router at IP>Web Proxy> Connections menu

ID-NETWORKERS | www.training-mikrotik.com
54

Web Proxy Feature - Access


• Menentukan mana yang boleh melakukan akses
dan mana yang tidak, berdasarkan:
• Layer 3 information
• URL / Host
• HTTP Method
• Untuk yang di-deny, kita dapat mengalihkan
(redirect) akses ke URL tertentu.
• Web proxy access juga mensupport regular
expression, dengan menempatkan karakter “:”
sebelum reguler expression yang digunakan

ID-NETWORKERS | www.training-mikrotik.com
55

LAB - Web Proxy Access Rule


Block http untuk akses ke URL yang mengandung kata “playboy”

*playboy*

ID-NETWORKERS | www.training-mikrotik.com
56

Web-Proxy Access Rule


Block http untuk akses ke URL yang mengandung kata “playboy” dan redirect
ke URL trainingmikrotik.com

ID-NETWORKERS | www.training-mikrotik.com
57

Web Proxy URL Filtering


http://www.domain.com/path1/path2/file1.jpg

Destination host Destination path

• Special Characters
* = any character/characters
? = one character
• Example
www.do?ai?.com
www.domain.*
*domain*
• Also support regular expression format

ID-NETWORKERS | www.training-mikrotik.com
58

Web Proxy URL Filtering


• Kita juga dapat memfilter client untuk mendownload tipe file tertentu
misalkan .mp3, .exe, .dat, .avi,…etc, dengan mendefine URLnya
• Contoh:
/ip proxy access
add path=*.exe action=deny
add path=*.mp3 action=deny
add path=*.zip action=deny
add path=*.rar action=deny

ID-NETWORKERS | www.training-mikrotik.com
59

Web-Proxy Options
• Maximal-client-
connections - jumlah
koneksi yang diterima dari
client
• Maximal-server-
connections - maksimum
koneksi ke servers (apabila
penuh, ada client yang
akan konek ke server akan
menunggu)

ID-NETWORKERS | www.training-mikrotik.com
60

Web-Proxy Caching
• Max. Cache Size
• Ukuran maximum cache
• No caching
• Max-cache-size = none
• Cache to RAM
• Max-cache-size ≠ none
• Cache-on-disk = no
• Cache to HDD
• Max-cache-size ≠ none
• Cache-on-disk = yes
• Cache-hit-DSCP
• specify DSCP value for all
packets generated from the
web-proxy cache

ID-NETWORKERS | www.training-mikrotik.com
61

Web-Proxy Rule List


• Filtering rule yang ada di Web-proxy
• Access List – blocking URL (http request)
• Direct Access List – digunakan apabila
punya parent proxy – HTTP request akan
difoward langsung ke parent proxy atau
tidak.
• Cache List – mengatur URL mana saja
yang akan di chache dan mana yang tidak
akan di cache

ID-NETWORKERS | www.training-mikrotik.com
62

FIREWALL
Basic & Advanced

ID-NETWORKERS | www.training-mikrotik.com
63

Connection Tracking
• Connection Tracking adalah “jantung” dari
firewall, mengumpulkan informasi tentang active
connections.
• Dengan mendisable connection tracking router
akan kehilangan fungsi NAT, filter rule dan
mangle.
• Setiap connection tracking membaca pertukaran
traffic 2 arah (src dan dst address).
• Connection tracking membutuhkan CPU
resources (disable it, if you don't use firewall)

ID-NETWORKERS | www.training-mikrotik.com
64

Connection Tracking
IP Firewall Connection Tracking

ID-NETWORKERS | www.training-mikrotik.com
65

Connection State
• Connection state adalah status yang dikenali oleh
connection tracking system:
– New – packet is opening a new connection
– Established – packet belongs to already known
connection
– Invalid – packet does not belong to any of the known
connections
– Related – packet is also opening a new connection,
but it is in some kind relation to already known
connection
• Connection state tidak sama dengan TCP state pada
connection tracking
ID-NETWORKERS | www.training-mikrotik.com
66

Firewall Basic
• Setiap Firewall Filter rule diorganisir dalam chain (rantai)
yang berurutan.
• Setiap aturan chain yang dibuat akan dibaca oleh router
dari atas ke bawah.
• Di Firewall Filter Rule ada 3 default chain
– Input = untuk traffic yang menuju ke router
– Forward= untuk traffic yang melewati router
– Output=untuk traffic yang kerluar dari router
• Kita juga boleh membuat nama chain sesuai dengan
keinginan kita, gunanya untuk membuat sub-rule-firewall

ID-NETWORKERS | www.training-mikrotik.com
67

Packet Flow
• Simple Diagram (posisi input, forward dan output) dalam router

ID-NETWORKERS | www.training-mikrotik.com
68

Input Interface
• Adalah interface yang dilalui oleh paket data, tepat
ketika masuk di router.
• Pada saat proses “uplink” atau “request” yang dimaksud
dengan input interface adalah interface yang mengarah
ke client (local/lan interface).
• Pada saat proses “downlink” atau “response” yang
dimaksud dengan input interface adalah interface yang
mengarah ke internet (public/WAN interface)
• Jika client menggunakan IP Address publik, proses
request juga bisa dilakukan dari internet, sehingga input
interface adalah interface WAN.

ID-NETWORKERS | www.training-mikrotik.com
69

Local Process
• Adalah router itu sendiri, jika ada paket data
yang menuju ke router, misalnya:
– Ping dari client ke IP router
– Request Winbox dari client ke router
– Proses response http akibat request dari web
proxy
• Adalah router itu sendiri, jika ada paket data
yang berasal dari router, misalnya:
– Ping dari router ke internet atau ke client
– Proses request http dari web proxy
ID-NETWORKERS | www.training-mikrotik.com
70

Forwarding Decission
• Adalah proses yang menentukan apakah paket
data akan disalurkan ke luar router, atau menuju
ke router itu sendiri.
• Proses ini juga menentukan interface mana
yang akan digunakan untuk melewatkan paket
data keluar dari router.
• Pada chain output (setelah mangle, dan filter)
terdapat Routing Adjustment yang berfungsi
memperbaiki routing decision yang diakibatkan
oleh route-mark pada mangle di chain output.

ID-NETWORKERS | www.training-mikrotik.com
71

Packet Flow
• Diagram showing the process flow of data packets RouterOS Versi 5.x

ID-NETWORKERS | www.training-mikrotik.com
72

Packet Flow
• Traffic going in to the router (input)

ID-NETWORKERS | www.training-mikrotik.com
73

Packet Flow
• Traffic going out from the router itself (output)

ID-NETWORKERS | www.training-mikrotik.com
74

Packet Flow
• Traffic pass-through the router (forward)

ID-NETWORKERS | www.training-mikrotik.com
75

Posisi Chain

ID-NETWORKERS | www.training-mikrotik.com
76

Packet Flow
• Diagram showing the process flow of data packets RouterOS Versi 6.x

ID-NETWORKERS | www.training-mikrotik.com
77

Firewall on Bridge
Jika kita ingin menggunakan IP Firewall pada interface bridge, menu
use IP firewall harus diakifkan (enable)

ID-NETWORKERS | www.training-mikrotik.com
78

Firewall Strategy
• Prinsip IF….THEN….
• IF (jika) traffic sesuai dengan kriteria yang kita tentukan.
• THEN (maka) apa yang akan kita perlakukan pada traffic
tersebut?
• Pada IP firewall IF didefinisikan pada tab General,
Advanced and Extra, sedangkan THEN dilakukan pada
tab Action

ID-NETWORKERS | www.training-mikrotik.com
79

Firewall Strategy
• Drop semua yang tidak diinginkan , lainya di accept

Jika tidak ada rule apapun, firewall mikrotik by default akan menerima
semua jenis koneksi
ID-NETWORKERS | www.training-mikrotik.com
80

Firewall Strategy
• Accept apa yang dibutuhkan, lainya didrop

ID-NETWORKERS | www.training-mikrotik.com
81

RouterOS Local Services

• We can filter it with chain input

ID-NETWORKERS | www.training-mikrotik.com
82

Lab Firewall Basic


• Buat agar hanya laptop sendiri yang bisa akses ke router kita
• Block semua akses dari luar yang akan ke router kita

IDN

ID-NETWORKERS | www.training-mikrotik.com
83

IP Firewall Filter Rule (Extra)

ID-NETWORKERS | www.training-mikrotik.com
84

IP Firewall Filter Rule (Extra)


dst-limit
• melimit jumlah paket per detik untuk setiap IP Address
tujuan atau port tujuan
classifier :
• addresses dan dst-port
• dst-address
• dst-address dan dst-port
• src-address dan dst-address
expire :
waktu kapan router akan melupakan informasi per classifier

ID-NETWORKERS | www.training-mikrotik.com
85

Dst Limit
• Dst-Limit biasanya digunakan untuk mendeteksi brute
force

ID-NETWORKERS | www.training-mikrotik.com
86

Lab Dst-Limit
• Buat firewall untuk mengijikan hanya 10 kali salah login FTP, apabila
lebih maka IP langsung diblock selama 5 menit
• Buat rule firewall

/ip firewall filter


add chain=output action=accept protocol=tcp content="530
Login incorrect" dst-limit=1/1m,9,dst-address/1m

add chain=output action=add-dst-to-address-list protocol=tcp


content="530 Login incorrect” address-list=ftp_blacklist
address-list-timeout=5m

add chain=input protocol=tcp dst-port=21 src-address-


list=ftp_blacklist action=drop

ID-NETWORKERS | www.training-mikrotik.com
87

Lab Dst Limit


• Gunakan software bruteforce untuk mencobanya

IP Router
Protocol FTP

Kamus user dan


password

ID-NETWORKERS | www.training-mikrotik.com
88

IP Firewall Filter Rule (Extra)


connection-limit
Untuk melimit jumlah koneksi per IP address atau per
block IP, contoh
limit 200 untuk setiap prefix /26

Artinya rule akan match jika koneksi dibawah 200.

ID-NETWORKERS | www.training-mikrotik.com
89

IP Firewall Filter Rule (Extra)


limit
membatasi paket data, biasanya untuk paket data non-
connection
contoh: data icmp

limit 5 pps (packets per second) dengan 5 packet burst,


dan drop packet icmp berikutnya

ID-NETWORKERS | www.training-mikrotik.com
90

IP Firewall Filter Rule (Extra)


src/dst-address-type:
unicast – IP Address (any)
local – IP Address yang terinstall di router
broadcast – IP Address broadcast
multicast – IP address multicast

ID-NETWORKERS | www.training-mikrotik.com
91

IP Firewall Filter Rule (Extra)


• Buat multiple IP address yang masih satu network dengan
laptop di interface lokal, misalnya
/ip address
add address=192.168.88.22/24 interface=ether2
add address=192.168.88.33/24 interface=ether2
add address=192.168.88.44/24 interface=ether2
• Coba block untuk akses icmp ke semua ip yang terpasang
di router, hanya dengan 1 rule
/ip firewall filter
add action=drop chain=input protocol=icmp
dst-address-type=local
• Lakukan ping ke IP yang terinstall di mikrotik

ID-NETWORKERS | www.training-mikrotik.com
92

IP Firewall Filter Rule (Extra) - PSD

PSD (Port Scan Detection)


Filter or and identify port scanning (TCP)
low port : 0 – 1023
high port : 1024 - 65535

ID-NETWORKERS | www.training-mikrotik.com
93

IP Firewall Filter Rule (Extra) – Connection Limit

• Download nmap dari www.nmap.org dan install


• Buat firewall rule menggunakan PSD untuk mendeteksi Ip
scanner ke dalam address-list

/ip firewall filter


add action=add-src-to-address-list address-list=attacker
address-list-timeout=2m chain=input psd=21,3s,3,1

• Jalankan nmap via command promt, atau via GUI


cmd>Nmap 192.168.88.1

ID-NETWORKERS | www.training-mikrotik.com
94

IP Firewall Filter Rule (Advanced)


• Connection-byte - merupakan range dari besar
data yang lewat di suatu koneksi,
• Nilainya berupa range, contoh: 100000-
45000000 (kita tidak pernah tahu berapa
tepatnya besar connbyte yang akan lewat)
• Connection-rate - capture traffic berdasarkan
actual speed/bandwidth of connection

ID-NETWORKERS | www.training-mikrotik.com
95

IP Firewall Filter Rule (Advanced)

• Contoh mencatat lonjakan traffic dari client


/ip firewall filter
add chain=forward protocol=tcp dst-port=80 connection-
rate=500k-10M action=add-src-to-address-list address-
list=peak_banwidth address-list-timeout=20s

ID-NETWORKERS | www.training-mikrotik.com
96

IP Firewall Filter Rule (Advanced)

• packet-size - besarnya packet data yang


lewat, untuk mendeteksi besar packet.
• L7 protocol - sesuai dengan namanya
layer 7 protokol, yaitu tool untuk
mengklasifikasikan paket data sesuai
dengan aplikasinya (Layer OSI 7).
• L7 dijelaskan di Sesi yang lain.

ID-NETWORKERS | www.training-mikrotik.com
97

IP Firewall Filter Rule (Advanced)

• Icmp type – digunakan untuk memfilter


jenis traffic icmp
• icmp type yang biasa digunakan :
• PING – message 0:0 dan 8:0
• TRACEROUTE – message 11:0 dan
3:3
• Path MTU discovery – message 3:4
type lainnya sebaiknya di blok.

ID-NETWORKERS | www.training-mikrotik.com
98

Lab ICMP Type


• Contoh block Traceroute only :
/ip firewall filter chain=forward action=drop
protocol=icmp icmp-options=11:0
/ip firewall filter chain=forward action=drop
protocol=icmp icmp-options=3:3
• Coba lakukan ping dan tracerouter dari laptop ke
internet

ID-NETWORKERS | www.training-mikrotik.com
99

Layer 7 Protocol
• Block yahoo messenger
/ip firewall layer7-protocol
add name=yahoo-messenger
regexp="^(ymsg|ypns|yhoo).\?.\?.\?.\?.\?.\?.\?[lwt].*\\xc0\\x
80“

/ip firewall filter


add action=drop chain=forward layer7-protocol=yahoo-messenger

ID-NETWORKERS | www.training-mikrotik.com
100

User Define/Custom Chain


• Custom chain tidak akan dibaca apabila tidak ada action jump yang
dilakukan oleh salah satu atau lebih default chain (input, output, forward)
• Rule default chain yang melakukan jump, merupakan rule untuk
“IF”conditionnya

ID-NETWORKERS | www.training-mikrotik.com
101

User Define/Custom Chain

ID-NETWORKERS | www.training-mikrotik.com
102

IP Firewall Mangle

ID-NETWORKERS | www.training-mikrotik.com
103

IP Firewall Mangle
• Mangle adalah cara untuk menandai paket data tertentu,
sehingga kita bisa menggunakan tanda (Marking)
tersebut pada fitur lainnya, misalnya pada filter, routing,
NAT, ataupun queue.
• Tanda mangle ini hanya bisa digunakan pada router
yang sama, dan tidak terbaca pada router lainnya.
• Pembacaan / pelaksanaan rule mangle akan dilakukan
dari atas ke bawah secara berurutan.
• Mangle juga dapat digunakan untuk mengubah
beberapa paremeter header packet seperti TTL, MSS
dan DSCP

ID-NETWORKERS | www.training-mikrotik.com
104

IP Firewall Mangle
• Seperti IP firewall filter, mangle diorganisis dalam chain
• Ada 5 built-in chains:
• Prerouting- making a mark before Global-In queue
• Postrouting - making a mark before Global-Out queue
• Input - making a mark before Input filter
• Output - making a mark before Output filter
• Forward - making a mark before Forward filter
• Kita dapat menambahkan chain dengna nama sendiri
apabila dibutuhkan

ID-NETWORKERS | www.training-mikrotik.com
105

IP Firewall Mangle Diagram

ID-NETWORKERS | www.training-mikrotik.com
106

IP Firewall Mangle Action


• Aaction pada rule mangle:
• mark-connection – menandai koneksi (hanya

paket pertama saja)


• mark-packet – mark a flow (menandai semua

paket dalam koneksi)


• mark-routing - mark packets untuk policy routing

• change MSS - mengubah ukuran maximum

segment size dari paket


• change TOS – menguabah Type of Service

• change TTL - mengubah nilai TTL

ID-NETWORKERS | www.training-mikrotik.com
107

Mark Connection
• Dilakukan untuk proses request (pada paket
pertama “NEW” dalam suatu koneksi)
• Digunakan untuk melakukan mangle per
srcaddress pada jaringan dengan src-nat jika
menggunkan chain prerouting.
• Sebaiknya digunakan untuk melakukan mangle
berdasarkan protocol tcp dan dst-port
• Dilakukan sebelum packet-mark atau route-mark
• Setting passthrough biasanya “yes”
• Mark Connection disimpan pada connection
tracking table

ID-NETWORKERS | www.training-mikrotik.com
108

Mark Connection Rule

ID-NETWORKERS | www.training-mikrotik.com
109

Mark Packet Rule

ID-NETWORKERS | www.training-mikrotik.com
110

Mark Connection and Mark Packet Rule

ID-NETWORKERS | www.training-mikrotik.com
111

Mark Packet
• Untuk jaringan dengan nat, dan untuk protokol
tcp (dan dst port), sebaiknya dibuat
berdasarkan connection-mark.
• Mark packet dibuat untuk digunakan pada
queue tree, simple queue, dan bisa juga filter.
• Setting passthrough biasanya “no”.

ID-NETWORKERS | www.training-mikrotik.com
112

Mangle Passtrough

ID-NETWORKERS | www.training-mikrotik.com
113

Mangle Passtrough

ID-NETWORKERS | www.training-mikrotik.com
114

Melimit Bandwidth HTTPS


• /ip firewall mangle
add chain=prerouting protocol=tcp dst-port=443 action=mark-connection new-
connection-mark=conn-http passthrough=yes

add chain=prerouting in- interface=(etherLAN) connection-mark=conn-http


action=mark-packet new-packet-mark=upload passthrough=no

add chain=prerouting in- interface=wlan1 connection-mark=conn-http action=mark-


packet new-packet-mark=download passthrough=no

• /queue tree
add name=http-upload packet-mark=upload parent=global max-limit=256k
add name=http-download packet-mark=download parent=global max-limit=512k

ID-NETWORKERS | www.training-mikrotik.com
115

IP Firewall Mangle NTH


• NTH adalah salah satu fitur firewall yang digunakan untuk
penghitung “Counter” packet atau connection (packet new).
• Parameter “every” jumlah paket yang akan dihitung, sedangkan
parameter “packet” adalah paket keberapa rule tersebut akan
dijalankan.

• Dari contoh di atas maka router akan menghitung semua paket


yang lewat menjadi 1 dan 2, dan rule tersebut akan dijalankan
pada paket 1.
• Apabila kita menggunakan NTH untuk load balancing pada NAT
masquarade, untuk situs-situs yang menjaga session kadang-
kadang kita harus re-login karena dianggap dari IP yang berbeda

ID-NETWORKERS | www.training-mikrotik.com
116

IP Firewall Mangle PCC


• PCC adalah penyempurnaan dari NTH.
• Selain melakukan counter seperti NTH, PCC juga mampu
mengingat dan menjaga karakteristik dari paket atau connection
tertentu (src-address,dstaddress, src-port,dst-port) untuk tetap
menggunakan rule yang sama.
• Hal ini akan menjaga konsistensi dari sebuah counter.

• Artinya paket akan dihitung per 2 paket, dimulai dari paket nomor 0
(sebagai paket pertama)
• NTH menghitung paket dari nomor 1 sedangkan PCC
menghitung paket dari nomor 0

ID-NETWORKERS | www.training-mikrotik.com
117

QUEUE
Bandwith Limiter

ID-NETWORKERS | www.training-mikrotik.com
118

Jenis-Jenis Queue
Scheduler queues:
•BFIFO (Bytes First-In First-Out)
•PFIFO (Packets First-In First-Out)
•RED (Random Early Detect)
•SFQ (Stochastic Fairness Queuing)
Shaper queues:
•PCQ (Per Connection Queue)
•HTB (Hierarchical Token Bucket)

ID-NETWORKERS | www.training-mikrotik.com
119

Jenis-Jenis Queue
Queue>Queue Type>Add New Queue Types

ID-NETWORKERS | www.training-mikrotik.com
120

FIFO
First In First Out
• Tidak mengubah urutan paket data, hanya menahan dan menyalurkan bila
sudah memungkinkan.
• Jika buffer penuh maka paket data akan di drop

ID-NETWORKERS | www.training-mikrotik.com
121

RED (Random Early Detect)


• RED melimit packet dengan melihat rata-rata ukuran queue.
• Rata-rata ukuran queue dibandingkan dengan 2 parameter,
min-treshold dan max-treshold
• Saat rata-rata ukuran queue sama dengan min-threshold,
RED setidak ada paket yang di drop.
• Saat ukuran queue rata-rata lebih dari max-threshold, maka
seluruh paket yang datang akan di drop
• Jika rata-rata ukuran queue diantara min dan max treshold,
paket akan didrop berdasarkan probabilitas.
• RED digunakan jika kita memiliki trafik yang congested.
• Sangat sesuai untuk trafik TCP, tetapi kurang baik digunakan
untuk trafik UDP.

ID-NETWORKERS | www.training-mikrotik.com
122

RED (Random Early Detect)


Random Early Detect

ID-NETWORKERS | www.training-mikrotik.com
123

SFQ (Stochastic Fairness Queuing)


• SFQ sebenarnya tidak menyediakan queue
(antrian).
• SFQ hanya menggunakan algoritma hasing
dengan melihat 4 parameter (src & dst ip
address dan src& dst port) untuk
mengklasifikasikan packet menjadi 1024 sub
queue.
• Kemudian Algoritma round robin akan
melakukan queue ulang /mendistribusikan traffic
dari masing-masing substream yang ada

ID-NETWORKERS | www.training-mikrotik.com
124

SFQ (Stochastic Fairness Queuing)


Setelah Perturb time, algoritma hasing akan berganti dan membagi session trafik ke sub-
queue lainnya dengan Allot besar packet

Sub queue

ID-NETWORKERS | www.training-mikrotik.com
125

PCQ (Peer Connection Queue)


• PCQ dibuat sebagai penyempurnaan SFQ.
• PCQ tidak membatasi jumlah sub-queue
• PCQ membutuhkan memori yang cukup besar.

ID-NETWORKERS | www.training-mikrotik.com
126

PCQ (Peer Connection Queue)


• PCQ akan membuat sub-queue,
berdasarkan parameter pcq-classifier
(src-address, dst-address, src-port,
dst-port)
• Dimungkinkan untuk membatasi
maksimal data rate untuk setiap sub-
queue (pcq-rate) dan jumlah paket
data (pcq-limit)
• Total ukuran queue pada PCQ-sub-
queue tidak bisa melebihi jumlah
paket sesuai pcq-total-limit

ID-NETWORKERS | www.training-mikrotik.com
127

HTB
Hierarchical Token Bucket

ID-NETWORKERS | www.training-mikrotik.com
128

HTB
• HTB adalah classful queuing discipline yang
dapat digunakan untuk mengaplikasikan
handling yang berbeda untuk beberapa jenis
trafik.
• Secara umum, kita hanya dapat membuat 1 tipe
queue untuk setiap interface. Namun dengan
HTB di RouterOS, kita dapat mengaplikasikan
properti yang
• berbeda-beda.
• HTB dapat melakukan prioritas untuk grup yang
berbeda.
ID-NETWORKERS | www.training-mikrotik.com
129

Mangle and HTB

ID-NETWORKERS | www.training-mikrotik.com
130

Mangle and HTB

• When packet travels through the router, it passes all 4 HTB trees
• When packet travels to the router, it passes only global-in and global-total HTB.
• When packet travels from the router, it passes global-out, global-total and interface
HTB.

ID-NETWORKERS | www.training-mikrotik.com
131

HTB
• Setiap queue bisa menjadi parent untuk queue
lainnya (child) walaupun hanya 1.
• Semua child queue (tidak peduli berapa banyak
level parentnya) akan berada pada level HTB
yang sama (paling bawah)
• Semua child queue akan dipenuhi limit-at, jika
ada sis maka akan didistribusikan oleh perent
• Child queue membuat actual traffic consumption,
sedangkan parent queues bertanggung jawab
terhadap traffic distribution

ID-NETWORKERS | www.training-mikrotik.com
132

HTB Structure

ID-NETWORKERS | www.training-mikrotik.com
133

HTB Limitation
• HTB 2 cara limitasi:
• CIR (Committed Information Rate)

dalam keadaan terburuk, client akan mendapatkan


bandwidth sesuai dengan “limit-at” (dengan asumsi
bandwidth yang tersedia cukup untuk CIR semua
client)
• MIR (Maximal Information Rate)

jika masih ada bandwidth yang tersisa setelah semua


client mencapai “limit-at”, maka client bisa
mendapatkan bandwidth tambahan hingga “maxlimit”
At first HTB will try to satisfy every child queue's limit-at
– only then it will try to reach max-limit

ID-NETWORKERS | www.training-mikrotik.com
134

HTB Limitation
• Max-limit parent harus lebih besar atau sama
dengan jumlah limit-at clientnya
max-limit(parent) >= limit-at(child1) + .... + limit-at(child*)
• Contoh :
­ queue1 – limit-at=512k – parent=parent1
­ queue2 – limit-at=512k – parent=parent1
­ queue3 – limit-at=512k – parent=parent1
max-limit parent1 sekurang-kurangnya (512k*3),
jika kurang dari 1,5M, maka max-limit tidak akan
berfungsi dengan benar (bocor)

ID-NETWORKERS | www.training-mikrotik.com
135

Tips
• Rule untuk parent paling atas, hanya
membutuhkan max-limit, tidak membutuhkan
limit-at dan priority
• Priority hanya bekerja pada child paling bawah,
dibandingkan hanya dengan child, bukan parent!
• Priority hanya berfungsi (diperhitungkan) untuk
meminjam bandwith yang tersisa dari parent
setelah semua queue child mendapatkan limit-at
nya.

ID-NETWORKERS | www.training-mikrotik.com
136

HTB Distribution (1)

• B dan C akan dapat 2M


• Jika C tidak menggunakan bandwith, maka B bisa dapat 4M

ID-NETWORKERS | www.training-mikrotik.com
137

HTB Distribution (2)

• Meskipun max-limit A hanya 2mbps, tetapi B dan C masing-masing akan


tetap mendapatkan 2 mbps. Max Limit parent harus >= total limit-at client.
• Jika B tidak menggunakan internet, C tetap hanya mendapatkan 2mbps,
tidak bisa naik ke 4 mbps
ID-NETWORKERS | www.training-mikrotik.com
138

HTB Distribution (3)

• B memiliki prioritas (1) lebih tinggi dari pada C (8).

ID-NETWORKERS | www.training-mikrotik.com
139

HTB Distribution (4)

• Client B, C1 dan C2, masing-masing akan mendapatkan 2mbps, sesuai


dengan limit-at nya masing-masing

ID-NETWORKERS | www.training-mikrotik.com
140

HTB Distribution (5)

• C1 dan C2 bisa naik hingga max-limit, karena parentnya (C) memiliki limit-at
hingga 4mbps.

ID-NETWORKERS | www.training-mikrotik.com
141

HTB Distribution (6)

• Pada saat semua limit-at sudah tercapai, sisa kapasitas akan dibagikan
berdasarkan prioritas.

ID-NETWORKERS | www.training-mikrotik.com
142

HTB Distribution (7)

• Priority pada parent (rule yang bukan level 0) tidak berpengaruh.

ID-NETWORKERS | www.training-mikrotik.com
143

HTB Distribution (8)

• Semua child akan mendapatkan trafik 2mbps

ID-NETWORKERS | www.training-mikrotik.com
144

HTB Distribution (9)

• C1, C2, C3 mendapatkan 2mbps karena priority-nya lebih tinggi dari B1 dan B2

ID-NETWORKERS | www.training-mikrotik.com
145

HTB Distribution (10)

• Queue-B akan mendapatkan 4mbps karena limit-at nya.


• C1 > C2 dan C1 > C3 karena priority-nya

ID-NETWORKERS | www.training-mikrotik.com
146

HTB Distribution (11)

• Bandwidth dibagi rata ke semua child karena priority-nya sama

ID-NETWORKERS | www.training-mikrotik.com
147

Simple Queue
• Konfigurasi simple queue yang paling sederhana adalah mendefinisikan target dan
max limit
• Target boleh single IP, Range IP, Subnet atau Interface yang berhadapan dengan
target yang mau dilimit

ID-NETWORKERS | www.training-mikrotik.com
148

Simple Queue
• Tab Total pada simple queue digunakan untuk melimit total upload dan download
(upload + download) dari target

Max
(Upload + download) = 1M

ID-NETWORKERS | www.training-mikrotik.com
149

Queue Feature Burst


• Bursts adalah salah satu cara untuk
meningkatkan performance koneksi HTTP
• Bursts digunakan untuk mengijinkan naiknya
data rate dalam periode waktu yg singkat
(bursts time)
• Jika Average data rate lebih kecil dari burst-
threshold, burst dapat digunakan( actual data
rate dapat mencapai burst-limit)
• Average data rate dihitung dari detik terakhir
burst-time

ID-NETWORKERS | www.training-mikrotik.com
150

Queue Feature Burst


Contoh
Brust Limit, Limit-at=128kbps, max-limit=256kbps,burst-time=8,burst-
threshold=192kbps, burst-limit=512kbps.

ID-NETWORKERS | www.training-mikrotik.com

Anda mungkin juga menyukai