Bazat e rrugëtimit statik në Mikrotik RouterOS

Rutimi është procesi i gjetjes së rrugës më të mirë për transmetimin e paketave përmes rrjeteve TCP/IP. Çdo pajisje e lidhur me një rrjet IPv4 përmban një proces dhe tabela rutimi.

Ky artikull nuk është një HOWTO, ai përshkruan drejtimin statik në RouterOS me shembuj, unë kam hequr qëllimisht pjesën tjetër të cilësimeve (për shembull, srcnat për hyrjen në internet), kështu që të kuptuarit e materialit kërkon një nivel të caktuar njohurish për rrjetet dhe RouterOS.

Ndërrimi dhe drejtimi

Bazat e rrugëtimit statik në Mikrotik RouterOS

Ndërrimi është procesi i shkëmbimit të paketave brenda një segmenti Layer2 (Ethernet, ppp, ...). Nëse pajisja sheh që marrësi i paketës është në të njëjtin nënrrjet Ethernet me të, ajo mëson adresën mac duke përdorur protokollin arp dhe e transmeton paketën drejtpërdrejt, duke anashkaluar ruterin. Një lidhje ppp (pikë-në-pikë) mund të ketë vetëm dy pjesëmarrës dhe paketa dërgohet gjithmonë në një adresë 0xff.

Routing është procesi i transferimit të paketave ndërmjet segmenteve Layer2. Nëse një pajisje dëshiron të dërgojë një paketë, marrësi i së cilës është jashtë segmentit Ethernet, ajo shikon në tabelën e saj të rrugëzimit dhe e kalon paketën te porta, e cila e di se ku ta dërgojë paketën më pas (ose mund të mos e dijë, dërguesi origjinal i paketës nuk është në dijeni për këtë).

Mënyra më e lehtë për të menduar për një ruter është si një pajisje e lidhur me dy ose më shumë segmente Layer2 dhe e aftë të kalojë paketa ndërmjet tyre duke përcaktuar rrugën më të mirë nga tabela e rrugëzimit.

Nëse kupton gjithçka, ose e dinit tashmë, atëherë lexoni. Për pjesën tjetër, unë rekomandoj fuqimisht që të njiheni me një të vogël, por shumë të gjerë artikull.

Routing në RouterOS dhe PacketFlow

Pothuajse i gjithë funksionaliteti në lidhje me kursin statik është në paketë sistem. Qese plastike kurs shton mbështetje për algoritmet dinamike të rrugëtimit (RIP, OSPF, BGP, MME), Filtrat e rrugëtimit dhe BFD.

Menyja kryesore për konfigurimin e rrugëzimit: [IP]->[Route]. Skemat komplekse mund të kërkojnë që paketat të para-etiketohen me një shenjë rrugëtimi në: [IP]->[Firewall]->[Mangle] (zinxhirët PREROUTING и OUTPUT).

Ekzistojnë tre vende në PacketFlow ku merren vendimet për kursimin e paketave IP:
Bazat e rrugëtimit statik në Mikrotik RouterOS

  1. Rrugimi i paketave të marra nga ruteri. Në këtë fazë vendoset nëse paketa do të shkojë në procesin lokal apo do të dërgohet më tej në rrjet. Paketat tranzit marrin Interface Output
  2. Drejtimi i paketave lokale dalëse. Marrë paketat dalëse Interface Output
  3. Hapi shtesë i rrugëtimit për paketat dalëse, ju lejon të ndryshoni vendimin e rrugëtimit në [Output|Mangle]

  • Rruga e paketës në blloqet 1, 2 varet nga rregullat në [IP]->[Route]
  • Rruga e paketës në pikat 1, 2 dhe 3 varet nga rregullat në [IP]->[Route]->[Rules]
  • Rruga e paketës në blloqet 1, 3 mund të ndikohet duke përdorur [IP]->[Firewall]->[Mangle]

RIB, FIB, Routing Cache

Bazat e rrugëtimit statik në Mikrotik RouterOS

Baza e informacionit të rrugëtimit
Baza në të cilën rrugët mblidhen nga protokollet dinamike të rrugëzimit, rrugët nga ppp dhe dhcp, rrugët statike dhe të lidhura. Kjo bazë të dhënash përmban të gjitha rrugët, përveç atyre të filtruara nga administratori.

Me kusht, mund të supozojmë se [IP]->[Route] shfaq RIB.

Baza e informacionit të përcjelljes
Bazat e rrugëtimit statik në Mikrotik RouterOS

Baza në të cilën janë mbledhur rrugët më të mira nga RIB. Të gjitha rrugët në FIB janë aktive dhe përdoren për përcjelljen e paketave. Nëse rruga bëhet joaktive (çaktivizohet nga administratori (sistemi), ose ndërfaqja përmes së cilës duhet të dërgohet paketa nuk është aktive), itinerari hiqet nga FIB.

Për të marrë një vendim të rrugëtimit, tabela FIB përdor informacionin e mëposhtëm në lidhje me një paketë IP:

  • Adresa e burimit
  • Adresa e destinacionit
  • ndërfaqja e burimit
  • Shenja e rrugëtimit
  • ToS (DSCP)

Hyrja në paketën FIB kalon nëpër fazat e mëposhtme:

  • A është paketa e destinuar për një proces të routerit lokal?
  • A i nënshtrohet paketa rregullave PBR të sistemit ose të përdoruesit?
    • Nëse po, atëherë paketa dërgohet në tabelën e specifikuar të rrugëtimit
  • Paketa dërgohet në tabelën kryesore

Me kusht, mund të supozojmë se [IP]->[Route Active=yes] shfaq FIB.

Routing Cache
Mekanizmi i memorizimit të rrugës. Ruteri kujton se ku janë dërguar paketat dhe nëse ka të ngjashme (me sa duket nga e njëjta lidhje) i lejon të shkojnë përgjatë së njëjtës rrugë, pa kontrolluar në FIB. Cache e rrugës pastrohet periodikisht.

Për administratorët e RouterOS, ata nuk krijuan mjete për shikimin dhe menaxhimin e cache të rrugëtimit, por kur mund të çaktivizohet në [IP]->[Settings].

Ky mekanizëm u hoq nga kerneli linux 3.6, por RouterOS ende përdor kernel 3.3.5, ndoshta Routing cahce është një nga arsyet.

Shto dialogun e rrugës

[IP]->[Route]->[+]
Bazat e rrugëtimit statik në Mikrotik RouterOS

  1. Nënrrjet për të cilin dëshironi të krijoni një rrugë (parazgjedhja: 0.0.0.0/0)
  2. IP ose ndërfaqja e portës në të cilën do të dërgohet paketa (mund të ketë disa, shih ECMP më poshtë)
  3. Kontrolli i disponueshmërisë së portës
  4. Lloji i regjistrimit
  5. Distanca (metrike) për një rrugë
  6. Tabela e rrugëtimit
  7. IP për paketat lokale dalëse nëpërmjet kësaj rruge
  8. Qëllimi i fushëveprimit dhe qëllimit është shkruar në fund të artikullit.

