0% au considerat acest document util (0 voturi)
85 vizualizări65 pagini

MTCTCE

Documentul prezintă un curs de MikroTik Traffic Control și conține agenda cursului, obiectivele, laboratoare și configurări de bază privind DNS-ul, DHCP-ul și scenarii de comunicare DHCP.

Încărcat de

Anna Ţurcanu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
85 vizualizări65 pagini

MTCTCE

Documentul prezintă un curs de MikroTik Traffic Control și conține agenda cursului, obiectivele, laboratoare și configurări de bază privind DNS-ul, DHCP-ul și scenarii de comunicare DHCP.

Încărcat de

Anna Ţurcanu
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

16.06.

2015

Agendă

09:00 – 10:30 Curs

MikroTik 10:30 – 11:00 Pauză de cafea


11:00 – 12:30 Curs
Traffic Control 12:30 – 13:30 Prânz
13:30 – 15:00 Curs
Training 15:00 – 15:30 Pauză de cafea
15:30 – (17:00) Curs
Trainer: Veaceslav Samburschii

Obiectivele Cursului Laborator: Setările de bază


Deconec taț i interf ața w ire less pe lapto p şi se taţi
Furnizarea de cunoștințe teoretice şi configurările IP static în Ethernet.
aptitudini practice pentru utilizarea Conectați-vă la router de pe laptop (winbox sau CLI)
MikroTik RouterOS în controlul traficului în
Conectaţi ruterele la AP SSID “AP-MTCTCE ”.
rețele de orice dimensiune.
Configu raţi ru terele şi obţineţi acces la Inter net de
La finalizarea acestui curs, veţi cunoaşte
pe laptop-ul Dvs. prin routerul local.
cum să planificaţi, implementaţi, ajustaţi şi
depanaţi configurările pentru controlul Creaț i un utilizator nou (cu dre ptur i ”fu ll”) şi
traficului im plem entate de MikroTik schimbaţi drepturile de acces “full/admin” cu “read”.
RouterOS.

3 4

1
16.06.2015

Laborator: Class Setup


Configurări
Laptop (ethernet) - conectaţi wifi
- Adresa IP : [Link].1
- Subnet Mask : [Link]
- Gateway / DNS : [Link].254

Setările Ruterelor:
- Adresa IP (WLAN) : [Link]/24
- Adresa IP (ether1) : [Link].254/24
- Gateway & DNS : [Link]
- Services : DNS server & src-nat
5

Laborator: Configurare de bază (cont.) Laborator: Configurare de bază (cont.)


Setaţi Sys te m Iden tity şi Wireless Radio Name
“XY_<numele_Dvs.>”. Conectaţi ether2 cu ether3 pe ruterul vecin
Exemplu: “00_Vasile_Popescu” Conectaţi ether3 cu ether2 pe ruterul vecin
Face ţi u pgrade la ru ter la u ltima versiune Mikrotik
RouterOS. Atribuiţi adresa:
Faceţi upgrade la ultima versiune a Winbox loader. - ether2: [Link].254/24
- ether3 : 172.27.(vecin_XY).1/24
Setaţi NTP client – utilizaţi [Link] drept server.

2
16.06.2015

DNS Client şi Cache


Laborator: Configurare de bază (cont.)
Verificaţi toate conexiunile (ping/trace route): DNS client se utilizează doar de către ruter în
- ruter către ruterul principal cazul configurărilor web proxy sau hotspot.
- ruter -> internet
- laptop -> ruter Activaţi opţiunea “Allow Remote Requests”
- laptop -> internet pentru a transforma DNS client în DNS cache
- ruter -> ruterul vecin DNS cache permite utilizarea ruterului în locul
DNS server de la distanţă, deoarece toate cache-
Creaţi o configurare backup şi copiaţi-o pe urile – acesta minimizează timpul de rezoluţie.
laptop (ea va fi configurarea default).
De asem enea DNS cache poate funcționa drept
DNS server pentru rezoluția adresei de rețea
locale. 10

DNS Client şi Cache Cache List

© MikroTik 2009

3
16.06.2015

Static DNS Entry Conectare cu nume


Fiecare Static DN S entry va adăuga or va Conectarea la router se va efectua utilizând
înlocui o înregistrare în DNS cache. un nume simbolic.

Auto Reverse DNS CURĂȚAREA DNS CACHE

• Pentru a curăța DNS Cache, folosim FLUSH CACHE:


Pentru fiecare DN S static entry, ruterul va [admin@MikroTik] > /ip dns cache flush
crea automat un reverse DNS pentru această
adresă IP.

© Academia Mikrotik 2015

4
16.06.2015

NOTĂ: Laborator: DNS Client şi Cache


• Rezolvare nume DNS Reverse (Adresa la Nume) ale Adăuga ți un static DNS entry “[Link] er-
expresiilor regulate nu este posibilă. Totuși, puteți [Link]” la adresa IP wla n a rut erului Dvs. (XY
adăuga o înregistrare suplimentară cu aceeași adresă – numărul Dvs.) ([Link])
IP și specificați careva nume pentru el.
• Amintim că sensul unui punct (.) în expresii regulate Adăuga ți static DNS ent ry “ [Link] [Link]” la
este orice caracter, astfel încât expresia trebuie să fie adresa ruterului principal [Link]
în modul corespunzător. V erificați rezultat ul î n ca che list și observați
• De exemplu, dacă aveți nevoie pentru a se potrivi ceva PTR record.
în [Link], dar nu toate domeniile care tocmai se
termină cu [Link], cum ar fi [Link]- Încercați să faceți pi ng de pe laptopul Dvs . către
[Link], folosiți ruterul Dvs. și ruterul principal, utilizând
name = ".*\\.exemplu\\.ro" numele de domen (nu adresa IP).
© MikroTik 2009 18

DHCP

DHCP
The Dyn am ic Host Conf iguration Protoco l se
utilize ază pentru distribu irea dinamică a setăr ilor
de rețea precum sunt:
Adresa IP și netmask
DHCP Client Adresa Default gateway
DHCP Server Adresele DNS și NTP server
Peste 100 de alte opțiuni (susținu te do ar de c ătre
DHCP Relay anumiți clienți DHCP)
DHCP este nesecur izat ș i ar trebui să f ie utilizat
numai în rețelele sigure.

20

5
16.06.2015

Scenariu de comunicare
DHCP SCENARII DHCP

DHCP Discovery • DHCP Dis covery – Clientul tri mite me saje broa dcast î n rețea cu
src-mac=<client>, dst-mac=<broadc ast>, protocol=udp, adresa de destinație 255.255. 255.2 55. Un client DHCP poate
solicita și ultima adresă pri mită. În cazul câ nd clie ntul rămâne
src-ip=[Link]:68, dst-ip=[Link]:67
cone ctat la aceiași rețea serverul poate satisfa ce cererea. Î n ca z
DHCP Offer contrar de pinde da că server ul este configurat ca Authoritative.
Un server n on-a uthoritative ignoră cererea, producând u n
src-mac=<DHCP-server>, dst-mac=<broadc ast>, protocol=udp, src- time-out pentru client și va cere o nouă adresă IP.
ip=<DHCP-server>:67, dst-ip=[Link]:67 • DHCP Offer – Când u n server primește o cerere D HCPDi scover,
DHCP Request care este o cerere de leasing pentru o a dresă I P, server ul
rezervă adresa pentru client și face o ofertă de leasing pri n
src-mac=<client>, dst-mac=<broadc ast>, protocol=udp, trimiterea unui mesaj DH CP OFFER la client. Acest me saj
src-ip=[Link]:68, dst-ip=[Link]:67 conține:
DHCP Acknowledgement • adresa clientului MAC,
• Adresa IP oferită de server clientului,
src-mac=<DHCP-server>, dst-mac=<broadc ast>, protocol=udp, src- • masca de subrețea
ip=<DHCP-server>:67, dst-ip=[Link]:67
• Durata leasing
• Adresa IP a serverului DHCP
21

SCENARII DHCP SCENARII DHCP

• DHCP Request – Ca răspuns la oferta DHCP, clientul răspunde START > RUN > cmd
cu o cerere, prin care s olicită adresa oferită. Un client poate
primi oferte DHCP de la mai multe servere, dar va accepta doar C:\Users\User\arp -a
o singură ofertă DHCP.
• DHCP Ack nowl edgeme nt - Câ nd serverul DH CP prime ște
DHCP REQUEST de la client, proce sul de configurare intră în fa za
finală. Faza de confir mare presupune trimiterea unui pachet
DHCPA CK, acest pachet incl ude d urata contractul ui de leasi ng
și orice alte informații de configurare solicitate de client.

