Anda di halaman 1dari 151

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

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

Domain Name System

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

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, sehingga akan
meminimalis proses resolve domain dari
client agar tidak perlu ke DNS server yang
lebih jauh
ID-NETWORKERS | www.training-mikrotik.com
7

LAB - DNS Configuration

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

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
9

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
10

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
11

LAB - DNS Static

IP of your web server

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

LAB - DNS Static


In IP firewall NAT, make rule to make transparent DNS

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

LAB - DNS Static


Check DNS cache in IP>DNS>cache

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

DHCP
Dynamic Host Configuration Protocol

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

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
16

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
17

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
18

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
19

DHCP Client Communication Step

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

DHCP Server Communication Step

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

DHCP Client Identification

• DHCP Server dapat membedakan client dan


mengingat berdasarkan proses identifikasi.
• Identifikasi dilakukan berdasarkan:
- “caller-id” option dhcp-client-identifier pada
RFC2132)
- Mac-Address, apabila “caller-id” tidak ada
• Mikrotik dhcp-client dapat mengirimkan nformasi
tambahan berupa hostname atau “system
identity” router.

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

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

Jika Client ID bisa memilih salah satu atau keduanya:


Hostname = system identity
Client ID = Interface Mac address

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

DHCP Client Identification


• Hanya boleh ada satu DHCP server per satu
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 (dns, ntp, dll)
• Ketiga informasi di atas harus sesuai satu
sama lain.

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

DHCP Options
• DHCP Server umumnya hanya membarikan parameter
basic konfigurasi ke DHCP client untuk konek ke internet.
• Kita dapat mengirimkan beberapa informasi tambahan
dengan fitur DHCP Option
• Beberapa option sudah terintegrasi dengan RouterOS dan
tidak perlu diconfig.
• Option lainnya dapat dilakukan custom dalam format raw,
Secara lengkap DHCP option code dapat dilihat di
• http://www.iana.org/assignments/bootp-dhcp-
parameters
• DHCP Server dapat memberikan option apapun tapi DHCP
Client hanya dapat menerima option yang disupport saja.
• DHCP Client juga dapat mengirimkan DHCP option.

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

DHCP Options
• Contoh DHCP Options yang sering dipakai:
̶ 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
̶ Classless Static Route - (option 121)

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

DHCP Options
• DHCP server akan mengirimkan option static route
dalam bentuk mentah (raw) yaitu hexa desimal.
• Hexa desimal dari 10.39.0.0/16 10.38.1.1 adalah:
• 0x – Code Hexa Number
• 10 untuk 16 (subnet/16)
• 0A27 untuk 10.39.0.0 (network id)
• 0A260101 untuk 10.38.1.1 (gateway)
• Digabung menjadi 0x100A270A260101

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
27

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
28

LAB - DHCP Options

Create DHCP option, and assign to DHCP


network

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

LAB - DHCP Options


Release / renew DHCP client

Route yang didapat dari option 121 yang


dikirim oleh DHCP server

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

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
31

IP Pool

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

DHCP Server Settings

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

DHCP Server Settings


• Relay – jika DHCP sever terubung ke 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 – Digunakan jika interface DHCP
diset sebagai ARP Reply Only, Server memperbolehkan
menambahkan data entri ARP dari lease, fungsinya
untuk hanya mengijinkan client yang mendapatkan IP
dari DHCP yang bisa konek.
• Always Broadcast – mengijinkan komunikasi dengan
client yang tidak standart, misalnya pseudo-bridges
ID-NETWORKERS | www.training-mikrotik.com
34

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
35

DHCP Server Authoritative


• Authoritative option untuk mengubah cara bagaimana
server menanggapi DHCP request dari client.
• Authoritative 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
36

DHCP Server Authoritative

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

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
38

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
39

LAB - DHCP Server Alert


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

DHCP Alert!

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

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
41

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
42

DHCP Server Delay Threshold


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

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

LAB - DHCP Server Delay Threshold


• Berikan delay treshold yang lebih besar untuk DHCP
server backup

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

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
45

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
46

LAB - DHCP Relay


Configures DHCP Server, and DHCP Server Network

Network and Relay’s local address

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

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
48

PROXY
MikroTik HTTP Proxy

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

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
50

Web Proxy

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

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
52

LAB - Web Proxy


• Topology

IDN

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

LAB - Web Proxy


• Enable Web Proxy in menu IP>Web Proxy

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

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
55

LAB - Web Proxy


Check apakah proxy sudah running wel atau belum dengan membuka proxy checker:
http://trainingmikrotik.com/proxycheck/

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

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

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
57

LAB - Web Proxy Access Rule


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

*playboy*

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

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
59

Web Proxy URL Filtering

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

Destination domain 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
60

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
61

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
62

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
63

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
64

FIREWALL
Basic & Advanced

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

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
66

Connection Tracking
IP Firewall Connection Tracking

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

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
68

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
69

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

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

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
71

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
72

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
73

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

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

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

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

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

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

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

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

Posisi Chain

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

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

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

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
80

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
81

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
82

Firewall Strategy
• Accept apa yang dibutuhkan, lainya didrop

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

RouterOS Local Services

• We can filter it with chain input

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

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
85

IP Firewall Filter Rule (Extra)

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

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
87

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

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

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
89

Lab Dst Limit


• Gunakan software bruteforce untuk mencobanya

IP Router
Protocol FTP

Kamus user dan


password

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

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
91

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
92

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
93

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
94

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
95

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
96

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
97

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 akan membongkar paket sampai level
aplikasi dan mencocokan dengan pola
regular expression yang kita define
ID-NETWORKERS | www.training-mikrotik.com
98

Lab Layer 7 Protocol


• List layer 7 dapat dilihat contohnya di
http://l7-filter.sourceforge.net/protocols
• Block yahoo messenger
/ip firewall layer7-protocol
add name=yahoo-messenger
regexp="^(ymsg|ypns|yhoo).\?.\?.\?.\?.\?.\?.\?[lwt].*\\xc0\\x80”

/ip firewall filter


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

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

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
100

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
cmd>ping 8.8.8.8 –t
cmd>tracert –d 8.8.8.8

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

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
102

User Define/Custom Chain

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

IP Firewall Mangle

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

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
105

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
106

IP Firewall Mangle Diagram

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

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
108

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
109

Mark Connection Rule

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

Mark Packet Rule

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

Mark Connection and Mark Packet Rule

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

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
113

Mangle Passtrough

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

Mangle Passtrough

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

Melimit Bandwidth HTTPS


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

add chain=prerouting in- interface=(etherLAN) connection-


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

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


https action=mark-packet new-packet-mark=download-https
passthrough=no

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

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

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
117

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
118

QUEUE
Bandwith Limiter

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

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
120

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

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

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
122

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
123

RED (Random Early Detect)


Random Early Detect

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

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
125

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
126

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
127

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
128

HTB
Hierarchical Token Bucket

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

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
130

Mangle and HTB

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

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
132

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
133

HTB Structure

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

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
135

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
136

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
137

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
138

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
139

HTB Distribution (3)

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

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

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
141

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
142

HTB Distribution (6)

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

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

HTB Distribution (7)

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

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

HTB Distribution (8)

• Semua child akan mendapatkan trafik 2mbps

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

HTB Distribution (9)

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

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

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
147

HTB Distribution (11)

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

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

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
149

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
150

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
151

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