Flamujt e rrugës
Bazat e rrugëtimit statik në Mikrotik RouterOS

  • X - Itinerari është çaktivizuar nga administratori (disabled=yes)
  • A - Rruga përdoret për të dërguar paketa
  • D - Itinerari i shtuar në mënyrë dinamike (BGP, OSPF, RIP, MME, PPP, DHCP, Lidhur)
  • C - Nënrrjeti është i lidhur direkt me ruterin
  • S - Rrugë statike
  • r,b,o,m - Rruga e shtuar nga një nga protokollet dinamike të rrugëtimit
  • B,U,P - Rruga e filtrimit (hedh paketat në vend që të transmetojë)

Çfarë duhet të specifikoni në gateway: adresa IP ose ndërfaqja?

Sistemi ju lejon të specifikoni të dyja, ndërsa nuk betohet dhe nuk jep sugjerime nëse keni bërë diçka të gabuar.

adresa IP
Adresa e portës duhet të jetë e aksesueshme përmes Layer2. Për Ethernet, kjo do të thotë që ruteri duhet të ketë një adresë nga e njëjta nënrrjet në një nga ndërfaqet aktive ip, për ppp, që adresa e portës është e specifikuar në një nga ndërfaqet aktive si adresa e nënrrjetit.
Nëse kushti i aksesueshmërisë për Layer2 nuk plotësohet, rruga konsiderohet joaktive dhe nuk bie në FIB.

ndërfaqe
Gjithçka është më e ndërlikuar dhe sjellja e ruterit varet nga lloji i ndërfaqes:

  • Lidhja PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *) supozon vetëm dy pjesëmarrës dhe paketa gjithmonë do të dërgohet në portë për transmetim, nëse porta zbulon se marrësi është vetë, atëherë ajo do ta transferojë paketën në procesin e saj lokal.
    Bazat e rrugëtimit statik në Mikrotik RouterOS
  • Ethernet supozon praninë e shumë pjesëmarrësve dhe do të dërgojë kërkesa në ndërfaqen arp me adresën e marrësit të paketës, kjo është sjellje e pritshme dhe mjaft normale për rrugët e lidhura.
    Por kur përpiqeni të përdorni ndërfaqen si një rrugë për një nënrrjet të largët, do të merrni situatën e mëposhtme: itinerari është aktiv, ping-u në portë kalon, por nuk arrin te marrësi nga nënrrjeti i specifikuar. Nëse shikoni ndërfaqen përmes një sniffer, do të shihni kërkesa arp me adresa nga një nënrrjet në distancë.
    Bazat e rrugëtimit statik në Mikrotik RouterOS

Bazat e rrugëtimit statik në Mikrotik RouterOS

Mundohuni të specifikoni adresën ip si portë sa herë që është e mundur. Përjashtim janë rrugët e lidhura (krijohen automatikisht) dhe ndërfaqet PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN*).

OpenVPN nuk përmban një kokë PPP, por mund të përdorni emrin e ndërfaqes OpenVPN për të krijuar një rrugë.

Rrugë më specifike

Rregulli bazë i rrugëzimit. Rruga që përshkruan nënrrjetin më të vogël (me maskën më të madhe të nënrrjetit) ka përparësi në vendimin e rrugëtimit të paketës. Pozicioni i hyrjeve në tabelën e kursit nuk është i rëndësishëm për zgjedhjen - rregulli kryesor është më specifik.

Bazat e rrugëtimit statik në Mikrotik RouterOS

Të gjitha rrugët nga skema e specifikuar janë aktive (të vendosura në FIB). tregojnë në nënrrjeta të ndryshme dhe nuk bien ndesh me njëra-tjetrën.

Nëse një nga portat bëhet e padisponueshme, rruga e lidhur do të konsiderohet joaktive (e hequr nga FIB) dhe paketat do të kërkohen nga rrugët e mbetura.

Rrugës me nënrrjet 0.0.0.0/0 ndonjëherë i jepet një kuptim i veçantë dhe quhet "Rruga e paracaktuar" ose "Porta e mjetit të fundit". Në fakt, nuk ka asgjë magjike dhe thjesht përfshin të gjitha adresat e mundshme IPv4, por këta emra e përshkruajnë mirë detyrën e tij - tregon portën ku mund të dërgoni paketat për të cilat nuk ka rrugë të tjera më të sakta.

Maska maksimale e mundshme e nënrrjetit për IPv4 është /32, kjo rrugë tregon një host specifik dhe mund të përdoret në tabelën e rrugëzimit.

Kuptimi i rrugës më specifike është thelbësor për çdo pajisje TCP/IP.

Distancë

Distancat (ose Metrikat) kërkohen për filtrimin administrativ të rrugëve në një nënrrjet të vetëm të aksesueshëm përmes portave të shumta. Një itinerar me një metrikë më të ulët konsiderohet si prioritet dhe do të përfshihet në FIB. Nëse një rrugë me një metrikë më të ulët pushon së qeni aktive, atëherë ajo do të zëvendësohet nga një itinerar me një metrikë më të lartë në FIB.
Bazat e rrugëtimit statik në Mikrotik RouterOS

Nëse ka disa rrugë drejt të njëjtit nënrrjet me të njëjtën metrikë, ruteri do të shtojë vetëm njërën prej tyre në tabelën FIB, i udhëhequr nga logjika e tij e brendshme.

Metrika mund të marrë një vlerë nga 0 në 255:
Bazat e rrugëtimit statik në Mikrotik RouterOS

  • 0 - Metrikë për rrugët e lidhura. Distanca 0 nuk mund të vendoset nga administratori
  • 1-254 - Metrikat në dispozicion të administratorit për vendosjen e itinerareve. Metrikat me vlerë më të ulët kanë një prioritet më të lartë
  • 255 - Metrika e disponueshme për administratorin për vendosjen e itinerareve. Ndryshe nga 1-254, një rrugë me një metrikë 255 mbetet gjithmonë joaktive dhe nuk bie në FIB
  • metrikë specifike. Rrugët që rrjedhin nga protokollet dinamike të rrugëtimit kanë vlera standarde metrike

kontrolloni portën

Check gateway është një shtesë MikroTik RoutesOS për të kontrolluar disponueshmërinë e portës nëpërmjet icmp ose arp. Një herë në çdo 10 sekonda (nuk mund të ndryshohet), një kërkesë dërgohet në gateway, nëse përgjigja nuk merret dy herë, rruga konsiderohet e padisponueshme dhe hiqet nga FIB. Nëse porta e kontrollit është çaktivizuar, rruga e kontrollit vazhdon dhe itinerari do të bëhet sërish aktiv pas një kontrolli të suksesshëm.
Bazat e rrugëtimit statik në Mikrotik RouterOS

Check gateway çaktivizon hyrjen në të cilën është konfiguruar dhe të gjitha hyrjet e tjera (në të gjitha tabelat e rrugëzimit dhe rrugët ecmp) me portën e specifikuar.