• Remarcă: După ce clientul obține o adresă IP, testați cu arp


pentru a preveni con flictele cauzate de suprapunerea adresel or [admin@MikroT ik] > /ip arp print
IP.

6
16.06.2015

DHCP Client
DHCP PORTS

• DHCP folosește porturile:


• IP/67
• IP/68
• Protocolul de transport - UDP

DHCP Client Identification Laborator: DHCP Client


• Dezactivați adresa IP pe interfața wlan
Serverele DHCP sunt capabile de a urmări asocierile de
lease-uri cu un anumit client cu ajutorul identificării. • Dezactivați default route
Identificarea se poate face pe 2 căi: • Activați DHCP client pe interfața wlan
În baza opțiunii “caller-id” (dhcp-client-identifier
from RFC2132) • Observați dacă ruter ul obț ine o adre sa IP nou ă, o
În baza adresei MAC, dacă opțiunea “caller-id” nu altă default route și, de asemenea, alte setări DNS.
este specificată.
Opțiunea “hostname” permite clienților RouterOS să
expedieze identificări adiționale către server, by
default este “system identity” a ruterului.

27

7
16.06.2015

Laborator: DHCP Client (cont.) DHCP Client Status


• Waiting – nu a fost folosit static lease.
• Testing – se testează dacă această adresa a fost folosită sau
nu (doar pentru lease dinamic) făcând ping cu un interval de
timp de 0.5 secunde.
• Authorizing – așteaptă răspuns de la radius server.
• Busy – această adresă este atribuită în mod static unui
client sau deja există în rețea, deci ea nu poate fi arendată
(leased).
• Offered – serverul a oferit acestă adresă unui client, dar nu
a primit confirmare de la client.
• Bound – serverul a primit confirmarea clientului că acesta
acceptă adresa oferită, o folosește acum și va elibera adresa
nu mai târziu decât la expirarea timpului de arendare
(lease).

OPTIUNI DHCP CLIENT OPTIUNI DHCP CLIENT


Router OS client solicită următoarele opțiuni:
• Add Default R oute:YE S/S PECIA L
• option 1 - SUBNET_MAS K, CLASSLESS / NO
• option 3 - GATEWAY_LIS T, • add- defaul t-ro ute (yes | no | special-
classless; Default: yes)
• option 6 - TAG_DNS_LIST,
În ca zul utiliză rii yes se ig noră o pți unea 3
• option 33 - STATIC_ROUTE, (option 3) și se aplică opțiunea 121 (option
• option 42 - NTP_LIST, 121), dacă este furnizată de către server.
• option 121 - CLASSLESS_RO UTE Pentr u a forța client ul să nu ig nore
optiunea 3 și să folosească defa ult-ro ute
trebuie să folosim special-classless.

8
16.06.2015

DHCP Server DHCP Server Setup


Nu poate f i decât un singu r server DHCP per
interfață/combinație releu pe ruter.
Pentru a crea un server DHCP trebuie să aveți:
Adresa IP pe interfața dorită a serverului DHCP.
Address pool pentru clienți.
Informație despre rețeaua DHCP planificată.
Toate 3 opțiuni trebuie să corespundă.
“Le ase on Disk” trebu ie să f ie utilizat pen tru a re duce
număru l de înregistrări pe dispo zitiv ( drive) (u til cu
memorii flash)

DHCP Server
DHCP Networks
1. 4.

În meniu l rețelelor DHCP puteț i conf igu ra o pț iun i


specifice DHCP pentru anumite rețele.

2. 5.
Aceleaș i opț iun i sun t integrate în RouterO S, altele po t
fi atribu ite în form ă brută (raw form at) ( specif icată în
RFC-uri).
Informație adițională poate fi găsită la adresa:
[Link]
3. 6.
Serverul DHCP poate trimite orice opțiune.
Clientu l DHCP po ate prim i doar opț iun ile
implementate.

9
16.06.2015

Opțiunile DHCP Opțiunile DHCP


Raw format:
Implemented DHCP options -0x│10 │0A27 │0A260101 │
Subnet-Mask (option 1) - netmask
-0x – numărul Hex
Router (option 3) - gateway
-10 – Subnet/Prefix = 16
Domain-Server (option 6) - dns-server
Domain-Name (option 15) - domain -0A27 – Network = [Link]
NTP-Servers (option 42) - ntp-server -0A260101 – Gateway = [Link]
NETBIOS-Name-Server (option 44) - wins-server
Custom DHCP options (Example:)
Classless Static Route (option 121) -
“0x100A270A260101” = “network=[Link]/16
gateway=[Link]”

© MikroTik 2009 37

Opțiunile DHCP Opțiunile DHCP


Rezultatul aplicării opțiunii CLASSLESS Rezultatul aplicării opțiunii CLASSLESS (continuare)

10
16.06.2015

Opțiunea Custom DHCP IP Address Pool

IP address pools se folosesc pentru defin irea șirului


de adre se IP pen tru distribu ire a din am ică ( DHCP,
PPP, Hotspot).
Address poo l tr ebuie să exclu dă adrese le de ja
ocupate (precum sunt serverele sau adresele statice)
Unui pool i se po ate atribu i mai multe decât un ș ir
de adrese IP.
Este po sibil să legăm m ai m ulte pool-uri împreu nă,
utilizând opțiunea “Next Pool”.

Distribuirea Address Pool


IP Address Pool

11
16.06.2015

Alte setări ale DHCP Server Setările DHCP Server


• Add ARP For Lea ses – permite de
[Link] – specifică adresa serverelor DHCP dac î este adă uga î n tabelul /ip arp numai
adresele IP obținute prin DHCP Server
mai mult de o adresă IP pe interfața serverului DHCP.
• Pe interfață va fi setată
Delay Threshold – prioritizează un server DHCP față de /arp reply-only
altul (prioritatea este cu atât mai mică cu cât latența este • Alway s br oa dca st – va trimite mesaje
mai mare). Reply numai în regim broadcast.
Add ARP For Leases – permite adăugarea ARP entries • Use RA DIUS - permite utilizarea
pentru leases dacă interfața ARP=reply-only RADIUS pentru un lease dinamic.

Alw ays Broadcast – permite comunicarea cu clienții


nestandarzi precum sunt pseudo-bridge-urile.
Bootp Support, Use RADIUS – (evident)

Authoritative DHCP Server Authoritative DHCP Server


Authoritative – permite serverului DHCP să
răspundă la broadcast-ul clienților
necunoscuți și să solicite clientului să
restarteze lease-ul (clientul trimite broadcast-
uri doar când unicast-ul către server eșuează
atunci când se reînnoiește lease-ul).
Authoritative permite:
Preveni operațiunile rouge ale serverului DHCP
Adaptare mai rapidă a rețelei la modificările Pentru a preveni DHCP server neautorizat, setați
configurărilor DHCP. Authoritative = yes.

12
16.06.2015

DHCP – Delay Threshold Laborator: DHCP server


• Activați serverul DHCP pe ether1
• Schimbați configurările IP de pe laptop pe
autom atic și verificați dacă laptopul a
primit adresa IP corectă, gateway ș i
setările DNS server.
Pentru a seta înapoi DHCP server, dacă serverul
principal DHCP a căzut (fail).

DHCP Server Leases DHCP Leases – Static Entry


Este posibil de aplicat anumite reguli la anumiți utilizatori –
“make static”.
Clientul DHCP înregistrat va apărea în listă pe
DHCP-Server-Leas es și IP Pool – Used Addresses

13
16.06.2015

Setările DHCP Static Leases Setările DHCP Static Leases


• Address: Putem specifica o
adresa IP anumită sau
address pool unei adrese
MAC.
• Block access: blocarea unei
adrese MAC.
• Always broadcast: permite
comunicarea cu clienții
nestandarzi precum sunt
pseudo-bridges-urile.
• Rate Limit
• DHCP options

Setările DHCP Static Leases


