MTCTCE
MTCTCE
2015
Agendă
3 4
1
16.06.2015
Setările Ruterelor:
- Adresa IP (WLAN) : [Link]/24
- Adresa IP (ether1) : [Link].254/24
- Gateway & DNS : [Link]
- Services : DNS server & src-nat
5
2
16.06.2015
© MikroTik 2009
3
16.06.2015
4
16.06.2015
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
• 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.
6
16.06.2015
DHCP Client
DHCP PORTS
27
7
16.06.2015
8
16.06.2015
DHCP Server
DHCP Networks
1. 4.
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
© MikroTik 2009 37
10
16.06.2015
11
16.06.2015
12
16.06.2015
13
16.06.2015
14
16.06.2015
15
16.06.2015
[Link]/24
[Link]/24 RB-2
RB-1
[Link]/24 [Link]/24 [Link]/24
16
16.06.2015
17
16.06.2015
18
16.06.2015
• 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
20
16.06.2015
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
© MikroTik 2009
22
16.06.2015
23
16.06.2015
24
16.06.2015
25
16.06.2015
26
16.06.2015
27
16.06.2015
28
16.06.2015
Nu este nevoie de făcut 2 reguli identice pentru fiecare lanț input și forward.
29
16.06.2015
30
16.06.2015
• /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
31
16.06.2015
RouterOS Services
32
16.06.2015
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
34
16.06.2015
• 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.
35
16.06.2015
36
16.06.2015
37
16.06.2015
• 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ă.
38
16.06.2015
• 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ă.
39
16.06.2015
NAT
Chain=dstnat
40
16.06.2015
41
16.06.2015
42
16.06.2015
43
16.06.2015
44
16.06.2015
• 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
• Chain Output:
- doar pentru traficul care iese din ruter.
- route mark pentru traficul care iese din ruter.
- nu poate utiliza parametrul in-interface.
46
16.06.2015
QoS
47
16.06.2015
48
16.06.2015
49
16.06.2015
50
16.06.2015
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 ).
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
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
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
Bandwidth divizată în mod egal între B1, B2, C1, C2, C3 deoarece ele
au aceeași prioritate.
55
16.06.2015
• 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).
56
16.06.2015
57
16.06.2015
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.
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
60
16.06.2015
61
16.06.2015
62
16.06.2015
Exemplu PCQ
Configurarea PCQ
Burst on Sub-stream
Burst on Sub-stream
63
16.06.2015
• Î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
65