Në përgjithësi, check gateway funksionon mirë për sa kohë që nuk ka probleme me humbjen e paketave në gateway. Check gateway nuk e di se çfarë po ndodh me komunikimin jashtë portës së kontrolluar, kjo kërkon mjete shtesë: skriptet, kursimi rekurziv, protokollet dinamike të rrugëtimit.

Shumica e protokolleve VPN dhe tunelit përmbajnë mjete të integruara për të kontrolluar aktivitetin e lidhjes, duke mundësuar që porta e kontrollit për ta është një ngarkesë shtesë (por shumë e vogël) në rrjet dhe performancën e pajisjes.

Rrugët e ECMP

Multi-Path me kosto të barabartë - dërgimi i paketave te marrësi duke përdorur disa porta në të njëjtën kohë duke përdorur algoritmin Round Robin.

Një rrugë ECMP krijohet nga administratori duke specifikuar porta të shumta për një nënrrjet (ose automatikisht, nëse ka dy rrugë ekuivalente OSPF).
Bazat e rrugëtimit statik në Mikrotik RouterOS

ECMP përdoret për balancimin e ngarkesës midis dy kanaleve, në teori, nëse ka dy kanale në rrugën ecmp, atëherë për secilën paketë kanali dalës duhet të jetë i ndryshëm. Por mekanizmi Routing cache dërgon paketa nga lidhja përgjatë rrugës që mori paketa e parë, si rezultat, marrim një lloj balancimi bazuar në lidhjet (balancimi i ngarkimit për lidhje).

Nëse çaktivizoni Routing Cache, atëherë paketat në itinerarin ECMP do të ndahen siç duhet, por ka një problem me NAT. Rregulli NAT përpunon vetëm paketën e parë nga lidhja (pjesa tjetër përpunohet automatikisht), dhe rezulton se paketat me të njëjtën adresë burimi lënë ndërfaqe të ndryshme.
Bazat e rrugëtimit statik në Mikrotik RouterOS

Porta e kontrollit nuk funksionon në rrugët ECMP (gabimi i RouterOS). Por ju mund ta shmangni këtë kufizim duke krijuar rrugë shtesë të vërtetimit që do të çaktivizojnë hyrjet në ECMP.

Filtrimi me anë të Routing

Opsioni Lloji përcakton se çfarë të bëni me paketën:

  • unicast - dërgoni në portën e specifikuar (ndërfaqen)
  • vrimë e zezë - hidhni një pako
  • ndaloj, i paarritshëm - hidhni paketën dhe dërgoni një mesazh icmp te dërguesi

Filtrimi zakonisht përdoret kur është e nevojshme të sigurohet dërgimi i paketave përgjatë rrugës së gabuar, natyrisht, ju mund ta filtroni këtë përmes murit të zjarrit.

Nja dy shembuj

Për të konsoliduar gjërat themelore rreth rrugëtimit.

Ruter tipik në shtëpi
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1

  1. Rruga statike në 0.0.0.0/0 (rruga e parazgjedhur)
  2. Rruga e lidhur në ndërfaqen me ofruesin
  3. Rruga e lidhur në ndërfaqen LAN

Ruter tipik në shtëpi me PPPoE
Bazat e rrugëtimit statik në Mikrotik RouterOS

  1. Rruga statike në rrugën e paracaktuar, e shtuar automatikisht. është e specifikuar në vetitë e lidhjes
  2. Rrugë e lidhur për lidhjen PPP
  3. Rruga e lidhur në ndërfaqen LAN

Ruter tipik në shtëpi me dy ofrues dhe tepricë
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 distance=2

  1. Rruga statike në rrugën e paracaktuar përmes ofruesit të parë me metrikë 1 dhe kontroll të disponueshmërisë së portës
  2. Rruga statike në rrugën e paracaktuar përmes ofruesit të dytë me metrikë 2
  3. Rrugët e lidhura

Trafiku në 0.0.0.0/0 kalon në 10.10.10.1 ndërsa kjo portë është e disponueshme, përndryshe kalon në 10.20.20.1

Një skemë e tillë mund të konsiderohet si një rezervim kanali, por nuk është pa të meta. Nëse ndodh një ndërprerje jashtë portës së ofruesit (për shembull, brenda rrjetit të operatorit), ruteri juaj nuk do të dijë për të dhe do të vazhdojë ta konsiderojë itinerarin si aktive.

Ruter tipik në shtëpi me dy ofrues, tepricë dhe ECMP
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.10.10.1,10.20.20.1 distance=1

  1. Rrugët statike për kontrollimin e portës së çakëve
  2. Rruga ECMP
  3. Rrugët e lidhura

Rrugët për të kontrolluar janë blu (ngjyra e rrugëve joaktive), por kjo nuk ndërhyn në portën e kontrollit. Versioni aktual (6.44) i RoS i jep përparësi automatike rrugës ECMP, por është më mirë të shtohen rrugët e testimit në tabelat e tjera të rrugëtimit (opsioni routing-mark)

Në Speedtest dhe faqe të tjera të ngjashme, nuk do të ketë rritje të shpejtësisë (ECMP ndan trafikun sipas lidhjeve, jo sipas paketave), por aplikacionet p2p duhet të shkarkohen më shpejt.

Filtrimi nëpërmjet Routing
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1
add dst-address=192.168.200.0/24 gateway=10.30.30.1 distance=1
add dst-address=192.168.200.0/24 gateway=10.10.10.1 distance=2 type=blackhole

  1. Rruga statike në rrugën e paracaktuar
  2. Rrugë statike në 192.168.200.0/24 mbi tunelin ipip
  3. Ndalimi i rrugës statike në 192.168.200.0/24 përmes routerit ISP

Një opsion filtrimi në të cilin trafiku i tunelit nuk do të shkojë te ruteri i ofruesit kur ndërfaqja ipip është e çaktivizuar. Skema të tilla kërkohen rrallë, sepse ju mund të zbatoni bllokimin përmes murit të zjarrit.

Cikli i rrugëzimit
Cikli i rrugëzimit - një situatë kur një paketë funksionon ndërmjet ruterave përpara se të skadojë ttl. Zakonisht është rezultat i një gabimi konfigurimi, në rrjetet e mëdha trajtohet me zbatimin e protokolleve dinamike të rrugëzimit, në ato të vogla - me kujdes.

Duket diçka si kjo:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Një shembull (më i thjeshtë) se si të merrni një rezultat të ngjashëm:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Shembulli i ciklit të rrugëtimit nuk ka përdorim praktik, por tregon se ruterët nuk kanë asnjë ide për tabelën e rrugëtimit të fqinjit të tyre.

Drejtimi i bazës së politikave dhe tabelat shtesë të rrugëtimit