Rate Limit • Address-list
• Atribu iț i adre sa IP oferită c lientu lu i unu i addre ss- list
• Formatul este:
rx-rate [/tx-rate][rx-burst-rate[/tx-burst-rate] [rx-burst- anum it, po ate f i utilizat c a ș i par ametr u pe mangle ,
threshold[/tx-burst-threshold] [rx-burst-time[/tx-burst- firewall
time]]]]. • Aceiași adresă IP poate fi în mai mult de o listă.
• Toate ratele trebuie să fie numere cu opțional “k”(1,000) Kilobiți
sau “M”(1,000,000) Megabiți.
• Dacă tx-rate nu este specificat, rx-rate este la fel ca și tx-rate.
Aceeași situație este și în cazul tx-burst-rate și tx-burst-
threshold și tx-burst-time.
• Dacă ambele rx-burst-threshold și tx-burst-threshold nu sunt
specificate (dar burst-rate este specificat), rx-rate și tx-rate se
utilizează ca și burst threshold. Dacă ambele rx-burst-time și tx-
burst-time nu sunt specificate, primul este utilizat ca și default.

14
16.06.2015

Lab: DHCP Server Static Leases DHCP – Protecție ARP


1. Setați adresa IP statică pe DHCP server leases
• Pentru a evita sch im bare a manu ală a adrese i IP de
pentru laptopul Dvs.
către DHCP client, este nevoie să setați:
- reconectați laptop-ul și verificați dacă aveți adresa IP corectă - “Add ARP for leases = yes” pe serverul DHCP
2. Setați rate limit pentru laptop-ul Dvs. la 128k/128k - “ARP = reply-only”pe interfață.
- verificați automatic entry în simple queue și verificați dacă
s-a configurat corect. • Dacă ave m câteva servere în rețea care u tilizează
configur ăr i IP static (fără DHCP), adău gaț i adresa IP
3. Setați address-list pentru laptop-ul Dvs.: “list_XY” și adresa MAC ale acestor servere în IP-ARP.
- verificați dacă adresa IP de pe laptop apare în address-list.

DHCP – Protecție ARP


DHCP Relay
DH CP Relay e ste un prox y care e ste capabil de a
prim i D HCP Discovery ș i să so licite ș i să retr imită
pe acesta către DHCP server.
Poate exista doar un singur D HCP Relay între
DHCP server și DHCP client.
DHCP com munication cu re lay nu solicită adresă IP
pe relay, dar o pțiu nea “local address”a replay-ului
trebu ie să f ie la fel c a ș i opț iunea “re lay address” a
server-ului.

15
16.06.2015

DHCP Relay - Exemplu Configurarea DHCP


Server
WAN

[Link]/24

DHCP SERVER DHCP Relay

[Link]/24 RB-2
RB-1
[Link]/24 [Link]/24 [Link]/24

Configurarea DHCP Relay DHCP Server - Alert


• Pentru a găsi servere le DHCP rogue imediat cân d
aceste a apar în rețea, se u tilize ază in stru mentu l
DHCP Alert.
• Acesta monitorizează ether net-u l pentru to ate
DHCP reply și verifică dacă ace ste reply vin de la un
DHCP server valid. Dacă se detec tează că re ply a
venit de la u n DHCP server necunoscu t, aler ta se
declanșează.
• Așa cum DHCP reply pot fi ……

16
16.06.2015

DHCP Server - Alert

Când sistemul emite o alertă privind rogue DHCP WEB-PROXY


server, acesta poate executa un custom script.

[admin@MikroT ik] ip dhcp-server alert>/log


print Configurări de bază
00:34:23
dhcp,critical,error,warning,info,debug dhcp
Access List
alert on Public:
discovered unknown dhcp server, mac
Deny List
00:02:29:60:36:E7, ip [Link]

[admin@MikroT ik] ip dhcp-server alert>

Web-Proxy Conceptul Web-Proxy

• Web proxy are 3 caracteristici majore:

- HTTP și FTP traffic chaching


- DNS name filtering
Conexiune directă
- DNS redirection
• Web Proxy are 2 moduri de operare:

- Regular – browser-ul trebuie să fie configurat pentru a folosi


acest proxy
- Transparent – acest proxy nu este vizibil pentru regulile NAT Conexiune prin proxy
ale clienților care trebuie să fie aplicate.

17
16.06.2015

Web-Proxy Caching Opțiunile Web-Proxy


• No caching
-Max-cache-size=none • Maximal-client-connections –
• Cache to RAM numărul de conexiuni acceptate
- Max-cache-size ≠ none de la client.
- Cache-on-disk = no
• Cache to HDD • Maximal-server-connections –
numărul de conexiuni efectuate
- Max-cache-size ≠ none
de server.
- Cache-on-disk = yes

Opțiunile Web-Proxy Drive adițional pentru Cache


• Serialize- conn ections – u tilizaț i doar o cone xiu ne
• System – store – disks : format drive
pentru comunicarea între proxy și server.
• Alwa ys-from- cach e – ignoră cererile de re înnoire
trimise de c lient dacă conț inutu l cache este
considerat neînvechit.
• Max-fr esh-tim e – specif ică durata de tim p în care
fișiere le făr ă o dată de expirate in dicată, vor fi
considerate neînvechite.
• Ca che-h it-DSCP – spec if ică valoare a DSCP
pentr u to ate pachete le generate din web- proxy
cache.

18
16.06.2015

Drive adițional pentru Cache Statistica Web - Proxy

• Creați o regulă nouă de stocare pentru


proxy, alegeți drive-ul nou.

Laborator: Web - Proxy Listele de reguli Web – Proxy

• Activați web-proxy pe ruterul Dvs. Web-proxy susține 3 seturi de reguli pentru HTTP
• Setaț i dst-n at pe ruter , pen tru a face utilizatoru l să request filtering:
folosească proxy în mod transparent. •Access List – dictează politica prin care se permite
- /ip firewall nat sau nu accesul anumitor cereri HTTP.
add chain=dst-nat in-interface=ether1 •Direct Access List – această list este funcțională
dst-port=80 action=redirect to port=8080 doar dacă parent-proxy este specificat – ea dictează
• Verif icaț i statistica pen tru a vă asigura c ă politica prin care se permite sau nu bypass parent
conexiunea la web este redirecționată la web-proxy. proxy pentru o anumită cerere HTTP.
•Cache List - dictează politica prin care se permite
sau nu să se treacă la cache o anumită cerere HTTP.

19
16.06.2015

Regulile Web- Proxy URL Filtering


• Este po sibil de in terce ptat
cererea HTTP în baza:
- Informației TCP/IP, [Link] .com/ path1/path2/f [Link]
- URL Destination host Destination path
- metodei HTTP.
Caractere speciale:
•“*” - orice număr de caractere
• Access List de asemene a
•“?” – orice caracter
redirecțion area cererilo r Exemplu pe “[Link]”
respinse către o anu mită •[Link]?roti?.com
pagină. •[Link]*
•*mikrotik*

Regular Expressions Regular Expressions Exemplu