Kur zgjedh një rrugë, ruteri përdor vetëm një fushë nga kreu i paketës (Dst. Adresa) - ky është rrugëtimi bazë. Drejtimi i bazuar në kushte të tjera, si adresa e burimit, lloji i trafikut (ToS), balancimi pa ECMP, i përket Routing Baza e Politikave (PBR) dhe përdor tabela shtesë të rrugëtimit.

Bazat e rrugëtimit statik në Mikrotik RouterOS

Rrugë më specifike është rregulli kryesor i përzgjedhjes së rrugës brenda tabelës së rrugëtimit.

Si parazgjedhje, të gjitha rregullat e rrugëzimit shtohen në tabelën kryesore. Administratori mund të krijojë një numër arbitrar të tabelave të rrugëtimit shtesë dhe të drejtojë paketat drejt tyre. Rregullat në tabela të ndryshme nuk bien ndesh me njëra-tjetrën. Nëse paketa nuk gjen një rregull të përshtatshëm në tabelën e specifikuar, ajo do të shkojë në tabelën kryesore.

Shembull me shpërndarjen përmes Firewall:
Bazat e rrugëtimit statik në Mikrotik RouterOS

  • 192.168.100.10 -> 8.8.8.8
    1. Trafiku nga 192.168.100.10 merr etiketë nëpërmjet-isp1 в [Prerouting|Mangle]
    2. Në fazën Routing në tabelë nëpërmjet-isp1 kërkon për një rrugë drejt 8.8.8.8
    3. Rruga e gjetur, trafiku dërgohet në portën 10.10.10.1
  • 192.168.200.20 -> 8.8.8.8
    1. Trafiku nga 192.168.200.20 merr etiketë nëpërmjet-isp2 в [Prerouting|Mangle]
    2. Në fazën Routing në tabelë nëpërmjet-isp2 kërkon për një rrugë drejt 8.8.8.8
    3. Rruga e gjetur, trafiku dërgohet në portën 10.20.20.1
  • Nëse një nga portat (10.10.10.1 ose 10.20.20.1) bëhet e padisponueshme, atëherë paketa do të shkojë në tabelë kryesor dhe do të kërkojë një rrugë të përshtatshme atje

Çështje terminologjike

RouterOS ka disa probleme terminologjike.
Kur punoni me rregullat në [IP]->[Routes] tregohet tabela e rrugëtimit, megjithëse shkruhet se etiketa:
Bazat e rrugëtimit statik në Mikrotik RouterOS

В [IP]->[Routes]->[Rule] gjithçka është e saktë, në gjendjen e etiketës në veprimin e tabelës:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Si të dërgoni një paketë në një tabelë specifike të rrugëtimit

RouterOS ofron disa mjete:

  • Rregullat në [IP]->[Routes]->[Rules]
  • Shenjat e itinerarit (action=mark-routing) në [IP]->[Firewall]->[Mangle]
  • Zgjerimi VRF

rregulla [IP]->[Route]->[Rules]
Rregullat përpunohen në mënyrë sekuenciale, nëse paketa përputhet me kushtet e rregullit, ajo nuk kalon më tej.

Rregullat e rrugëtimit ju lejojnë të zgjeroni mundësitë e rrugëtimit, duke u mbështetur jo vetëm në adresën e marrësit, por edhe në adresën e burimit dhe ndërfaqen në të cilën është marrë paketa.

Bazat e rrugëtimit statik në Mikrotik RouterOS

Rregullat përbëhen nga kushtet dhe një veprim:

  • Kushtet. Përsëritni praktikisht listën e shenjave me të cilat kontrollohet paketa në FIB, mungon vetëm ToS.
  • Aktivitet
    • kërkim - dërgoni një paketë në një tabelë
    • kërkoni vetëm në tabelë - kyçni paketën në tabelë, nëse rruga nuk gjendet, paketa nuk do të shkojë në tabelën kryesore
    • hedh - hedh një pako
    • i paarritshëm - hidhni paketën me njoftimin e dërguesit

Në FIB, trafiku drejt proceseve lokale përpunohet duke anashkaluar rregullat [IP]->[Route]->[Rules]:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Маркировка [IP]->[Firewall]->[Mangle]
Etiketat e rrugëzimit ju lejojnë të vendosni portën për një paketë duke përdorur pothuajse çdo kusht Firewall:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Praktikisht, sepse jo të gjitha kanë kuptim, dhe disa mund të funksionojnë në mënyrë të paqëndrueshme.

Bazat e rrugëtimit statik në Mikrotik RouterOS

Ka dy mënyra për të etiketuar një paketë:

  • Vendoseni menjëherë shenjë e drejtimit
  • Vendosni të parën shenjë-lidhje, pastaj bazuar në shenjë-lidhje te vendosesh shenjë e drejtimit

Në një artikull në lidhje me muret e zjarrit, kam shkruar se opsioni i dytë është i preferueshëm. zvogëlon ngarkesën në CPU, në rastin e shënimit të rrugëve - kjo nuk është plotësisht e vërtetë. Këto metoda shënimi nuk janë gjithmonë ekuivalente dhe zakonisht përdoren për të zgjidhur probleme të ndryshme.

Shembuj të përdorimit

Le të kalojmë te shembujt e përdorimit të Drejtimit të Bazës së Politikave, ato janë shumë më të lehta për të treguar pse nevojitet e gjithë kjo.

MultiWAN dhe kthimi i trafikut dalës (Output).
Një problem i zakonshëm me një konfigurim MultiWAN: Mikrotik është i disponueshëm nga Interneti vetëm përmes një ofruesi "aktiv".
Bazat e rrugëtimit statik në Mikrotik RouterOS

Ruterit nuk i intereson se në çfarë ip erdhi kërkesa, kur gjeneron një përgjigje, ai do të kërkojë një rrugë në tabelën e kursit ku rruga përmes isp1 është aktive. Më tej, një paketë e tillë ka shumë të ngjarë të filtrohet gjatë rrugës për tek marrësi.

Një tjetër pikë interesante. Nëse një burim nat "i thjeshtë" është konfiguruar në ndërfaqen ether1: /ip fi nat add out-interface=ether1 action=masquerade paketa do të shkojë në internet me src. adresa=10.10.10.100, gjë që i bën gjërat edhe më keq.

Ka disa mënyra për të rregulluar problemin, por secila prej tyre do të kërkojë tabela shtesë të rrugëtimit:
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 check-gateway=ping distance=1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 check-gateway=ping distance=2
add dst-address=0.0.0.0/0 gateway=10.10.10.1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 routing-mark=over-isp2

Përdorim [IP]->[Route]->[Rules]
Specifikoni tabelën e rrugëzimit që do të përdoret për paketat me IP të specifikuar të Burimit.
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route rule
add src-address=10.10.10.100/32 action=lookup-only-in-table table=over-isp1
add src-address=10.20.20.200/32 action=lookup-only-in-table table=over-isp2

Mund të përdorë action=lookup, por për trafikun lokal në dalje, ky opsion përjashton plotësisht lidhjet nga ndërfaqja e gabuar.

  • Sistemi gjeneron një paketë përgjigjeje me Src. Adresa: 10.20.20.200
  • Kontrollet e hapit të Vendimit të Rrugës (2). [IP]->[Routes]->[Rules] dhe paketa dërgohet në tabelën e rrugëzimit mbi-isp2
  • Sipas tabelës së rrugëtimit, paketa duhet të dërgohet në portën 10.20.20.1 përmes ndërfaqes ether2

Bazat e rrugëtimit statik në Mikrotik RouterOS

Kjo metodë nuk kërkon një gjurmues të lidhjes që funksionon, ndryshe nga përdorimi i tabelës Mangle.

Përdorim [IP]->[Firewall]->[Mangle]
Lidhja fillon me një paketë hyrëse, kështu që ne e shënojmë atë (action=mark-connection), për paketat dalëse nga një lidhje e shënuar, vendosni etiketën e rrugëtimit (action=mark-routing).
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip firewall mangle
#Маркировка входящих соединений
add chain=input in-interface=ether1 connection-state=new action=mark-connection new-connection-mark=from-isp1
add chain=input in-interface=ether2 connection-state=new action=mark-connection new-connection-mark=from-isp2
#Маркировка исходящих пакетов на основе соединений
add chain=output connection-mark=from-isp1 action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=output connection-mark=from-isp2 action=mark-routing new-routing-mark=over-isp2 passthrough=no

Nëse disa IP janë konfiguruar në një ndërfaqe, mund t'i shtoni kushtit dst-address të jetë i sigurt.

  • Një paketë hap lidhjen në ndërfaqen ether2. Paketa hyn në [INPUT|Mangle] i cili thotë të shënohen të gjitha paketat nga lidhja si nga-isp2
  • Sistemi gjeneron një paketë përgjigjeje me Src. Adresa: 10.20.20.200
  • Në fazën Routing Decision(2), paketa, në përputhje me tabelën e rrugëzimit, dërgohet në gateway 10.20.20.1 nëpërmjet ndërfaqes ether1. Ju mund ta verifikoni këtë duke hyrë në paketat [OUTPUT|Filter]
  • Në skenë [OUTPUT|Mangle] kontrollohet etiketa e lidhjes nga-isp2 dhe paketa merr një etiketë të rrugës mbi-isp2
  • Hapi i Rregullimit të rrugës (3) kontrollon praninë e një etikete të rrugëtimit dhe e dërgon atë në tabelën e duhur të rrugëtimit
  • Sipas tabelës së rrugëtimit, paketa duhet të dërgohet në portën 10.20.20.1 përmes ndërfaqes ether2

Bazat e rrugëtimit statik në Mikrotik RouterOS

MultiWAN dhe kthimi i trafikut dst-nat

Një shembull është më i ndërlikuar, çfarë të bëni nëse ka një server (për shembull, ueb) pas ruterit në një nënrrjet privat dhe ju duhet të siguroni qasje në të përmes ndonjë prej ofruesve.

/ip firewall nat
add chain=dstnat proto=tcp dst-port=80,443 in-interface=ether1 action=dst-nat to-address=192.168.100.100
add chain=dstnat proto=tcp dst-port=80,443 in-interface=ether2 action=dst-nat to-address=192.168.100.100

Thelbi i problemit do të jetë i njëjtë, zgjidhja është e ngjashme me opsionin Firewall Mangle, do të përdoren vetëm zinxhirë të tjerë:
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip firewall mangle
add chain=prerouting connection-state=new in-interface=ether1 protocol=tcp dst-port=80,443 action=mark-connection new-connection-mark=web-input-isp1
add chain=prerouting connection-state=new in-interface=ether2 protocol=tcp dst-port=80,443 action=mark-connection new-connection-mark=web-input-isp2
add chain=prerouting connection-mark=web-input-isp1 in-interface=ether3 action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=prerouting connection-mark=web-input-isp2 in-interface=ether3 action=mark-routing new-routing-mark=over-isp2 passthrough=no

Bazat e rrugëtimit statik në Mikrotik RouterOS
Diagrami nuk tregon NAT, por mendoj se gjithçka është e qartë.

MultiWAN dhe lidhjet e jashtme

Mund të përdorni aftësitë PBR për të krijuar lidhje të shumta vpn (SSTP në shembull) nga ndërfaqe të ndryshme ruteri.

Bazat e rrugëtimit statik në Mikrotik RouterOS

Tabelat shtesë të rrugëtimit:

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.100.1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=192.168.200.1 routing-mark=over-isp2
add dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=over-isp3

add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=1
add dst-address=0.0.0.0/0 gateway=192.168.200.1 distance=2
add dst-address=0.0.0.0/0 gateway=192.168.0.1 distance=3

Shenjat e paketimit:

/ip firewall mangle
add chain=output dst-address=10.10.10.100 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp1 passtrough=no
add chain=output dst-address=10.10.10.101 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp2 passtrough=no
add chain=output dst-address=10.10.10.102 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp3 passtrough=no

Rregulla të thjeshta NAT, përndryshe paketa do të largohet nga ndërfaqja me Src të gabuar. adresë:

/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade
add chain=srcnat out-interface=ether2 action=masquerade
add chain=srcnat out-interface=ether3 action=masquerade

parsing:

  • Ruteri krijon tre procese SSTP
  • Në fazën Routing Decision (2), zgjidhet një itinerar për këto procese bazuar në tabelën kryesore të rrugëtimit. Nga e njëjta rrugë, paketa merr Src. Adresa e lidhur me ndërfaqen ether1
  • В [Output|Mangle] paketat nga lidhje të ndryshme marrin etiketa të ndryshme
  • Paketat hyjnë në tabelat që korrespondojnë me etiketat në fazën e Rregullimit të Rrugës dhe marrin një rrugë të re për dërgimin e paketave
  • Por pakot ende kanë Src. Adresa nga ether1, në skenë [Nat|Srcnat] adresa zëvendësohet sipas ndërfaqes

Shtë interesante që në ruter do të shihni tabelën e mëposhtme të lidhjes:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Connection Tracker funksionon më herët [Mangle] и [Srcnat], kështu që të gjitha lidhjet vijnë nga e njëjta adresë, nëse shikoni më në detaje, atëherë në Replay Dst. Address do të ketë adresa pas NAT:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Në serverin VPN (kam një në stolin e provës), mund të shihni që të gjitha lidhjet vijnë nga adresat e sakta:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Prisni një mënyrë
Ekziston një mënyrë më e lehtë, thjesht mund të specifikoni një portë specifike për secilën prej adresave:

/ip route
add dst-address=10.10.10.100 gateway=192.168.100.1
add dst-address=10.10.10.101 gateway=192.168.200.1
add dst-address=10.10.10.102 gateway=192.168.0.1