• Indicați “:” la început pentru a activa Regular Pentru a se potrivi unor site-uri torrent:
Expression Mode
- Dst-Host=“(torrent|limewire|thepiratebay|
- “˄” – indică că nici un simbol nu este permis înainte de torrentz|isohunt)+.”
modelul (patern) dat.
- “$” – indică că nici un simbol nu este permis după modelul Completați regex pentru site-urile torrent:
(patern) dat.
- “[….]” – o casă de caractere se potrivește unui singur caracter -:(torrentz|torrent|thepiratebay|isohunt|
din mulțimea de posibilități oferite de clasa de caractere. entertane|demonoid|btjunkie|mininova|flixflux|
- \ urmat de [\ ˄$.l?*+() suprimă sensul lor special. torrentz|vertor|h33t|btscene|bitunity|bittoxic|
thunderbytes|entertane|zoozle|vcdq|bitnova|
bitsoup|meganova|fulldls|btbot|flixflux|seedpeer|
[Link] ress ions .in fo/refere nce. html fenopy|gpirate|commonbits)+.*

20
16.06.2015

Laborator: Web - Proxy


• Trainerul va avea un proxy care va redirecționa
toate cererile către o pagină separată pe [Link]
FIREWALL
• Activați transparent web-proxy pe ruterul Dvs. cu
caching pe memorie. Packet Flow
• Creați reguli în access-list pentru a verifica
funcționalitatea acesteia.
Firewall
• Creați reguli în direct-access-list pentru a verifica Mangle
funcționalitatea acesteia. Address-List
• Creați reguli în cache-list pentru a verifica
NAT
funcționalitatea acesteia.

Caracteristicile
Packet Flow
RouterOS Firewall
• Inspecția pachetelor dinamice (Stateful packet inspection)
• Packet Flow este o diagramă a procesării traficului
• Detectarea protocolului Layer-7 de către MikroTik RouterOS
• Filtrarea protocoalelor Peer-to-peer
• Source MAC address
• Avem nevoie de el atunci când facem configurări
• Adrese IP (network sau list) și tipurile de adrese (broadcast, local, multicast, unicast) avansate și folosim diferite caracteristici
• Port sau port range
• Protocoale IP concomitent.
• Opțiunile protocoalelor (tipul ICMP și code fields, TCP flags, opțiuni IP și MSS). • URL:
• Interferează cu pachetele care vin sau trec prin ruter
• Internal flow și connection marks
• DSCP byte [Link] tik .com/w ik i/Man ual:Packe t_Flow
• Conținutul pachetului
• Rata la care ajung pachetele și numărul de secvențe
• Mărimea pachetului
• Timpul de sosire a pachetului
• Și multe altele…

21
16.06.2015

Packet Flow (routing) Packet Flow (routing)


ethernet to ethernet Bridge to bridge

Packet Flow (chain)

© MikroTik 2009

22
16.06.2015

Packet Flow (chain) Interfața Input/Output


INTERNET
• Pentru traficul din rețeaua locală
(LAN) spre Internet:
ET H-WAN
- input-interface : eth-LAN
- output-interface : eth-WAN

• Pentru traficul din Internet spre


ET H-LAN rețeaua locală (LAN):
- input-interface : eth-WAN
- output-interface : eth-LAN

Local Process Decizia de rutare/ Ajustare


• Este ruterul însuși • Decizia de rutare: router-ul trece prin
traseul de ordinul n pentru a găsi o potrivire
• Traficul care vine spre local process: pentru adresa IP de destinație din pachet.
- Ping de la client către adresa IP a ruterului Când aceasta se găsește, pachetul va fi trimis
- Winbox request de la client către ruter afară prin portul corespunzător ori către
- Response, ca și rezultat al cererii de pe proxy al însăși rute-ul. În caz de nepotrivire, pachetul
ruterului va fi respins.
• Decizia de ajustare: soluția care permite
• Traficul de la local process: setarea unei politici de rutare în mangle chain
- Ping de pe ruter spre alte gazde output.
- Cerere HTTP creată de web proxy a ruterului

23
16.06.2015

Connection Tracking Connection Tracking

Sistemu l Connection Tr ack ing (Con ntr ack) este


in ima firew all, e l reuneș te și adm in istrează
informația despre toate conexiunile active.
De zac tivân d sistemu l conntr ack, veți pierde din
funcționalitate a NAT ș i majoritatea condiț iilor De adaugat un print screen
mangle și filtrelor.
Fiec are conntr ack table en try repre zintă un schimb
de date bidirecțional.
Conntr ack con sum ă foarte mu lte resurse CPU
(dezactivați-l dacă nu uitilizați firewall).

Conn-Track on Winbox Connection State


Connection state este statutul atribuit fiecărui
pachet de către sistemul conntrack:
New – pachetul deschide o condiție nouă.
Established – pachetul aparține unei conexiuni
deja cunoscute.
De adaugat un print screen
Invalid – pachetul nu aparține nici unei
conexiuni cunoscute.
Related – pachetul de asemenea deschide o
nouă conexiune, dar are o oarecare legătură cu
conexiunea deja cunoscută.
Connection state ≠ TCP state
© MikroTik 2009 © MikroTik 2009 96

24
16.06.2015

Connection State Firewall Filter

• Firewall implementează filtrarea pachetelor,


deaceea oferă funcții de securitate care sunt
folosite pentru administrarea datelor către, de la
și prin ruter.

• El servește drept instrument de prevenire a


accesului neautorizat în rețelele direct atașate și
pe însuși ruterul, și, de asemenea, servește drept
filtru pentru traficul de ieșire.

Tacticile Firewall (1) Tacticile Firewall (2)


Aruncați tot ce este inutil, acceptați tot restul Acceptați doar ceea ce este util, aruncați tot restul

25
16.06.2015

Instalare simplă Firewall Firewall cu DMZ

Mai multe opțiuni Structura Filtrului Firewall

Regulile filtrului Firewall sunt organizate în lanțuri


Există lanțuri default și user-defined
Sunt 3 lanțuri default:
input – pachetele processes trimise către ruter.
output – pachetele processes trimise de către
ruter.
forward – pachetele processes trimise prin ruter.

Fiecare lanț u ser-def ined tre bu ie să f ie su bor donat ce l


puțin unui lanț default.

26
16.06.2015

Firewall Filter Structure Diagram Simple Pachet Flow

Filter Chains Filter Rules – Winbox View

• Firewall Filter facility este un instrument de filtrare a


pachetelor
• Filtrele firewall constau din secvența regulilor IF-THEN

- 0) IF <condition (s)> THEN <action>


- 1) IF <condition (s)> THEN <action>
- 2) IF <condition (s)> THEN <action>

• Dacă pachetul nu respectă toate condițiile regulii, el va


fi trimis mai departe la următoarea regulă.
• Dacă pachetul îndeplinește toate condițiile regulii,
acțiunea specificată va fi executată.

27
16.06.2015

Firewall Filter - Forward Laborator: Chain Forward

• Acest filtru se aplică la traficul care trece prin ruter.


• Pentr u a proteja LAN și a contro la traf icu l dintre
LAN și internet
• Prote jează u tilizatorii de viruș i ș i toto dată
Internetul de utilizatori.

Laborator: Chain Forward


Laborator: Chain Forward (winbox)

• Sunt următoarele reguli:

- Accept LAN to Internet


- Accept DMZ to Internet
- Accept LAN to DMZ
- Drop Internet to LAN
- Drop DMZ to LAN
- Selected Internet to DMZ

28
16.06.2015

Firewall Filter Chains User Defined Chains (1)


• Puteț i redirecț iona pe o altă ru tă traf icu l către
user-def ined ch ain s u tilizân d action= jum p (ș i
redirecțion ați în apo i către defau lt chain
utilizând action=return)
• Utilizator ii pot adăuga orice număr de lanțuri.
• Lanțu rile user- define d se u tilize ază pen tru
optim izarea structurii firewall și aducere a ei la
o formă mai ușor de citit și administrat.
• Lanțu rile u ser-def ine d creș te performanț a prin
reducerea nu măr ulu i me diu de regu li de
procese per pachet.

User Defined Chains (2) Jump Scheme

Nu este nevoie de făcut 2 reguli identice pentru fiecare lanț input și forward.

29
16.06.2015

Laborator: Chain Forward


Laborator: Chain Forward (winbox)
• Creați 3 reguli jump pentru selectarea:
- doar utilizatorii valizi pot utiliza internetul
- doar utilizatorii valizi pot accesa DMZ
- doar serverele valide pot accesa internetul
- doar serverele valide pot fi accesate din internet
[Link].1 – port 80

• Creați o regulă accept established la prima poziție


– gândiți-vă la funcționalitate - verificați setările
cu vecinul.

Bagon IP Address Opțiunile Address List

• În loc de a crea câte o regulă de


• Sunt ~ 4,3 miliarde de adrese IPv4.
filtrare pentru fiecare adresă IP
• Sunt multe șiruri de adrese IP restricționate în din rețea, puteți crea doar o
rețele publice. singură regulă pentru întreaga
• Sunt șiruri de adrese IP rezervate (neutilizate listă de adrese IP.
la moment) pentru anumite scopuri. • Utilizați opțiunile Srt./Dst.
• Sunt multe șiruri de adrese IP neutilizate. Address
• Creați o listă de adrese în meniul
“/ip firewall address-list”.

30
16.06.2015

Bagon IP Address Laborator: Address List

• /ip firewall address-list Creați o listă de adrese cu cele mai comune bogon IP-uri.
• Adăugați list=BOGONS address=[Link]/8
[Link]/8 [Link]/24
[Link]/8 [Link]/16
[Link]/8 [Link]/15
[Link]/16 [Link]/24
[Link]/12 [Link]/24
[Link]/24 [Link]/3

Pentru ultima versiune a listei, accesați [Link]

Laborator: Address List (2) Firewall Filter - Input

• Protecția ruterului – permite doar serviciile


necesare venite de la o sursă sigură cu
sarcina agreată.

31
16.06.2015