Por rrugë të tilla do të ndikojnë jo vetëm në trafikun dalës, por edhe në trafikun transit. Plus, nëse nuk keni nevojë për trafik në serverin vpn për të kaluar nëpër kanale të papërshtatshme komunikimi, atëherë do t'ju duhet të shtoni 6 rregulla të tjera në [IP]->[Routes]с type=blackhole. Në versionin e mëparshëm - 3 rregulla në [IP]->[Route]->[Rules].

Shpërndarja e lidhjeve të përdoruesve sipas kanaleve të komunikimit

Detyra të thjeshta, të përditshme. Përsëri, do të nevojiten tabela shtesë të rrugëtimit:

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=2 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=1 routing-mark=over-isp2

Përdorim [IP]->[Route]->[Rules]
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route rules
add src-address=192.168.100.0/25 action=lookup-only-in-table table=over-isp1
add src-address=192.168.100.128/25 action=lookup-only-in-table table=over-isp2

Nëse përdorni action=lookup, atëherë kur një nga kanalet është i çaktivizuar, trafiku do të shkojë në tabelën kryesore dhe do të kalojë përmes kanalit të punës. Nëse kjo është e nevojshme apo jo varet nga detyra.

Duke përdorur shenjat në [IP]->[Firewall]->[Mangle]
Një shembull i thjeshtë me listat e adresave IP. Në parim, pothuajse çdo kusht mund të përdoret. E vetmja paralajmërim i shtresës 7, edhe kur çiftohet me etiketat e lidhjes, mund të duket se gjithçka po funksionon siç duhet, por një pjesë e trafikut do të vazhdojë të shkojë në rrugën e gabuar.
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip firewall mangle
add chain=prerouting src-address-list=users-over-isp1 dst-address-type=!local action=mark-routing new-routing-mark=over-isp1
add chain=prerouting src-address-list=users-over-isp2 dst-address-type=!local action=mark-routing new-routing-mark=over-isp2

Ju mund të "kyçni" përdoruesit në një tabelë rrugëtimi përmes [IP]->[Route]->[Rules]:

/ip route rules
add routing-mark=over-isp1 action=lookup-only-in-table table=over-isp1
add routing-mark=over-isp2 action=lookup-only-in-table table=over-isp2

Ose përmes [IP]->[Firewall]->[Filter]:

/ip firewall filter
add chain=forward routing-mark=over-isp1 out-interface=!ether1 action=reject
add chain=forward routing-mark=over-isp2 out-interface=!ether2 action=reject

Retreat pro dst-address-type=!local
Kusht shtesë dst-address-type=!local është e nevojshme që trafiku nga përdoruesit të arrijë në proceset lokale të ruterit (dns, winbox, ssh, ...). Nëse disa nënrrjeta lokale janë të lidhura me ruterin, është e nevojshme të siguroheni që trafiku midis tyre të mos shkojë në internet, për shembull, duke përdorur dst-address-table.

Në shembullin duke përdorur [IP]->[Route]->[Rules] nuk ka përjashtime të tilla, por trafiku arrin në proceset lokale. Fakti është se futja në paketën FIB të shënuar në [PREROUTING|Mangle] ka një etiketë të rrugës dhe futet në një tabelë rrugëtimi të ndryshme nga ajo kryesore, ku nuk ka ndërfaqe lokale. Në rastin e Routing Rules, fillimisht kontrollohet nëse paketa është e destinuar për një proces lokal dhe vetëm në fazën PBR të Përdoruesit kalon në tabelën e specifikuar të rrugëtimit.

Përdorim [IP]->[Firewall]->[Mangle action=route]
Ky veprim funksionon vetëm në [Prerouting|Mangle] dhe ju lejon të drejtoni trafikun në portën e specifikuar pa përdorur tabela shtesë të rrugëtimit, duke specifikuar drejtpërdrejt adresën e portës:

/ip firewall mangle
add chain=prerouting src-address=192.168.100.0/25 action=route gateway=10.10.10.1
add chain=prerouting src-address=192.168.128.0/25 action=route gateway=10.20.20.1

efekt route ka një prioritet më të ulët se rregullat e rrugëtimit ([IP]->[Route]->[Rules]). Në rastin e shenjave të rrugës, gjithçka varet nga pozicioni i rregullave, nëse rregulli me action=route vlen më shumë se action=mark-route, atëherë do të përdoret (pavarësisht flamurit passtrough), përndryshe duke shënuar itinerarin.
Ka shumë pak informacion në wiki për këtë veprim dhe të gjitha përfundimet janë marrë në mënyrë eksperimentale, në çdo rast, nuk gjeta opsione kur përdorimi i këtij opsioni jep përparësi ndaj të tjerëve.

Balancim dinamik i bazuar në PPC

Klasifikuesi Per Connection - është një analog më fleksibël i ECMP. Ndryshe nga ECMP, ai e ndan trafikun sipas lidhjeve në mënyrë më strikte (ECMP nuk di asgjë për lidhjet, por kur çiftohet me Routing Cache, fitohet diçka e ngjashme).

PCC merr fushat e specifikuara nga kreu i ip-së, i konverton ato në një vlerë 32-bit dhe i ndan me emërues. Pjesa e mbetur e ndarjes krahasohet me atë të specifikuar mbetje dhe nëse përputhen, atëherë zbatohet veprimi i specifikuar. më shumë. Tingëllon çmenduri, por funksionon.
Bazat e rrugëtimit statik në Mikrotik RouterOS

Shembull me tre adresa:

192.168.100.10: 192+168+100+10 = 470 % 3 = 2
192.168.100.11: 192+168+100+11 = 471 % 3 = 0
192.168.100.12: 192+168+100+12 = 472 % 3 = 1

Një shembull i shpërndarjes dinamike të trafikut nga src.adresa ndërmjet tre kanaleve:
Bazat e rrugëtimit statik në Mikrotik RouterOS

#Таблица маршрутизации
/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.30.30.1 dist=3 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=1 routing-mark=over-isp2
add dst-address=0.0.0.0/0 gateway=10.30.30.1 dist=1 routing-mark=over-isp3

#Маркировка соединений и маршрутов
/ip firewall mangle
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/0 action=mark-connection new-connection-mark=conn-over-isp1
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/1 action=mark-connection new-connection-mark=conn-over-isp2
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/2 action=mark-connection new-connection-mark=conn-over-isp3

add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp1 action=mark-routing new-routing-mark=over-isp1
add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp2 action=mark-routing new-routing-mark=over-isp2
add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp3 action=mark-routing new-routing-mark=over-isp3

Kur shënoni rrugë, ekziston një kusht shtesë: in-interface=br-lan, pa atë nën action=mark-routing trafiku i përgjigjeve nga Interneti do të marrë dhe, në përputhje me tabelat e rrugëtimit, do të kthehet te ofruesi.

Ndërrimi i kanaleve të komunikimit

Check ping është një mjet i mirë, por ai kontrollon vetëm lidhjen me homologun më të afërt të IP-së, rrjetet e ofruesve zakonisht përbëhen nga një numër i madh ruterash dhe një ndërprerje e lidhjes mund të ndodhë jashtë kolegut më të afërt, dhe më pas ka operatorë të telekomit që mund të keni probleme, në përgjithësi ping-u i kontrollit nuk tregon gjithmonë informacione të përditësuara në lidhje me aksesin në rrjetin global.
Nëse ofruesit dhe korporatat e mëdha kanë protokollin dinamik të rrugëtimit BGP, atëherë përdoruesit e shtëpisë dhe të zyrës duhet të kuptojnë në mënyrë të pavarur se si të kontrollojnë aksesin në internet përmes një kanali specifik komunikimi.

Në mënyrë tipike, përdoren skriptet që, përmes një kanali të caktuar komunikimi, kontrollojnë disponueshmërinë e një adrese ip në internet, ndërsa zgjedhin diçka të besueshme, për shembull, google dns: 8.8.8.8. 8.8.4.4. Por në komunitetin Mikrotik është përshtatur një mjet më interesant për këtë.

Disa fjalë rreth rrugëtimit rekurziv
Drejtimi rekursiv është i nevojshëm kur ndërtohet peering Multihop BGP dhe u fut në artikullin rreth bazave të rrugëtimit statik vetëm për shkak të përdoruesve dinakë të MikroTik që kuptuan se si të përdorin rrugë rekursive të çiftuara me portën kontrolluese për të ndërruar kanalet e komunikimit pa skripte shtesë.

Është koha për të kuptuar opsionet e fushëveprimit / objektivit në terma të përgjithshëm dhe se si rruga lidhet me ndërfaqen:
Bazat e rrugëtimit statik në Mikrotik RouterOS

  1. Rruga kërkon një ndërfaqe për të dërguar paketën bazuar në vlerën e fushës së saj dhe të gjitha hyrjet në tabelën kryesore me më pak se ose të barabarta vlera të shtrirjes së synuar
  2. Nga ndërfaqet e gjetura, zgjidhet ajo përmes së cilës mund të dërgoni një paketë në portën e specifikuar
  3. Ndërfaqja e hyrjes së lidhur të gjetur zgjidhet për të dërguar paketën në portë

Në prani të një rruge rekursive, gjithçka ndodh njësoj, por në dy faza:
Bazat e rrugëtimit statik në Mikrotik RouterOS

  • 1-3 Rrugëve të lidhura i shtohet edhe një rrugë, përmes së cilës mund të arrihet në portën e specifikuar
  • 4-6 Gjetja e itinerarit të lidhur për portën "ndërmjetme".

Të gjitha manipulimet me kërkimin rekurziv ndodhin në RIB, dhe vetëm rezultati përfundimtar transferohet në FIB: 0.0.0.0/0 via 10.10.10.1 on ether1.

Një shembull i përdorimit të rrugëzimit rekurziv për të ndërruar rrugët
Bazat e rrugëtimit statik në Mikrotik RouterOS

Konfigurimi:
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add dst-address=0.0.0.0/0 gateway=8.8.8.8 check-gateway=ping distance=1 target-scope=10
add dst-address=8.8.8.8 gateway=10.10.10.1 scope=10
add dst-address=0.0.0.0/0 gateway=10.20.20.1 distance=2

Mund të kontrolloni që paketat do të dërgohen në 10.10.10.1:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Check gateway nuk di asgjë për rrugëzimin rekurziv dhe thjesht dërgon ping në 8.8.8.8, i cili (bazuar në tabelën kryesore) është i aksesueshëm përmes gateway 10.10.10.1.

Nëse ka një humbje të komunikimit midis 10.10.10.1 dhe 8.8.8.8, atëherë rruga është e shkëputur, por paketat (përfshirë ping-un e testimit) deri në 8.8.8.8 vazhdojnë të kalojnë nëpër 10.10.10.1:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Nëse lidhja me ether1 humbet, atëherë ndodh një situatë e pakëndshme kur paketat para 8.8.8.8 kalojnë përmes ofruesit të dytë:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Ky është një problem nëse përdorni NetWatch për të ekzekutuar skriptet kur 8.8.8.8 nuk është i disponueshëm. Nëse lidhja prishet, NetWatch thjesht do të funksionojë përmes kanalit të komunikimit rezervë dhe do të supozojë se gjithçka është në rregull. Zgjidhet duke shtuar një rrugë filtri shtesë:

/ip route
add dst-address=8.8.8.8 gateway=10.20.20.1 distance=100 type=blackhole

Bazat e rrugëtimit statik në Mikrotik RouterOS

Ka në habré artikull, ku situata me NetWatch është konsideruar më në detaje.

Dhe po, kur përdorni një rezervim të tillë, adresa 8.8.8.8 do t'i lidhet njërit prej ofruesve, kështu që zgjedhja e saj si një burim dns nuk është një ide e mirë.

Disa fjalë rreth rrugëtimit dhe përcjelljes virtuale (VRF)

Teknologjia VRF është krijuar për të krijuar disa rutera virtualë brenda një personi fizik, kjo teknologji përdoret gjerësisht nga operatorët e telekomit (zakonisht në lidhje me MPLS) për të ofruar shërbime L3VPN për klientët me adresa të nënrrjetit të mbivendosura:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Por VRF në Mikrotik është i organizuar në bazë të tabelave të rrugëzimit dhe ka një sërë disavantazhesh, për shembull, adresat ip lokale të ruterit janë të disponueshme nga të gjitha VRF-të, mund të lexoni më shumë по ссылке.

Shembull i konfigurimit vrf:
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route vrf
add interfaces=ether1 routing-mark=vrf1
add interfaces=ether2 routing-mark=vrf2

/ip address
add address=192.168.100.1/24 interface=ether1 network=192.168.100.0
add address=192.168.200.1/24 interface=ether2 network=192.168.200.0

Nga pajisja e lidhur me ether2, shohim që ping shkon në adresën e ruterit nga një tjetër vrf (dhe ky është një problem), ndërsa ping nuk shkon në internet:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Për të hyrë në internet, duhet të regjistroni një rrugë shtesë që hyn në tabelën kryesore (në terminologjinë vrf, kjo quhet rrjedhje e rrugës):
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip route
add distance=1 gateway=172.17.0.1@main routing-mark=vrf1
add distance=1 gateway=172.17.0.1%wlan1 routing-mark=vrf2

Këtu janë dy mënyra të rrjedhjes së rrugës: duke përdorur tabelën e rrugëtimit: 172.17.0.1@main dhe duke përdorur emrin e ndërfaqes: 172.17.0.1%wlan1.

Dhe vendosni shënimin për trafikun e kthimit brenda [PREROUTING|Mangle]:
Bazat e rrugëtimit statik në Mikrotik RouterOS

/ip firewall mangle
add chain=prerouting in-interface=ether1 action=mark-connection new-connection-mark=from-vrf1 passthrough=no
add chain=prerouting connection-mark=from-vrf1 routing-mark=!vrf1 action=mark-routing new-routing-mark=vrf1 passthrough=no 
add chain=prerouting in-interface=ether2 action=mark-connection new-connection-mark=from-vrf2 passthrough=no
add chain=prerouting connection-mark=from-vrf2 routing-mark=!vrf1 action=mark-routing new-routing-mark=vrf2 passthrough=no 