Laborator: Connection State Laborator: Connection State

Creați 3 reguli pentru a asigura că doar pachetele


noi connection-state vor trece prin filtrul input:
Drop all connection-state invalid packets
Accept all connection-state related packets
Accept all connection-state established packets
Creați 2 reguli pentru a asigura că doar Dvs. veți
avea acces la ruter.
Accept all packets from your local network
Accept all packets from DMZ server
Drop everything else

RouterOS Services

32
16.06.2015

Laborator: RouterOS Services Laborator: RouterOS Services

Creați reguli care să permită accesare din rețeaua


publică doar a serviciilor necesare RouterOS.
Utilizați acțiunea“log” pentru a determina aceste
servicii.
Creați o regulă care să permită winbox, ssh și telnet
să facă conexiune cu rețeaua trainerului
([Link]/32) .
Aranjați regulile după cum se cuvine.
Scrieți comentarii pentru fiecare regulă firewall.

Parametrii Filtrelor
Important! (deasemenea mangle)
Action Dst-port Packet-size
• Filtrele Firewall nu filtrează comunicarea la Address-list Fragment Per-connection-classi fier
Address-list-timeout Hotspot Port
nivel MAC. Chain Icmp-options Protocol
• Trebuie să deconectați caracteristicile MAC- Comment In-bridge-port Psd
Connection-bytes In-interface Random
telnet și MAC-Winbox cel puțin pe interfețele Connection-limit Ingress-priority Reject-with
Connection-mark Ipv4-options Routing-mark
publice. Connection-rate Jump-target Src-address
• Trebuie să deconectați caracteristica network Connection-state Layer7-protocol Src-address-list
Connection-type Limit Src-address-type
discovery și ruterul nu se va mai dezvalui mai Content Lo-prefix Src-port
mult. Dscp Nth Src-mac-address
Dst-address Out-bridge-port Tcp-flags
• (“/ip neighbor Dst-address-list Out-interface Tcp-mss
Dst-address-type O2p Time
Dst-limit Pachet-mark ttl

33
16.06.2015

Acțiunile Filtrelor (1) Acțiunile Filtrelor (2)


• Accept - acceptă pachetul. Pachetul nu va trece la • Add-dst-to-address-list – adaugă adresa de destinație la
următoarea regulă firewall. lista de adrese specificată de parametrul listei de adrese.
• Drop – respinge pachetul fără vreo notificare. • Add-src-to-address-list - adaugă adresa sursă la lista de
• Reject - respinge pachetul și trimite un mesaj adrese specificată de parametrul listei de adrese.
• Log – adaugă un mesaj la system log cu următorul conținut:
ICMP de respingere:
in-interface, aut-interface, src-mac, protocol, src-ip:port -˃dst-
- reject-with: specifică eroarea care va fi
ip:port și lungimea pachetului. După ce pachetul este
trimisă înapoi în cazul în care potrivit, el este trecut la următoarea regulă din listă, similar
pachetul va fi respins. cu passthrough.
• Tarpit – capturează și reține conexiunile TCP (răspunde • Jump – sare la lanțul definit de utilizator specificat de
cu SYN/ACK pachetului TCP SYN de intrare. valoarea parametrului jump-target.
• Passthrought – ignoră această regulă și treci la • Return – trece controlul înapoi la lanțul de la care a sărit.
următoarea (util pentru statistici).

Parametri - General (1) Parametri - General (2)

• Src-address / dst-address • Src-port / dst-port (doar pentru protocoalele tcp și udp)

- o adresă ([Link]) - un singur port (80)


- addresa cu subnet ([Link]/24) - șir de porturi (1-1024)
- șir de adrese ([Link]-[Link]) - multe porturi (80,21,22,23)
• Any-port – se va potrivi cu porturile src sau dst
• Port (doar pentru protocoalele tsp și udp) • Exemplu de potrivire a traficului http:
- pentru cerere : dst-port=80
- un singur port (80) - pentru răspuns: src-port=80
- șir de porturi (1-1024) - pentru ambele cerere și răspuns: any-port=80
- multe porturi (80,21,22,23)

34
16.06.2015

Parametri: Interfața Parametri - Avansat

• Routing mode:
- In/out interface: se utilizează denumirea fizică a • Src-mac-address : poate fi utilizat doar dacă
interfeței (ex: ether1, ether2). gazda se conectează direct la ruter. Nu poate fi
- In/out bridge port : nu se utilizează. detectat dacă sunt rutere între ele.
• Random : potrivește pachetele aliatoriu cu
• Bridge mode: probabilitatea dată (1-99).
- In/out interface : utilizează denumirea bridge-ului (ex: • Ingress-priority : potrivește ingress-priority
bridge1, bridge 2), nu denumirea fizică a interfeței.
- In/aut bridge port : utilizează denumirea fizică a
a pachetelor. Prioritatea poate deriva din
interfeței (ex: ether1, ether2). VLAN, WMM sau MPLS EXP bit.

Parametru: Connection-byte Parametri - Avansat

• Connection-byte : potrivește pachetele doar dacă • Packet-size : potrivește pachetele cu o


un număr anumit de biți au fost transferați printr-o dimensiune specifică sau dimensiunea șirului
conexiune. în biți, de regulă pentru a determina dacă
pachetul va fi fragmentat.
- trebuie să fie în șir (ex: 100000 – 4500000), niciodată nu
cunoaștem dimensiunea exactă a connection-byte a unei
conexiuni. • Layer 7 protocol : denumirea filtrului Nivel 7
- 0 – înseamnă infinit, de exemplu connection-bytes=2000000-0, definit în meniul protocolului Nivel 7.
înseamnă că regulă se potrivește dacă mai mult de 2 MB au
fost transferați prin conexiunea relevantă.

35
16.06.2015

Parametru: src/dst-addredd-type Network Intrusion Type


• Unicast – adresa IP utilizată pentru transisiunea
point to point • Network intrusion este este un rosc serios de
• Local – dacă dst-address este atribuită unei securitate care poate rezulta nu numai în
interfețe ale ruterului. respingere temporară, dar de asemenea în refuzul
• Broadcast – pachetul este trimis către toate total a serviciului de rețea.
echipamentele din subrețea. • Există 4 tipuri mari de network intrusion:
• Multicast – pachetul este redirecționat unui grup
definit a echipamentelor. - Ping flood
- Port scan
- DoS attack
De adaugat un print screen
- Ddos attack

Ping Flood Parametru: icmp-type

• Ping flood de regulă constă din volume de • Este nevoie de permis:


mesage ICMP aliatorii
- PING – message 0:0 dan 8:0
• Cu condiția “limit” este posibil de legat rata
- TRACEROUTE – message 11:0 dan 3:3
de potrivire a regulei (rule match rate) la o - Path MTU discovery – message 3:4
anumită limită.
• Această condiție este deseori utilizată cu • Și să blocați orice alt icmp type.
acțiunea “log”. • Exp: blocarea trace route
- /ip firewall filter chain=forward action=drop
protocol=icmp icmp-options=11:0
- /ip firewall filter chain=forward action=drop
De adaugat un print screen protocol=icmp icmp-options=3:3

36
16.06.2015

icmp-type Laborator: ICMP Flood

• Creaţi un lanţ nou – ICMP

- Acceptaţi 5 mesaje ICMP necesare.


- Setaţi match rate la 5 pps cu 5 packet burst possibility.
De adaugat un print screen - Drop toate alte pachete ICMP

• Puneţi toate pachetele ICMP în lanţul ICMP

- Creaţi o regulă action “jump” în chain input


- Plasaţi-o corespunzător
- Creaţi o regulă action “jump” în chain Forward
- Plasaţi-o corespunzător

Port Scan Detection (PSD) Port Scan Detection (PSD)

• Încercări de a detecta scan-uri TCP şi UDP • WeightThreshold - greutatea totală a ultimelor


pachete TCP/UDP cu diferite porturi de destinaţie,
venite de la aceeaşi gazdă pentru a fi tratade drept port
scan sequence.
De adaugat un print screen •DelayThreshold – întârziere pentru pachete cu
diferite porturi de destinaţie, venite de la aceeaşi gazdă
pentru a fi tratade drept posibile port scan sequence.
• LowPortWeight – greutatea pachetelor cu
destination port privilegiat (<=1024).
• HighPortWeight – greutatea pachetului fără
destination port privilegiat.

37
16.06.2015

Laborator: PSD DoS Attack

• Creaţi PSD protection • Scopul principal (main target) al atacurilor DoS


este cunsumul de resurse, precum sunt CPU time
- Creaţi o regulă PSD drop în chain input sau bandwidth, astfel serviciile standarde vor primi
- Plasaţi-o corespunzător Denial of Service (DoS).
- Creaţi o regulă PSD drop în chain Forward • De obicei ruterul este inundat de pachete
- Plasaţi-o corespunzător TCP/SYN (connection request). Astfel că serverul
răspunde cu pachet TCP/SYN –ACK şi să aştepte
un pachet TCP/ACK.
• De cele mai multe ori atacatorii DoS sunt
utilizatori virusaţi.

DoS Attack Protection Parametru: Connection Limit

• Toate IP-urile cu mai mult de 10 conexiuni pe • Pentru a potrivi (m atch) connec tion lim it per
ruter se vor considera drept atacatori DoS. adresă sau bloc de adrese.
• Ex: pentru a potr ivi (m atch) fiecare su breţea /26
• Cu fiecare conexiune TCP dropped, permite cu 200 sau chiar mai multe conexiuni.
atacatorilor să creeze o conexiune nouă.

• Trebuie implementată DoS protection în 2 paşi:


- Detection – crearea unei liste de DoS atacatori în baza
connection-limit
De adaugat un print screen
- Suppression – aplicarea restricţiilor faţă de DoS
atacatori.

38
16.06.2015

DoS Attack Detection DoS Attack Suppression

• Pentru a nu permite
atacatorul să creeze
conexiuni noi, vom utiliza
action=tarpit
De adaugat un print screen De adaugat
• Trebuie să plasăm această un print
regulă înainte de regulă screen
detection, dealtfel address-
list entry se va rescrie de
fiecare dată.

Mai multe despre


DDoS Attack securitatea rețelei
• Distributed denial al • Mikrotik RouterOS Network Security, Threats
Service attack este foarte & Countermeasures
asemănător cu DoS attack, de Tom Smyth (Wireless Connect, Ireland)
doar că acesta apare din [Link]

multiple compromised De adaugat un


systems. print screen • Layer 2 Security – Attacks and
Countermeasures using Mikrotik RouterOS
• Unicul lucru care poate de Wardner Maia (MD Brasil, Brazil)
[Link] [Link]
ajuta este opțiunea TCPSyn
Cookie în conntrack system.

39
16.06.2015

Network Address Translation


(NAT) Structura NAT
• Așa cum într-un packet IP header există două adrese
Regulile Firewall NAT sunt organizate în lanțuri.
IP și 2 porturi, există 2 tipuri de NAT:
- sourse nat (src-nat) – care rescrie adresa IP sursă Esită 2 lanțuri default:
și/sau port dstnat – procesează traficul trimis spre și prin
- destination nat (dst-nat) – care rescrie adresa IP de ruter, înainte ca acesta să se împartă în lanț
destinație și/sau port. “input” și “forward” al filtrului firewall.
srcnat – procesează traficul trimis de la și prin
• Regulile Firewall NAT procesează doar primul pachet ruter, după ce acesta s-a unificat în lanț “output”
al fiecărei conexiuni (connection state “new” packets). și “forward” al filtrului firewall.
De asemenea, mai sunt lanțuri user-defined.

NAT
Chain=dstnat

Acțiunile tipice pentru acest lanț sunt:


- dst-nat
- redirect

40
16.06.2015

Chain=dstnat action=dst-nat Exemplu de dst-nat

Acțiunea “dst-nat” modifică adresa de destinație a


pachetului și a portului cu adresa și portul
specificate.
Această acțiune poate avea loc doar în chain
De adaugat un De adaugat un
dstnat. print screen print screen
Aplicație tipică: asigură accesul la serviciile rețelei
locale din rețeaua publică.

Chain=dstnat action=redirect Exemplu de regulă Redirect

Acțiunea “redirect” modifică adresa de destinație a


pachetului și a portului cu adresa ruterului și
portul specificat.
Această acțiune poate avea loc doar în chain De adaugat un De adaugat un
dstnat. print screen print screen
Aplicație tipică: transparent proxying a serviciilor
de rețea.
(DNS,HTTP).

41
16.06.2015

Laborator: Redirect Source NAT

• Capturați toate pachetele TCP și UDP port 53


• Un ruter Src-NAT înlocuiește adresa sursă a
care își au originea în rețeaua Dvs. privată
unui pachet IP cu alte adrese IP pentru că el
[Link].0/24 și redirecționați-le către ruterul
“călătorește” prin ruter.
Dvs.
• O operațiune inversă este aplicată pachetelor
• Setați serverul DNS al laptopului Dvs. la random
reply care “călătoresc” în cealaltă direcție
IP address.
(dstnat).
• Ștergeți cache-ul DNS de pe ruter și browser.
• Două acțiuni tipice:
• Încercați să accesați Internetul.
- src-nat
• Observați DNS cache de pe ruter.
- masquerade

Chain=srcnat Source-nat Drawbacks

• Chain=srcnat action=masquerade • Gazdele din spatele unui ruter cu NAT activat nu au o


- Înlocuiește adresa sursă a unui pachet IP cu IP-ul conexiune adevărată end-to-end:
determinat de echipamentul de rutare.
- Utilizat pentru simplificarea instalării, mai ales atunci - nu este posibilă o conexiune inițiată din afară.
când adresa IP pe interfața publică este atribuită automat - unele servicii TCP vor lucra în mod pasiv.
(exemplu: DHCP, PPTP sau EoIP).
- src-nat în spatele câtorva adrese IP este inprevizibil.
- aceleași protocoale vor cere așa numiții NAT helpers
• Chain=srcnat action=src-nat pentru o funcționare corectă (NAT traversal).
- puteți atribui src-address manual.

42
16.06.2015

NAT Helpers Alte acțiuni NAT


• netmap
• Pentru a depăși aceste limitări RouterOS include - Crează static 1:1 mapping a unui set de adrese IP la altul.
un număr de așa numiții NAT helpers, care - Deseori utilizat pentru distribuirea adreselor IP publice
activează NAT traversal pentru diverse gazdelor din rețelele private.
protocoale.
• same
• Puteți edita porturile, dar nu puteți adăuga un
- Oferă aceeași adresă IP sursă/destinație unui anumit client
serviciu nou. din șirul de adrese furnizate pentru fiecare conexiune.
- Utilizat pentru servicii care așteaptă aceeași adresă client
De adaugat un print screen pentru conexiuni multiple de la același client.

Ambele acțiuni pot fi utilizate pentru chain srcnat și dstnat.

Mangle Tipurile Mangle


• Mangle permite marcarea pachetelor IP cu marcaje • Connection Mark
speciale. - plasează un marcaj specificat de parametrul new-connection-
• Aceste marcaje sunt utilizate de ruter pentru mark pe întreaga conexiune care se potrivește cu regula.
routing și bandwidth management pentru a
• Packet Mark
identifica pachetele.
- plasează un marcaj specificat de parametrul new-packet-
• Adițional, mangle este utilizat pentru modificarea
mark într-un pachet care se potrivește cu regula.
unor câmpuri în IP header, precum sunt câmpurile
TOS (DSCP) și TTL. • Route Mark
• Marcajele mangle există doar în ruter, ele nu sunt - plasează un marcaj specificat de parametrul new-routing-
transmise prin rețea. mark într-un pachet. Acest tip de marcaje se folosește doar
pentru politica de rutare.

43
16.06.2015

Mangle cu alte particularități


Marking Connections

• Utilizați mark connection pentru a identifica o


conexiune sau un grup de conexiuni cu o marcaj
specific de conexiune.
• Connection marks sunt stocate în connection
tracking table.
• O conexiune poate avea doar un singur marcaj de
conexiune.
• Connection tracking ajută la asocierea fiecărui
pachet cu o conexiune specifică (connection
mark).

Regula Mark Connection Marking Packets


• Pachetele pot fi marcate:

- indirect. Utilizând partilaritatea connection tracking


în baza connection mark preventiv creat. (mai rapid).
- se recomandă utilizarea mark-conn înainte de mark-
packet pentru marcare (la chain prerouting) cu parameter
client address pe natted network (rețea cu nat), ori tcp
protocol port.

- direct – fără connection tracking – nu sunt necesare


marcaje de conexiune, ruterul va compara fiecare pachet
cu o anumită condiție (acest proces imită unele
caracteristici ale connection tracking.

44
16.06.2015

Regula Mark Packet Mangle

Mangle Chain (1) Mangle Chain (2)

• Chain Prerouting:
• Chain prerouting
• Chain input - pentru traficul spre ruter și prin ruter.
• Chain forward - unicul lanț pentru a face marcaje pentru global-in
• Chain output - nu poate utiliza parametrul out-interface.
• Chain postrouting - fără conn-mark, nu putem face packet mark cu
parametrul dst-address a clientului pentru traficul
downlink pe rețeaua cu NAT (natted network).
New user-defined chains pot fi adăugate, dacă e - route-mark pentru traficul care trece prin ruter.
necesar.

45
16.06.2015

Mangle Chain (3) Mangle Chain (4)


• Chain Input:
- doar pentru traficul care vine spre ruter. • Chain Postrouting:
- marcaj doar pentru filtrul input. - face un marcaj înainte de Global-Aut queue.
- nu poate utiliza parametrul out-interface. - nu poate fi utilizat pentru global-in și policy-route.
- pentru traficul care iese din ruter și care trece prin el.
• Chain Forward: - nu poate utiliza parametrul in-interface.
- doar pentru traficul care trece prin ruter.
- nu poate fi utilizat pentru global-in și policy-route.

• Chain Output:
- doar pentru traficul care iese din ruter.
- route mark pentru traficul care iese din ruter.
- nu poate utiliza parametrul in-interface.

Laborator: Mangle Mangle Winbox View

• Marcați toate conexiunile de la adresa


[Link].100 (imaginar VIP 1).
• Marcați toate pachetele din VIP 1 connections. De adaugat un
• Marcați toate conexiunile de la adresa print screen
[Link].200 (imaginar VIP 2).
• Marcați toate pachetele din VIP 2 connections.
• Marcați toate celelalte conexiuni.
• Marcați pachetele din toate celelalte conexiuni.

46
16.06.2015

QoS

QOS • QoS nu înseamnă neapărat o limitare a lățimii de


bandă (bandwidth).
HTB & Burst • Se folosește pentru a reglementa utilizarea lățimii
de bandă disponibile.
Queue Type • De asemenea, QoS poate fi folosit pentru a seta
Simple Queue prioritățile în baza unor parametri stabiliți și a
evita traficului care monopolizează toate
Queue Tree bandwidth disponibile.

Rate limitation Shaper și Scheduler

• Rate limiting poate fi efectuat în 2 moduri:

- renunță la toate pachetele care depășesc limita De adaugat un


de rată – rate limiting (dropper sau shaper)
(100% rate limiter when queue-size=0)
print screen

- reține pachetele care depășesc limita de rată


specificată în queue și le transmite când este
posibil – rate equalizing (scheduler) (100% rate
equalizing when queue-size=unlimite d).

47
16.06.2015

Simple Queue Simple Queue

• Se aplică la global-in, global-aut (și, deasemenea,


global-total).
De adaugat un • Cu o regulă noi putem limita download și upload.
• Target address to specified client IP address.
print screen
• Se potrivește (match) cu unul sau mai multe packet-
mark.
• Parametrul Time disponibil.

Simple Queue nu mai este simplu

Target Address Interfața

• Target address este adresa IP pe care doriți s-o


limitați. • Interfața pe care clientul este conectat la ruter.
• Pentru o regulă queue simplă, puteți specifica mai • E nevoie de specificat interfața, dacă nu este setată
multe target addresses. target address.
• Ruter-ul va determina la care interfață target
address este conectată.
• Dacă setați target address, tipic nu e nevoie să
De adaugat un print screen
specificați interfața.

De adaugat un print screen

48
16.06.2015

Laborator: Simple Queue Queue Tree

• Limitați laptopul Dvs. cu parametrul target • Configurarea Queue-tree


address și de asemenea parametrul interfața. De adaugat este mai simplu decât
simple-queue.
• Scoateți limitarea traficului HIT de pe local
un print • Puteți alege să utilizați
proxy. screen interface queue (out-
interface).
De adaugat un print screen • Dar poate fi mai complex
deoarece trebuie să
utilizeze Mangle.

Hierarchical Token Bucket


(HTB)
Structura HTB

• Configurarea Queue-tree este mai simplu


decât simple-queue.
• Puteți alege să utilizați interface queue (out-
interface). De adaugat un print screen
• Dar poate fi mai complex deoarece trebuie să
utilizeze Mangle.

49
16.06.2015

HTB Sample HTB/Queue

De adaugat un print screen De adaugat un print screen

HTB (cont.) HTB Features

• Când pachetul trece prin ruter, acesta parcurge • Ierarhie


poate cele 4 HTB tree-uri. - Aproape nu are limită ierarhică, limita fiind doar
imaginația utilizatorulu i….
• Când pachetul se deplasează spre ruter, acesta
trece numai global-in și global-total HTB. • Grupare
- Se pot grupa câțiva clienți într-un parent.
• Când pachetul pleacă din ruter, acesta trece - Un client poate împrumuta bandwidth de la un alt
global-aut, global-total și interfața HTB. client din același grup, dacă e necesar.

• Setări individuale pentru fiecare leaf queue.

50
16.06.2015

Staged Limitation Conceptul HTB


• CIR (Committed Information Rate) • Fiecare queue poate fi un parent pentru alt queue.
• Toate queue va primi traficul la cel puțin limit-at.
În cel mai rău caz flow va primi limit-at no matter • Din momentul în care un queue are cel puțin un
what ( presupunând că poate trimite un volum așa child, acesta devine un inner queue, toate queues
de mare de date) – limit-at. fără copii (children) – leaf queues.
• Leaf queues produc consum consumul traficului
• MIR (Maximal Information Rate) real, inner queues sunr responsabile doar de
distribuirea traficului.
În cel mai bun caz flow poate ajunge la max-limit • Toate leaf queues sunt tratate în mod egal. Toate
dacă există o bandwidth de rezervă – max-limit. child queue (indiferent de câte nivele de parent) vor
fi la același nivel de HTB (la bază).

Parent & Dual Limitation (1) Parent & Dual Limitation (2)
• Max-limit a unui child trebuie să fie mai mică sau • Max-limit a lui parent trebuie să depășească sau
egală cu max-limit a parent să fie egală cu limit-at cumulat a clientului.
- max-limit (parent)˃=max-limit (child1) Max-limit (parent)˃=limit-at (child1) + … limit-at + (child*)
- max-limit (parent)˃=max-limit (child2)
- max-limit (parent)˃=max-limit (childN) • Exemplu:
- queue1 - limit-at = 512k - parent = parent1
• Dacă max-limit a unui client este mai mare decât - queue2 - limit-at = 512k - parent = parent1
max-limit a parent, atunci clientul niciodată nu - queue3 - limit-at = 512k - parent = parent1
ma primi traficul precum este setat la max-limit a - parent1 max-limit trebuie să fie cel puțin
acestuia. (512k* 3). Dacă este mai mică, atunci max-
limit va depăși.

51
16.06.2015

Priority Atenție!
• Deja cunoașteți că limit-at (CIR) la toate queues va fi • Cea mai înaltă regulă parent cere doar max-limit,
dat afară, indiferent de ce. și nu are nevoie de limit-at și priority.
• Priority este responsabil de distribuirea traficului
rămas parent queues la child queues astfel încât ele • Priority funcționează doar la child de mai jos.
să poată atinge max-limit.
• Queue cu priority mai mare vor atinge max-limit • Priority lucrează doar pentru a calcula cum să
înaintea queue-lor cu prioritate mai mică. împrumutăm bandwidth rămas de la parent după
- 8 este cea mai mică prioritate, 1 este cea mai înaltă prioritate. ce toți children ajung la limit-at.
• Faceți o notiță precum că doar priority funcționează:
- Pentru leaf queues – priority în inner queue nu au nici un sens.
- Dacă max-limit este specificat (not 0 ).

HTB Distribution (1) HTB Distribution (2)

Chiar dacă max-limit al parent este 2 mbps, iar child B și child C vor primi fiecare câte 2
(în total fiind 4 mbps). Dacă C nu folose ște link-ul, B totuși va primi 2 mbps, nu poate să
Dacă child B și C folosesc link-ul, ei vor avea fiecare câte 2mbps, dar se extindă la 4 mbps deoarece este limitat de max-limit al max-limit al parent-ului său.
dacă child C nu-l utilizează, atunci child B va primi 4 mbps. Max-limit al parent A trebuie să fie minim 4 mbps.

52
16.06.2015

HTB Distribution (4)


HTB Distribution (3)

B poate să se extinde de la 2 mbps la 3 mbps, deoarece parent A încă


mai are bandwidth rămase, și B are o prioritate mai înaltă decât C. B,C1 și C2 vor primi fiecare câte 2 mbps, precum este setat la limit -at.

HTB Distribution (5)


HTB Distribution (6)

C1 și C2 vor primi fiecare câte 2 mbps (max-limit), deoarece parent-ul lor (C) După ce toate limit-at au fost atinse, bandwidth rămase vor fi distribuite în
are limit-at 4 mbps. funcție de prioritate.

53
16.06.2015

HTB Distribution (7) HTB Distribution (8)

Toate leaf queues vor primi 2mbps.


Doar priority pe client leaf va conta.

HTB Distribution (9) HTB Distribution (10)

C1, C2, C3 vor primi 2 mbps, deoarece ei au prioritate mai înaltă față B primește 4 mbps deoarece este limit-at, iar apoi este divizat în B1 și
de B1 și B2. B2 (2mbps fiecare). C1 ˃ C2 și C3 deoarece au prioritate mai înaltă.

54
16.06.2015

HTB Distribution (11) Exemplu de implementare HTB

Bandwidth divizată în mod egal între B1, B2, C1, C2, C3 deoarece ele
au aceeași prioritate.

Laborator: HTB & Queue Tree

• Încercați să faceți queue tree limitation pentru


HTB Live Demo câteva adrese IP ale diferitor clienți pentru traficul
uplink și downlink.

• Lucrați cu parent și HTB.

• Setați diferite priorități și observați cum acestea


lucrează.

55
16.06.2015

Burts Burts – Average Data Rate

• Burst este una dintre cele mai bune căi de • Average data rate se calculează în felul următor:
creștere a performanței HTTP. - burst-time se împarte în 16 perioade.
• Burst-urile sunt folosite pentru a permite data - ruterul calculează average data rate a fiecărei
rates mai mari pe o perioadă scurtă de timp. clase pe aceste perioade mici.
• Dacă un average data rate este mai mic decât
burst threshold, burst poate fi folosit (actual • Actual burst period nu este egal cu burst-
data rate poate atinge burst-limit). time. Acesta poate fi de câteva ori mai scurt
• Avarage data rate se calculează de la ultima decât burst-time, în funcție de max-limit, burst-
burst-time secundă. limit, burst-threshold și actual data rate history
(vedeți un exemplu pe pagina următoare).

Burts Example (2)


Burts Example (1)
Limit-at=128kbps, max-limit=256kbps, burst-time=8, burst-
threshold=192kbps, burst-limit=512kbps.

56
16.06.2015

Burts Example Laborator: Burt

• Noi putem seta diferite limite și face burst la


fiecare leaf. • Creați un queue tree și puneți un parametru burst.
• Un anumit parametru burst va face clientul să
creadă că lățimea de bandă este mai rapidă. • Încercați bandwidth-test pentru a testa regula.

Queue Type Default Queue Type

• RouterOS are 4 tipuri de queue:

[Link] – First In First Aut (pentru biți sau pentru


pachete)
[Link] – Random Early Detect (sau Drop)
[Link] – Stochastic Fairness Queuing
[Link] – Per Connection Queuing ( Proprietate
MikroTik)

57
16.06.2015

FIFO FIFO Scheme

• Aceste discipline de așteptare (queuing) se bazează


pe algoritmul FIFO (Firt-In Firt-Out). Diferența
dintre PFIFO și BFIFO este că unul se măsoară în
pachete, iar altul în biți.

• Orice pachet care nu poate fi pus în așteptare (dacă


queue este completat), este aruncat. Cozile foarte
lungi, vor crește latența, dar utilizează mai bine
canalele.

PFIFO & BFIFO

© MikroTik 2009 232

58
16.06.2015

mq - pfifo
mq-pfifo este pfifo cu suport pentru multiple
transmit queues. Acest queue este beneficiar pe SMP
systems cu interfețe ethernet care au suport pentru
multiple transmit queues și au un linux driver
support pentru multiple transmit queues.

© MikroTik 2009 233

RED Scheme
Random Early Detect (RED)
• Random Early Drop este un
mecanism de așteptare
(queuing) care încearcă să evite
network congestion prin
controlul efectuat asupra
lungimii cozii (queue).
• Behaviour: același ca și FIFO cu feature – probabilitatea adițională
de drop, chiar dacă coada nu este completă.
• Această probabilitatea se bazează pe comparația average queue
lenght pe o anumită perioadă de timp cu threshold minimal și
maximal – cu cât e mai aproape de maximal threshold cu atât mai
mare este probabilitatea de drop.

59
16.06.2015

RED Calculation

Stochastic Fairness Queuing


RED Calculation (SFQ)
• SFQ este asigurat de
algoritmii hashing și round-
robin. Fluxul de trafic poate fi
identificat de 4 opțiuni ( src- De adaugat
address, dst-address, src-port print screen
și dst-port). Deci acești
parametri sunt utilizați de
algoritmul SFQ hashing
pentru a clasifica pachetele în
unul din 1024 posibile
substreams.

60
16.06.2015

Stochastic Fairness Queuing


(SFQ)
SFQ

• Algoritmul round-robin va începe să distribuie


lățimea de bandă disponibilă tuturor sub-streams,
în fiecare round dând sft-allot biți de trafic.
Întreaga SFQ queue poate conține 128 pachete și
există 1024 sub-streams disponibile.

• SFQ este numit “Stochastic” deoarece el nu alocă


real o queue fiecărui flux, el are un algoritm care
divizează traficul unui număr limitat de queues
(1024) utilizând un algoritm hashing.

Per Connection Queuing (PCQ) PCQ


• PCQ este asemănător cu SFQ, dar acesta are
posibilităț i adiționale.
• Este posibil de ales flow identifiers (dst-
address|dst-port|src- addre ss| src- port).
• De exemplu dacă clasificați fluxurile după src-
address pe interfața locală (interfața cu clienții
Dvs), fiecare PCQ sub-stream va fi un anumit
upload a clientului.
• Este posibil să setăm o limitare de viteză la sub-
stream cu opțiunea pcq-rate. Dacă pcq-rate=0
sub-stream va diviza traficul în mod egal.

61
16.06.2015

Src-address classifier Dst-address classifier

Exemplu PCQ Exemplu PCQ

62
16.06.2015

Exemplu PCQ
Configurarea PCQ

• Rate = sub-stream max-limit


• Total-limit (pachet în queue) = Limit * numărul de
sub-stream.
• Ex: 100 utilizatori, 200 pachete per utilizator (limit) și
total-limit = 200,000

Burst on Sub-stream
Burst on Sub-stream

63
16.06.2015

Address Mask on PCQ PCQ cu Queue Tree

• PCQ (cu sec-address classifier) și Queue Tree


(interface based) pe o rețea cu NAT nu vor lucra
pentru traficul uplink.
- pentru că interface queue pentru uplink localizat
după src-process -˃ toate scr-addresses devin
aceleași.

• Acum puteți grupa clienții care au aceeași • Sugestii:


subnet size, not only / 32 - schimbați interfața pe global-in, sau
• PCQ acum lucrează de asemenea în IPv6 și - folosiți simple queue și setați paramerul
puteți seta subnet-ul. interfeței.

Note PCQ cu HTB

• În PCQ, dacă ambele limite (pcq-rate și max- • În HTB, nu putem seta priority pe inner queue
limit) nu sunt specificate, queue behavior (grupuri de clienți).
(comportamentul cozii) poate fi imprecis. De • Regula PCQ este un leaf queue, și, respectiv,
aceea se recomandă să setați măcar una dintre putem seta prioritatea ca și prioritatea grupului
aceste opțiuni. de clienți.
- un grup este mai prioritar față de alt grup.

64
16.06.2015

Laborator: Queue Type

• Testați toate tipurile de queue pe “Other-download”


queue în queue tree. Folosiți band-width test pentru
verificare.

• Ajustați structura Q0S cu tipul de queue propriu.


- creați un packet mark pentru tot traficul p2p și
creați SFQ queue pentru el.
- modificați HTTP queue type în PCQ.

65

S-ar putea să vă placă și