Bazat e rrugëtimit statik në Mikrotik RouterOS

Nënrrjetet me të njëjtën adresë
Organizimi i aksesit në nënrrjetet me të njëjtën adresë në të njëjtin ruter duke përdorur VRF dhe netmap:
Bazat e rrugëtimit statik në Mikrotik RouterOS

Konfigurimi bazë:

/ip route vrf
add interfaces=ether1 routing-mark=vrf1
add interfaces=ether2 routing-mark=vrf2

/ip address
add address=192.168.100.1/24 interface=ether1 network=192.168.100.0
add address=192.168.100.1/24 interface=ether2 network=192.168.100.0
add address=192.168.0.1/24 interface=ether3 network=192.168.0.0

Rregullat e murit të zjarrit:

#Маркируем пакеты для отправки в правильную таблицу маршрутизации
/ip firewall mangle
add chain=prerouting dst-address=192.168.101.0/24 in-interface=ether3 action=mark-routing new-routing-mark=vrf1 passthrough=no
add chain=prerouting dst-address=192.168.102.0/24 in-interface=ether3 action=mark-routing new-routing-mark=vrf2 passthrough=no

#Средствами netmap заменяем адреса "эфимерных" подсетей на реальные подсети
/ip firewall nat
add chain=dstnat dst-address=192.168.101.0/24 in-interface=ether3 action=netmap to-addresses=192.168.100.0/24
add chain=dstnat dst-address=192.168.102.0/24 in-interface=ether3 action=netmap to-addresses=192.168.100.0/24

Rregullat e drejtimit për trafikun e kthimit:

#Указание имени интерфейса тоже может считаться route leaking, но по сути тут создается аналог connected маршрута
/ip route
add distance=1 dst-address=192.168.0.0/24 gateway=ether3 routing-mark=vrf1
add distance=1 dst-address=192.168.0.0/24 gateway=ether3 routing-mark=vrf2

Shtimi i rrugëve të marra nëpërmjet dhcp në një tabelë të caktuar të rrugëtimit
VRF mund të jetë interesant nëse ju duhet të shtoni automatikisht një rrugë dinamike (për shembull, nga një klient dhcp) në një tabelë specifike të rrugëtimit.

Shtimi i ndërfaqes në vrf:

/ip route vrf
add interface=ether1 routing-mark=over-isp1

Rregullat për dërgimin e trafikut (në dalje dhe tranzit) përmes tabelës mbi-isp1:

/ip firewall mangle
add chain=output out-interface=!br-lan action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=prerouting in-interface=br-lan dst-address-type=!local action=mark-routing new-routing-mark=over-isp1 passthrough=no

Rrugë shtesë, e rreme për rrugëtimin e jashtëm për në punë:

/interface bridge
add name=bare

/ip route
add dst-address=0.0.0.0/0 gateway=bare

Kjo rrugë nevojitet vetëm në mënyrë që paketat lokale dalëse të mund të kalojnë përmes vendimit të rrugëtimit (2) më parë [OUTPUT|Mangle] dhe merrni etiketën e rrugëzimit, nëse ka rrugë të tjera aktive në ruter para 0.0.0.0/0 në tabelën kryesore, nuk kërkohet.
Bazat e rrugëtimit statik në Mikrotik RouterOS

zinxhir connected-in и dynamic-in в [Routing] -> [Filters]

Filtrimi i rrugës (në hyrje dhe dalje) është një mjet që zakonisht përdoret në lidhje me protokollet dinamike të rrugëtimit (dhe për këtë arsye disponohet vetëm pas instalimit të paketës kurs), por ka dy zinxhirë interesantë në filtrat hyrës:

  • i lidhur - filtrimi i rrugëve të lidhura
  • dynamic-in - filtrimi i rrugëve dinamike të marra nga PPP dhe DCHP

Filtrimi ju lejon jo vetëm të hidhni poshtë rrugët, por edhe të ndryshoni një sërë opsionesh: distancën, shenjën e rrugës, komentin, shtrirjen, shtrirjen e synuar, ...

Ky është një mjet shumë i saktë dhe nëse mund të bëni diçka pa Filtrat e Routing (por jo skriptet), atëherë mos përdorni Routing Filters, mos e ngatërroni veten dhe ata që do të konfigurojnë ruterin pas jush. Në kontekstin e rrugëtimit dinamik, Filtrat e Rrugës do të përdoren shumë më shpesh dhe në mënyrë më produktive.

Vendosja e shenjës së rrugëtimit për rrugët dinamike
Një shembull nga një ruter shtëpiak. Unë kam dy lidhje VPN të konfiguruara dhe trafiku në to duhet të mbështillet në përputhje me tabelat e rrugëzimit. Në të njëjtën kohë, dua që rrugët të krijohen automatikisht kur ndërfaqja të aktivizohet:

#При создании vpn подключений указываем создание default route и задаем дистанцию
/interface pptp-client
add connect-to=X.X.X.X add-default-route=yes default-route-distance=101 ...
add connect-to=Y.Y.Y.Y  add-default-route=yes default-route-distance=100 ...

#Фильтрами отправляем маршруты в определенные таблицы маршрутизации на основе подсети назначения и дистанции
/routing filter
add chain=dynamic-in distance=100 prefix=0.0.0.0/0 action=passthrough set-routing-mark=over-vpn1
add chain=dynamic-in distance=101 prefix=0.0.0.0/0 action=passthrough set-routing-mark=over-vpn2

Nuk e di pse, ndoshta një gabim, por nëse krijoni një vrf për ndërfaqen ppp, atëherë rruga drejt 0.0.0.0/0 do të vazhdojë të hyjë në tabelën kryesore. Përndryshe, gjithçka do të ishte edhe më e lehtë.

Çaktivizimi i rrugëve të lidhura
Ndonjëherë kjo kërkohet:

/route filter
add chain=connected-in prefix=192.168.100.0/24 action=reject

Mjetet e korrigjimit

RouterOS ofron një sërë mjetesh për korrigjimin e rrugëtimit:

  • [Tool]->[Tourch] - ju lejon të shikoni paketat në ndërfaqe
  • /ip route check - ju lejon të shihni se në cilën portë do të dërgohet paketa, nuk funksionon me tabelat e rrugëzimit
  • /ping routing-table=<name> и /tool traceroute routing-table=<name> - ping dhe gjurmimi duke përdorur tabelën e specifikuar të rrugëtimit
  • action=log в [IP]->[Firewall] - një mjet i shkëlqyer që ju lejon të gjurmoni shtegun e një pakete përgjatë rrjedhës së paketës, ky veprim është i disponueshëm në të gjitha zinxhirët dhe tabelat

Burimi: www.habr.com

Shto një koment