Basics vu statesche Routing am Mikrotik RouterOS

Routing ass de Prozess fir de beschte Wee ze fannen fir Päckchen iwwer TCP / IP Netzwierker ze vermëttelen. All Apparat verbonne mat engem IPv4 Netzwierk enthält e Prozess a Routingtabellen.

Dësen Artikel ass keen HOWTO, et beschreift statesch Routing am RouterOS mat Beispiller, ech hunn de Rescht vun den Astellunge bewosst ewechgelooss (zum Beispill srcnat fir Zougang zum Internet), sou datt d'Material ze verstoen erfuerdert e gewëssenen Niveau vu Wëssen iwwer Netzwierker a RouterOS.

Schalten a Routing

Basics vu statesche Routing am Mikrotik RouterOS

Wiesselen ass de Prozess fir Pakete bannent engem Layer2 Segment (Ethernet, ppp, ...) auszetauschen. Wann den Apparat gesäit datt den Empfänger vum Paket am selwechte Ethernet Subnet mat him ass, léiert et d'Mac Adress mam arp Protokoll an iwwerdréit de Paket direkt, de Router ëmgoen. Eng ppp (Point-to-Point) Verbindung kann nëmmen zwee Participanten hunn an de Paket gëtt ëmmer op eng Adress 0xff geschéckt.

Routing ass de Prozess fir Päckchen tëscht Layer2 Segmenter ze transferéieren. Wann en Apparat e Paket wëll schécken, deem säin Empfänger ausserhalb vum Ethernet Segment ass, kuckt en a seng Routing-Tabelle a passéiert de Paket un de Paart, dee weess, wou de Paket nächste schéckt (oder vläicht net weess, den ursprénglechen Sender vum Paket) ass net bewosst vun dëser).

Deen einfachste Wee fir un e Router ze denken ass als Apparat verbonne mat zwee oder méi Layer2 Segmenter a fäeg Päckchen tëscht hinnen ze passéieren andeems Dir de beschte Wee aus der Routingtabelle bestëmmt.

Wann Dir alles versteet, oder Dir wousst et scho, da liest weider. Fir de Rescht, ech recommandéieren staark datt Dir Iech mat engem klengen, awer ganz capacious Artikelen.

Routing an RouterOS a PacketFlow

Bal all Funktionalitéit am Zesummenhang mat statesche Routing ass am Package System. Plastikstut läit füügt Ënnerstëtzung fir dynamesch Routing Algorithmen (RIP, OSPF, BGP, MME), Routing Filteren a BFD.

Main Menu fir Routing opzestellen: [IP]->[Route]. Komplex Schemaen kënne Pakete verlaangen, déi mat engem Routingmark virgezeechent ginn an: [IP]->[Firewall]->[Mangle] (Ketten PREROUTING и OUTPUT).

Et ginn dräi Plazen op PacketFlow wou IP Packet Routing Entscheedunge getraff ginn:
Basics vu statesche Routing am Mikrotik RouterOS

  1. Routing Pakete kritt vum Router. Op dëser Etapp gëtt decidéiert ob de Paket an de lokale Prozess geet oder weider an d'Netz geschéckt gëtt. Transit Packagen kréien Ausgab Interface
  2. Routing lokal erausginn Pakete. Ausgaang Pakete kréien Ausgab Interface
  3. Zousätzlech Routing Schrëtt fir erausginn Pakete, erlaabt Iech d'Routing-Entscheedung z'änneren an [Output|Mangle]

  • De Paketwee an de Blocken 1, 2 hänkt vun de Regelen of [IP]->[Route]
  • De Paketwee an de Punkten 1, 2 an 3 hänkt vun de Regelen of [IP]->[Route]->[Rules]
  • De Package Wee an de Blocken 1, 3 ka beaflosst ginn mat [IP]->[Firewall]->[Mangle]

RIB, FIB, Routing Cache

Basics vu statesche Routing am Mikrotik RouterOS

Routing Informatiounen Base
D'Basis an där Strecken aus dynamesche Routingprotokoller gesammelt ginn, routes vu ppp an dhcp, statesch a verbonne Strecken. Dës Datebank enthält all Strecken, ausser déi vum Administrateur gefiltert.

Bedingt, kënne mir dovun ausgoen [IP]->[Route] weist RIB.

Forward Informatiounen Base
Basics vu statesche Routing am Mikrotik RouterOS

Der Basis an deem déi bescht routes aus RIB gesammelt ginn. All Strecken an der FIB sinn aktiv a gi benotzt fir Päck virzestellen. Wann d'Streck inaktiv gëtt (behënnert vum Administrateur (System), oder d'Interface duerch déi de Paket soll geschéckt ginn ass net aktiv), gëtt de Wee aus der FIB geläscht.

Fir eng Routing-Entscheedung ze treffen, benotzt d'FIB-Tabell déi folgend Informatioun iwwer en IP-Paket:

  • Quell Adress
  • Destinatioun Adress
  • Quell Interface
  • Routing Mark
  • ToS (DSCP)

Gitt an de FIB Package geet duerch déi folgend Etappen:

  • Ass de Package fir e lokale Routerprozess geduecht?
  • Ass de Paket ënnerleien System oder Benotzer PBR Regelen?
    • Wann jo, da gëtt de Paket op déi spezifizéiert Routingtabelle geschéckt
  • De Paket gëtt op den Haaptdësch geschéckt

Bedingt, kënne mir dovun ausgoen [IP]->[Route Active=yes] weist FIB.

Routing Cache
Route Caching Mechanismus. De Router erënnert sech un wou d'Päckchen geschéckt goufen a wann et ähnlech sinn (viraussiichtlech aus der selwechter Verbindung) léisst se se laanscht déiselwecht Streck goen, ouni an der FIB ze kontrolléieren. De Routecache gëtt periodesch geläscht.

Fir RouterOS Administrateuren hunn se keng Tools gemaach fir de Routing Cache ze gesinn an ze managen, awer wann et kann ausgeschalt ginn [IP]->[Settings].

Dëse Mechanismus gouf aus dem Linux 3.6 Kernel geläscht, awer RouterOS benotzt nach ëmmer Kernel 3.3.5, vläicht Routing cahce ass ee vun de Grënn.

Füügt Route Dialog

[IP]->[Route]->[+]
Basics vu statesche Routing am Mikrotik RouterOS

  1. Subnet fir deen Dir e Wee wëllt erstellen (Standard: 0.0.0.0/0)
  2. Gateway IP oder Interface un deen de Paket geschéckt gëtt (et kënnen e puer sinn, kuckt ECMP hei ënnen)
  3. Gateway Disponibilitéit Check
  4. Rekord Typ
  5. Distanz (metresch) fir eng Streck
  6. Routing Dësch
  7. IP fir lokal erausginn Pakete iwwer dëse Wee
  8. Den Zweck vum Scope an Target Scope ass um Enn vum Artikel geschriwwen.

Route Fändelen
Basics vu statesche Routing am Mikrotik RouterOS

  • X - De Wee ass vum Administrator ausgeschalt (disabled=yes)
  • A - De Wee gëtt benotzt fir Päck ze schécken
  • D - Route dynamesch hinzugefügt (BGP, OSPF, RIP, MME, PPP, DHCP, Connected)
  • C - De Subnet ass direkt mam Router ugeschloss
  • S - statesch Route
  • r,b,o,m - Route bäigefüügt vun engem vun den dynamesche Routingprotokoller
  • B,U,P - Filterroute (fällt Päckchen amplaz ze vermëttelen)

Wat fir am Gateway ze spezifizéieren: IP-Adress oder Interface?

De System erlaabt Iech béid ze spezifizéieren, wärend et net geschwuer gëtt a keng Hiweiser gëtt wann Dir eppes falsch gemaach hutt.

IP Adress
D'Gateway Adress muss iwwer Layer2 zougänglech sinn. Fir Ethernet heescht dat, datt de Router eng Adress aus dem selwechten Subnet op eng vun den aktiven IP-Interfaces muss hunn, fir ppp, datt d'Gateway-Adress op eng vun den aktiven Interfaces als Subnet-Adress uginn ass.
Wann d'Accessibilitéitsbedéngung fir Layer2 net erfëllt ass, gëtt de Wee als inaktiv ugesinn a fällt net an d'FIB.

Interface
Alles ass méi komplizéiert an d'Behuele vum Router hänkt vun der Aart vun der Interface of:

  • PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *) Verbindung iwwerhëlt nëmmen zwee Participanten an de Paket gëtt ëmmer an de Paart geschéckt fir d'Transmissioun, wann de Paart feststellt datt den Empfänger selwer ass, da gëtt de Paket op seng lokal Prozess.
    Basics vu statesche Routing am Mikrotik RouterOS
  • Ethernet iwwerhëlt d'Präsenz vu ville Participanten a schéckt Ufroen un d'arp-Interface mat der Adress vum Empfänger vum Paket, dëst ass erwaart a ganz normal Verhalen fir verbonne Strecken.
    Awer wann Dir probéiert d'Interface als Wee fir e Remote-Subnet ze benotzen, kritt Dir déi folgend Situatioun: de Wee ass aktiv, Ping op de Paart passéiert, awer erreecht den Empfänger net vum spezifizéierte Subnet. Wann Dir d'Interface duerch e Sniffer kuckt, gesitt Dir arp Ufroe mat Adressen vun engem Remote Subnet.
    Basics vu statesche Routing am Mikrotik RouterOS

Basics vu statesche Routing am Mikrotik RouterOS

Probéiert d'IP Adress als Gateway ze spezifizéieren wann ëmmer méiglech. D'Ausnam ass verbonne Strecken (automatesch erstallt) an PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN*) Interfaces.

OpenVPN enthält keen PPP Header, awer Dir kënnt den OpenVPN Interface Numm benotzen fir e Wee ze kreéieren.

Méi spezifesch Route

Basis Routing Regel. D'Strooss déi de méi klengen Subnet beschreift (mat der gréisster Subnet Mask) huet Virrang an der Routing-Entscheedung vum Paket. D'Positioun vun den Entréen an der Routing-Tabelle ass net relevant fir d'Wiel - d'Haaptregel ass méi spezifesch.

Basics vu statesche Routing am Mikrotik RouterOS

All routes aus dem spezifizéierte Schema sinn aktiv (an FIB läit). Punkt op verschidden Ënnernetzer a Konflikt net mateneen.

Wann ee vun de Paarte net verfügbar ass, gëtt déi assoziéiert Streck als inaktiv ugesinn (vun der FIB geläscht) a Pakete gi vun de verbleiwen Strecken gesicht.

De Wee mat Subnet 0.0.0.0/0 gëtt heiansdo eng speziell Bedeitung kritt a gëtt als "Default Route" oder "Gateway of Last Resort" genannt. Tatsächlech gëtt et näischt magesch doriwwer an et enthält einfach all méiglech IPv4 Adressen, awer dës Nimm beschreiwen seng Aufgab gutt - et weist de Paart un, wou Dir Päckchen weiderginn fir déi et keng aner, méi genee Strecken gëtt.

Déi maximal méiglech Subnetzmaske fir IPv4 ass /32, dës Streck weist op e spezifesche Host a kann an der Routingtabelle benotzt ginn.

Méi spezifesch Route verstoen ass fundamental fir all TCP / IP Apparat.

Distanz

Distanzen (oder Metriken) sinn erfuerderlech fir d'administrativ Filteren vu Strecken op en eenzegen Subnet zougänglech duerch verschidde Paarte. Eng Streck mat enger méi niddereger Metrik gëtt als Prioritéit ugesinn a gëtt an der FIB abegraff. Wann e Wee mat enger méi niddereger Metrik ophält aktiv ze sinn, da gëtt se am FIB duerch eng Streck mat enger méi héijer Metrik ersat.
Basics vu statesche Routing am Mikrotik RouterOS

Wann et e puer Strecken zum selwechte Subnet mat der selwechter Metrik gëtt, füügt de Router nëmmen ee vun hinnen un d'FIB-Tabell, guidéiert vu senger interner Logik.

D'Metrik kann e Wäert vun 0 bis 255 huelen:
Basics vu statesche Routing am Mikrotik RouterOS

  • 0 - Metresch fir verbonne Strecken. Distanz 0 kann net vum Administrateur gesat ginn
  • 1-254 - Metriken verfügbar fir den Administrateur fir Strecken ze setzen. Metriken mat engem nidderegen Wäert hunn eng méi héich Prioritéit
  • 255 - Metresch verfügbar fir den Administrateur fir Strecken ze setzen. Am Géigesaz zu 1-254 bleift eng Streck mat enger Metrik vun 255 ëmmer inaktiv a fält net an d'FIB
  • spezifesch Metriken. Strecken ofgeleet vun dynamesche Routingprotokoller hunn Standard metresch Wäerter

kontrolléieren Paart

Check Gateway ass eng MikroTik RoutesOS Extensioun fir d'Disponibilitéit vum Paart iwwer icmp oder arp ze kontrolléieren. Eemol all 10 Sekonnen (kann net geännert ginn), gëtt eng Ufro un de Paart geschéckt, wann d'Äntwert net zweemol kritt gëtt, gëtt d'Streck als net verfügbar ugesinn a gëtt aus der FIB geläscht. Wann d'Scheckgateway deaktivéiert ass, geet d'Checkroute weider an d'Streck gëtt erëm aktiv no enger erfollegräicher Kontroll.
Basics vu statesche Routing am Mikrotik RouterOS

Check Gateway deaktivéiert den Entrée an deem se konfiguréiert ass an all aner Entréen (an all Routing Tabellen an ecmp routes) mat der spezifizéierter Paart.

Am Allgemengen, kontrolléiert Gateway funktionnéiert gutt soulaang et keng Probleemer mat Paketverloscht op de Paart sinn. Check Gateway weess net wat geschitt mat der Kommunikatioun ausserhalb vum gepréiften Gateway, dëst erfuerdert zousätzlech Tools: Scripten, rekursive Routing, dynamesch Routingprotokoller.

Déi meescht VPN- an Tunnelprotokoller enthalen agebaute Tools fir d'Verbindungsaktivitéit z'iwwerpréiwen, d'Check Gateway fir si z'erméiglechen ass eng zousätzlech (awer ganz kleng) Belaaschtung op d'Netzwierk an d'Apparatleistung.

ECMP routes

Equal-Cost Multi-Path - schéckt Päckchen un den Empfänger mat verschiddene Paarte gläichzäiteg mam Round Robin Algorithmus.

Eng ECMP Streck gëtt vum Administrateur erstallt andeems Dir verschidde Paarte fir een Subnet spezifizéiert (oder automatesch, wann et zwee gläichwäerteg OSPF Strecken gëtt).
Basics vu statesche Routing am Mikrotik RouterOS

ECMP gëtt fir Laaschtbalancéierung tëscht zwee Kanäl benotzt, an der Theorie, wann et zwee Kanäl an der ecmp Streck sinn, da soll fir all Paket den erausginn Kanal anescht sinn. Awer de Routing Cache Mechanismus schéckt Pakete vun der Verbindung laanscht d'Strooss, déi den éischte Paket geholl huet, als Resultat kréie mir eng Zort Balance baséiert op Verbindungen (pro Verbindung Luede Balance).

Wann Dir de Routing Cache deaktivéiert, da ginn d'Päckchen an der ECMP Route korrekt gedeelt, awer et gëtt e Problem mat NAT. D'NAT-Regel veraarbecht nëmmen den éischte Paket vun der Verbindung (de Rescht gëtt automatesch veraarbecht), an et stellt sech eraus datt Päckchen mat der selwechter Quelladress verschidden Interfaces verloossen.
Basics vu statesche Routing am Mikrotik RouterOS

Check Gateway funktionnéiert net an ECMP routes (RouterOS Käfer). Awer Dir kënnt dës Begrenzung ëmgoen andeems Dir zousätzlech Validatiounsrouten erstellt, déi Entréen an ECMP auszeschalten.

Filteren duerch Routing

D'Optioun Typ bestëmmt wat mam Package ze maachen:

  • unicast - schéckt op de spezifizéierte Paart (Interface)
  • blackhole - e Pak ewechzeginn
  • verbueden, onerreechbar - de Paket ewechhuelen a schéckt en icmp Message un de Sender

Filteren gëtt normalerweis benotzt wann et néideg ass d'Versendung vu Pakete laanscht de falsche Wee ze sécheren, natierlech kënnt Dir dëst duerch d'Firewall filteren.

E puer Beispiller

Fir d'Basis Saachen iwwer Routing ze konsolidéieren.

Typesch Heem Router
Basics vu statesche Routing am Mikrotik RouterOS

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

  1. Statesch Route op 0.0.0.0/0 (Standardroute)
  2. Verbonne Wee op der Interface mam Provider
  3. Verbonne Wee op LAN Interface

Typesch Heemrouter mat PPPoE
Basics vu statesche Routing am Mikrotik RouterOS

  1. Statesch Wee op Standardroute, automatesch bäigefüügt. et ass an Verbindung Eegeschafte uginn
  2. Verbonne Wee fir PPP Verbindung
  3. Verbonne Wee op LAN Interface

Typesch Heemrouter mat zwee Ubidder an Redundanz
Basics vu statesche Routing am 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. Statesch Wee op Standardroute duerch den éischte Provider mat Metrik 1 a Paartverfügbarkeetscheck
  2. Statesch Wee op Standardroute duerch zweete Provider mat Metrik 2
  3. Verbonne routes

Den Traffic op 0.0.0.0/0 geet duerch den 10.10.10.1 wärend dëse Paart verfügbar ass, soss wiesselt se op den 10.20.20.1

Esou engem Schema kann als Kanal Reservatioun considéréiert ginn, mä et ass net ouni Nodeeler. Wann eng Paus ausserhalb vum Provider Gateway geschitt (zum Beispill am Netz vum Bedreiwer), wäert Äre Router net doriwwer wëssen a wäert d'Streck weider als aktiv betruechten.

Typesch Heemrouter mat zwee Ubidder, Redundanz an ECMP
Basics vu statesche Routing am 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. Statesch routes fir Check Chack Gateway
  2. ECMP route
  3. Verbonne routes

Strecken fir ze kontrolléieren sinn blo (d'Faarf vun inaktiven Strecken), awer dëst stéiert net mat der Scheckpaart. Déi aktuell Versioun (6.44) vu RoS gëtt automatesch Prioritéit fir d'ECMP Streck, awer et ass besser Testrouten op aner Routingtabellen ze addéieren (Optioun routing-mark)

Op Speedtest an aner ähnlech Siten gëtt et keng Erhéijung vun der Geschwindegkeet (ECMP trennt den Traffic duerch Verbindungen, net duerch Päckchen), awer p2p Uwendungen solle méi séier eroflueden.

Filteren iwwer Routing
Basics vu statesche Routing am 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. Statesch Wee op Standardroute
  2. Statesch Wee ze 192.168.200.0/24 iwwer ipip Tunnel
  3. Verbueden statesch Wee op 192.168.200.0/24 duerch ISP Router

Eng Filteroptioun an där den Tunnelverkéier net op de Router vum Provider geet wann d'IPP-Interface deaktivéiert ass. Esou Schemaen sinn selten néideg, well Dir kënnt d'Blockéierung duerch d'Firewall ëmsetzen.

Routing Loop
Routing Loop - eng Situatioun wann e Paket tëscht Router leeft ier den ttl ofleeft. Normalerweis ass et d'Resultat vun engem Konfiguratiounsfehler, a grousse Netzwierker gëtt et duerch d'Ëmsetzung vun dynamesche Routingprotokoller behandelt, a kleng - mat Suergfalt.

Et gesäit sou aus:
Basics vu statesche Routing am Mikrotik RouterOS

E Beispill (einfachst) wéi een en ähnlecht Resultat kritt:
Basics vu statesche Routing am Mikrotik RouterOS

D'Routing Loop Beispill ass vu kee praktesche Gebrauch, awer et weist datt d'Router keng Ahnung hunn iwwer de Routing-Table vun hirem Noper.

Politik Base Routing an zousätzlech Routing Dëscher

Wann Dir e Wee auswielt, benotzt de Router nëmmen ee Feld vum Paket Header (Dst. Adress) - dëst ass Basisrouting. Routing baséiert op anere Konditiounen, wéi Quell Adress, Zort Traffic (ToS), Gläichgewiicht ouni ECMP, gehéiert zu Policy Base Routing (PBR) a benotzt zousätzlech Routing Dëscher.

Basics vu statesche Routing am Mikrotik RouterOS

Méi spezifesch Route ass d'Haaptroute Selektiounsregel bannent der Routingtabelle.

Par défaut sinn all Routing Regelen op d'Haaptrei Dësch dobäi. Den Administrateur kann eng arbiträr Unzuel vun zousätzleche Routingtabellen erstellen a Pakete fir si routen. Regelen a verschiddenen Dëscher sinn net matenee Konflikt. Wann de Pak net eng gëeegent Regel an der spezifizéierter Tabell fënnt, geet et an d'Haapttabell.

Beispill mat Verdeelung iwwer Firewall:
Basics vu statesche Routing am Mikrotik RouterOS

  • 192.168.100.10 -> 8.8.8.8
    1. Verkéier vum 192.168.100.10 gëtt markéiert via-isp1 в [Prerouting|Mangle]
    2. An der Routing Etapp an der Tabell via-isp1 sicht eng Streck op 8.8.8.8
    3. Route fonnt, Traffic gëtt op de Paart geschéckt 10.10.10.1
  • 192.168.200.20 -> 8.8.8.8
    1. Verkéier vum 192.168.200.20 gëtt markéiert via-isp2 в [Prerouting|Mangle]
    2. An der Routing Etapp an der Tabell via-isp2 sicht eng Streck op 8.8.8.8
    3. Route fonnt, Traffic gëtt op de Paart geschéckt 10.20.20.1
  • Wann ee vun de Paarte (10.10.10.1 oder 10.20.20.1) net verfügbar ass, da geet de Paket op den Dësch Haaptstrooss a wäert e passende Wee dohinner sichen

Terminologie Problemer

RouterOS huet gewësse Terminologieprobleemer.
Wann Dir mat Regelen an [IP]->[Routes] d'Routing-Tabelle gëtt uginn, obwuel et geschriwwen ass datt de Label:
Basics vu statesche Routing am Mikrotik RouterOS

В [IP]->[Routes]->[Rule] alles ass richteg, am Label Zoustand an der Tabell Aktioun:
Basics vu statesche Routing am Mikrotik RouterOS

Wéi schéckt e Paket op eng spezifesch Routing-Tabelle

RouterOS bitt verschidde Tools:

  • Regelen an [IP]->[Routes]->[Rules]
  • Routemarker (action=mark-routing) an [IP]->[Firewall]->[Mangle]
  • VRF

Regelen [IP]->[Route]->[Rules]
Regele ginn sequenziell veraarbecht, wann de Paket mat de Konditioune vun der Regel entsprécht, geet et net weider.

Routing Regelen erlaben Iech d'Méiglechkeeten vun Routing auszebauen, vertrauen net nëmmen op d'Empfänger Adress, mä och op d'Quell Adress an Interface op déi de Pak krut.

Basics vu statesche Routing am Mikrotik RouterOS

Regele besteet aus Konditiounen an enger Aktioun:

  • Konditiounen. Praktesch widderhuelen d'Lëscht vun de Schëlder, duerch déi de Package an der FIB gepréift gëtt, nëmmen ToS fehlt.
  • Actions
    • Lookup - schéckt e Paket op en Dësch
    • kuckt nëmmen an der Tabell - spär de Package an der Tabell, wann de Wee net fonnt gëtt, geet de Package net an den Haapttabell
    • drop - drop e Pak
    • onerreechbar - de Paket mat Sender Notifikatioun verwerfen

Am FIB gëtt de Verkéier op lokal Prozesser veraarbecht, déi d'Regele ëmgoen [IP]->[Route]->[Rules]:
Basics vu statesche Routing am Mikrotik RouterOS

Markéieren [IP]->[Firewall]->[Mangle]
Routing Etiketten erlaben Iech de Paart fir e Paket ze setzen mat bal all Firewall Bedéngungen:
Basics vu statesche Routing am Mikrotik RouterOS

Praktesch, well se net all Sënn maachen, an e puer kënnen onbestänneg funktionnéieren.

Basics vu statesche Routing am Mikrotik RouterOS

Et ginn zwou Weeër fir e Package ze markéieren:

  • Direkt setzen Routing Mark
  • Éischt setzen Verbindungsmark, dann baséiert op Verbindungsmark leeen Routing Mark

An engem Artikel iwwer Firewalls hunn ech geschriwwen datt déi zweet Optioun léiwer ass. reduzéiert d'Laascht op der CPU, am Fall vun Marquage routes - dat ass net ganz richteg. Dës Marquage Methoden sinn net ëmmer gläichwäerteg a ginn normalerweis benotzt fir verschidde Probleemer ze léisen.

Benotzungsbeispiller

Loosst eis op d'Beispiller vun der Benotzung vu Policy Base Routing weidergoen, si si vill méi einfach ze weisen firwat dat alles gebraucht gëtt.

MultiWAN an zréck ausginn (Output) Verkéier
E gemeinsame Problem mat enger MultiWAN Konfiguratioun: Mikrotik ass nëmme vum Internet duerch en "aktiven" Provider verfügbar.
Basics vu statesche Routing am Mikrotik RouterOS

De Router ass egal wéi eng IP d'Ufro ukomm ass, wann Dir eng Äntwert generéiert, sicht e Wee an der Routing-Tabelle wou de Wee duerch isp1 aktiv ass. Weider gëtt esou e Paket héchstwahrscheinlech laanscht de Wee zum Empfänger gefiltert.

En aneren interessanten Punkt. Wann eng "einfach" Quell Nat op der ether1 Interface konfiguréiert ass: /ip fi nat add out-interface=ether1 action=masquerade de Pak gëtt online mat src. Adress=10.10.10.100, wat d'Saache nach méi schlëmm mécht.

Et gi verschidde Weeër fir de Problem ze fixéieren, awer jidderee vun hinnen erfuerdert zousätzlech Routingtabellen:
Basics vu statesche Routing am 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

Benotzt [IP]->[Route]->[Rules]
Gitt d'Routing-Tabelle un, déi fir Päckchen mat der spezifizéierter Quell-IP benotzt gëtt.
Basics vu statesche Routing am 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

Kann se benotzen action=lookup, mee fir lokal erausginn Verkéier, dës Optioun komplett ausgeschloss Verbindungen vun der falscher Interface.

  • De System generéiert en Äntwertpaket mam Src. Adress: 10.20.20.200
  • D'Routing Decisioun (2) Schrëtt Kontrollen [IP]->[Routes]->[Rules] an de Paket gëtt an de Routing-Tabelle geschéckt iwwer-isp2
  • Laut der Routing-Tabelle muss de Paket an de Paart 10.20.20.1 iwwer d'ether2 Interface geschéckt ginn

Basics vu statesche Routing am Mikrotik RouterOS

Dës Method erfuerdert keen funktionnéierende Connection Tracker, am Géigesaz zum Gebrauch vun der Mangle Dësch.

Benotzt [IP]->[Firewall]->[Mangle]
D'Verbindung fänkt mat engem erakommende Paket un, also markéiere mir et (action=mark-connection), fir erausginn Pakete vun enger markéierter Verbindung, set de Routing Label (action=mark-routing).
Basics vu statesche Routing am 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

Wann e puer Ips op engem Interface konfiguréiert sinn, kënnt Dir op d'Konditioun addéieren dst-address fir sécher ze sinn.

  • E Paket mécht d'Verbindung op der Ether2 Interface op. De Pak geet an [INPUT|Mangle] déi seet all Pakete vun der Verbindung ze markéieren als vun isp2
  • De System generéiert en Äntwertpaket mam Src. Adress: 10.20.20.200
  • An der Routing Decision (2) Etapp, gëtt de Paket, am Aklang mat der Routing Tabell, op d'Paart 10.20.20.1 iwwer d'ether1 Interface geschéckt. Dir kënnt dëst verifizéieren andeems Dir d'Packagen aloggen [OUTPUT|Filter]
  • Op der Bühn [OUTPUT|Mangle] Verbindung Label gepréift vun isp2 an de Pak kritt e Route Label iwwer-isp2
  • De Routing Adjument(3) Schrëtt iwwerpréift fir d'Präsenz vun engem Routing Label a schéckt et an déi entspriechend Routing Tabelle
  • Laut der Routing-Tabelle muss de Paket an de Paart 10.20.20.1 iwwer d'ether2 Interface geschéckt ginn

Basics vu statesche Routing am Mikrotik RouterOS

MultiWAN an zréck dst-nat Verkéier

E Beispill ass méi komplizéiert, wat maache wann et e Server (zum Beispill Web) hannert dem Router op engem privaten Subnet ass an Dir musst Zougang zu deem duerch ee vun de Providere ubidden.

/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

D'Essenz vum Problem wäert d'selwecht sinn, d'Léisung ass ähnlech wéi d'Firewall Mangle Optioun, nëmmen aner Ketten ginn benotzt:
Basics vu statesche Routing am 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

Basics vu statesche Routing am Mikrotik RouterOS
D'Diagramm weist net NAT, mee ech mengen alles ass kloer.

MultiWAN an erausginn Verbindungen

Dir kënnt d'PBR Fäegkeeten benotzen fir verschidde VPN (SSTP am Beispill) Verbindunge vu verschiddene Router Interfaces ze kreéieren.

Basics vu statesche Routing am Mikrotik RouterOS

Zousätzlech Routing Dëscher:

/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

Package Marquage:

/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

Einfach NAT Regelen, soss wäert de Paket d'Interface mat der falscher Src verloossen. Adress:

/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:

  • Router erstellt dräi SSTP Prozesser
  • Op der Routing Decision (2) Etapp gëtt e Wee fir dës Prozesser ausgewielt baséiert op der Haaptrouting Tabell. Vun der selwechter Streck kritt de Paket Src. Adress gebonnen un ether1 Interface
  • В [Output|Mangle] Pakete vu verschiddene Verbindunge kréien verschidden Etiketten
  • D'Päckchen ginn an d'Tabellen entspriechend den Etiketten an der Routing Adjustment Etapp an a kréien en neie Wee fir Päck ze schécken
  • Awer Packagen hunn nach ëmmer Src. Adress vun ether1, op der Bühn [Nat|Srcnat] d'Adress gëtt no der Interface ersat

Interessanterweis gesitt Dir um Router déi folgend Verbindungstabell:
Basics vu statesche Routing am Mikrotik RouterOS

Connection Tracker funktionnéiert fréier [Mangle] и [Srcnat], also all Verbindungen kommen aus der selwechter Adress, wann Dir méi detailléiert kuckt, dann an Replay Dst. Address et ginn Adressen no NAT:
Basics vu statesche Routing am Mikrotik RouterOS

Um VPN Server (ech hunn een op der Testbänk), kënnt Dir gesinn datt all Verbindungen aus de richtege Adresse kommen:
Basics vu statesche Routing am Mikrotik RouterOS

Halt de Wee op
Et gëtt e méi einfache Wee, Dir kënnt einfach e spezifesche Paart fir jiddereng vun den Adressen uginn:

/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

Awer esou Strecken beaflossen net nëmmen den Ausgang, mee och den Transitverkéier. Plus, wann Dir kee Traffic op de VPN Server braucht fir duerch onpassend Kommunikatiounskanäl ze goen, da musst Dir 6 méi Reegelen derbäisetzen [IP]->[Routes]с type=blackhole. An der viregter Versioun - 3 Regelen an [IP]->[Route]->[Rules].

Verdeelung vun Benotzer Verbindungen duerch Kommunikatioun Channels

Einfach, alldeeglech Aufgaben. Nach eng Kéier, zousätzlech Routing Dëscher wäerten néideg sinn:

/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

Benotzen [IP]->[Route]->[Rules]
Basics vu statesche Routing am 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

Wann Dir benotzt action=lookup, dann, wann ee vun de Channels behënnert ass, wäert de Verkéier op d'Haaptrei Dësch goen an duerch d'Aarbecht Kanal goen. Ob dat néideg ass oder net hänkt vun der Aufgab of.

Benotzt d'Markéierungen an [IP]->[Firewall]->[Mangle]
En einfacht Beispill mat Lëschte vun IP Adressen. Prinzipiell kënne bal all Konditioune benotzt ginn. Déi eenzeg Opfaassung vu Layer7, och wann et mat Verbindungslabelen gepaart ass, kann et schéngen datt alles richteg funktionnéiert, awer e puer vum Traffic wäert nach ëmmer de falsche Wee goen.
Basics vu statesche Routing am 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

Dir kënnt d'Benotzer an engem Routing-Tabell duerch "spären". [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

Entweder duerch [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
Zousätzlech Konditioun dst-address-type=!local et ass néideg datt de Verkéier vu Benotzer déi lokal Prozesser vum Router erreechen (dns, winbox, ssh, ...). Wann e puer lokal Subnetz mam Router verbonne sinn, ass et néideg ze garantéieren datt de Verkéier tëscht hinnen net op den Internet geet, zum Beispill dst-address-table.

Am Beispill benotzt [IP]->[Route]->[Rules] et gi keng esou Ausnahmen, mee Verkéier erreecht lokal Prozesser. D'Tatsaach ass datt an de FIB Package gezeechent gëtt [PREROUTING|Mangle] huet eng Streck Label a geet an engem Routing Dësch aner wéi Haaptrei, wou et keng lokal Interface. Am Fall vu Routing Regelen gëtt als éischt gepréift ob de Paket fir e lokale Prozess geduecht ass an nëmmen op der User PBR Stuf geet et an déi spezifizéiert Routing Tabelle.

Benotzen [IP]->[Firewall]->[Mangle action=route]
Dës Aktioun funktionnéiert nëmmen an [Prerouting|Mangle] an erlaabt Iech de Verkéier op de spezifizéierte Paart ze dirigéieren ouni zousätzlech Routingtabellen ze benotzen, andeems Dir d'Gateway Adress direkt spezifizéiert:

/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

Effet route huet eng méi niddereg Prioritéit wéi Routingregelen ([IP]->[Route]->[Rules]). Am Fall vun Streck Marken hänkt alles op der Positioun vun de Regelen, wann d'Regel mat action=route wäert méi wéi action=mark-route, da gëtt et benotzt (onofhängeg vum Fändel passtrough), soss d'Streck markéieren.
Et gëtt ganz wéineg Informatiounen op der Wiki iwwer dës Aktioun an all Conclusiounen ginn experimentell kritt, op jidde Fall hunn ech keng Optiounen fonnt wann ech dës Optioun benotzt gi Virdeeler iwwer anerer.

PPC baséiert dynamesch Balance

Per Connection Classifier - ass e méi flexibelen Analog vum ECMP. Am Géigesaz zu ECMP deelt et den Traffic duerch Verbindunge méi strikt (ECMP weess näischt iwwer Verbindungen, awer wann se mat Routing Cache gepaart gëtt, gëtt eppes ähnlech kritt).

PCC hëlt spezifizéierte Felder vum IP Header, konvertéiert se an en 32-Bit Wäert, an deelt duerch Nenner. De Rescht vun der Divisioun gëtt mat dem spezifizéierte verglach Rescht a wa se passen, da gëtt déi spezifizéiert Aktioun applizéiert. méi. Kléngt verréckt, awer et funktionnéiert.
Basics vu statesche Routing am Mikrotik RouterOS

Beispill mat dräi Adressen:

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

E Beispill vun der dynamescher Verdeelung vum Traffic duerch src.address tëscht dräi Kanäl:
Basics vu statesche Routing am 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

Wann Dir Strecken markéiert, gëtt et eng zousätzlech Bedingung: in-interface=br-lan, ouni et ënner action=mark-routing Äntwert Traffic vum Internet kritt an, am Aklang mat de Routing Dëscher, wäert zréck op de Provider.

Wiessel Kommunikatioun Channels

Check Ping ass e gutt Tool, awer et iwwerpréift nëmmen d'Verbindung mat dem noosten IP Peer, Provider Netzwierker besteet normalerweis aus enger grousser Unzuel vu Router an eng Verbindungsbrek kann ausserhalb vum noosten Peer optrieden, an da ginn et Backbone Telecom Opérateuren déi och kënnen Problemer hunn, am Allgemengen Check Ping weist net ëmmer aktuell Informatiounen iwwert Zougang zu de globale Reseau.
Wann Ubidder a grouss Firmen de BGP dynamesche Routingprotokoll hunn, da mussen Heem- a Büro Benotzer onofhängeg erausfannen, wéi den Internetzougang duerch e spezifesche Kommunikatiounskanal kontrolléiert gëtt.

Typesch gi Skripte benotzt, déi duerch e bestëmmte Kommunikatiounskanal d'Disponibilitéit vun enger IP Adress um Internet kontrolléieren, wärend eppes zouverléisseg auswielen, zum Beispill Google dns: 8.8.8.8. 8.8.4.4. Awer an der Mikrotik Gemeinschaft gouf e méi interessant Tool dofir ugepasst.

E puer Wierder iwwer rekursive Routing
Rekursive Routing ass noutwendeg wann Dir Multihop BGP Peering baut a koum an den Artikel iwwer d'Grondlage vu statesche Routing nëmmen duerch lëschteg MikroTik Benotzer déi erausfonnt hunn wéi rekursive Strecken gepaart mat Check Gateway benotze fir Kommunikatiounskanäl ouni zousätzlech Scripten ze wiesselen.

Et ass Zäit den Ëmfang / Zil Ëmfang Optiounen allgemeng ze verstoen a wéi d'Streck un d'Interface gebonnen ass:
Basics vu statesche Routing am Mikrotik RouterOS

  1. De Wee kuckt en Interface op fir de Paket ze schécken baséiert op sengem Ëmfangwäert an all Entréen an der Haapttabell mat manner wéi oder gläiche Zil- Ëmfang Wäerter
  2. Vun de fonnte Schnëttplazen gëtt deen ausgewielt, duerch deen Dir e Paket op de spezifizéierte Paart schécken kënnt
  3. D'Interface vun der fonnt verbonnen Entrée gëtt ausgewielt fir de Paket an de Paart ze schécken

An der Präsenz vun engem rekursive Wee geschitt alles datselwecht, awer an zwou Etappen:
Basics vu statesche Routing am Mikrotik RouterOS

  • 1-3 Eng weider Streck gëtt op déi verbonne Strecken bäigefüügt, duerch déi de spezifizéierte Paart erreecht ka ginn
  • 4-6 Fannt d'Streck verbonne Streck fir de "Zwëschen" Paart

All Manipulatioune mat der rekursiver Sich geschitt am RIB, an nëmmen d'Finale Resultat gëtt op d'FIB transferéiert: 0.0.0.0/0 via 10.10.10.1 on ether1.

E Beispill fir rekursive Routing ze benotzen fir Strecken ze wiesselen
Basics vu statesche Routing am Mikrotik RouterOS

Konfiguratioun:
Basics vu statesche Routing am 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

Dir kënnt iwwerpréiwen datt Päckchen op 10.10.10.1 geschéckt ginn:
Basics vu statesche Routing am Mikrotik RouterOS

Check Gateway weess näischt iwwer rekursive Routing a schéckt einfach Pings op 8.8.8.8, déi (baséiert op der Haaptrei Dësch) duerch Paart 10.10.10.1 zougänglech ass.

Wann et e Verloscht vun der Kommunikatioun tëscht 10.10.10.1 an 8.8.8.8 ass, da gëtt d'Streck ofgeschalt, awer Pakete (inklusiv Test Pings) op 8.8.8.8 weider duerch 10.10.10.1:
Basics vu statesche Routing am Mikrotik RouterOS

Wann de Link op ether1 verluer ass, da geschitt eng onsympathesch Situatioun wann Päck virum 8.8.8.8 duerch den zweete Provider goen:
Basics vu statesche Routing am Mikrotik RouterOS

Dëst ass e Problem wann Dir NetWatch benotzt fir Scripten ze lafen wann 8.8.8.8 net verfügbar ass. Wann de Link gebrach ass, funktionnéiert NetWatch einfach duerch de Backup-Kommunikatiounskanal an iwwerhëlt datt alles gutt ass. Geléist andeems Dir eng zousätzlech Filterroute bäidréit:

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

Basics vu statesche Routing am Mikrotik RouterOS

Et gëtt op habré en Artikel, wou d'Situatioun mat NetWatch méi am Detail berücksichtegt gëtt.

A jo, wann Dir sou eng Reservatioun benotzt, gëtt d'Adress 8.8.8.8 un ee vun de Providere verbonnen, sou datt et als dns Quell ze wielen ass keng gutt Iddi.

E puer Wierder iwwer Virtuell Routing a Forwarding (VRF)

VRF Technologie ass entwéckelt fir verschidde virtuelle Router an engem kierperlechen ze kreéieren, dës Technologie gëtt wäit vun Telekomoperateuren benotzt (normalerweis a Verbindung mat MPLS) fir L3VPN Servicer u Clienten mat iwwerlappende Subnet Adressen ze bidden:
Basics vu statesche Routing am Mikrotik RouterOS

Awer VRF am Mikrotik ass op Basis vu Routingtabellen organiséiert an huet eng Rei Nodeeler, zum Beispill lokal IP Adressen vum Router sinn aus all VRFs verfügbar, Dir kënnt méi liesen Link.

vrf Konfiguratioun Beispill:
Basics vu statesche Routing am 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

Vum Apparat verbonne mat ether2 gesi mir datt de Ping op d'Router Adress vun engem aneren vrf geet (an dëst ass e Problem), während de Ping net op den Internet geet:
Basics vu statesche Routing am Mikrotik RouterOS

Fir Zougang zum Internet ze kréien, musst Dir en zousätzleche Wee registréieren, deen op d'Haapttabell zougräift (an der vrf-Terminologie gëtt dëst Route Leck genannt):
Basics vu statesche Routing am 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

Hei sinn zwee Weeër fir de Wee ze lecken: d'Routing-Table benotzen: 172.17.0.1@main a benotzt den Interfacenumm: 172.17.0.1%wlan1.

An Ariichten Marquage fir zréck Verkéier an [PREROUTING|Mangle]:
Basics vu statesche Routing am 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 

Basics vu statesche Routing am Mikrotik RouterOS

Subnets mat der selwechter Adress
Organisatioun vum Zougang zu Subnets mat der selwechter Adresséierung um selwechte Router mat VRF an Netmap:
Basics vu statesche Routing am Mikrotik RouterOS

Basis Konfiguratioun:

/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

Firewall Regelen:

#Маркируем пакеты для отправки в правильную таблицу маршрутизации
/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

Routingregele fir Retourverkéier:

#Указание имени интерфейса тоже может считаться 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

Füügt Strecken, déi iwwer dhcp kritt goufen, op eng bestëmmte Routing-Table
VRF kann interessant sinn wann Dir automatesch eng dynamesch Route (zum Beispill vun engem dhcp Client) op eng spezifesch Routing-Tabelle addéiere musst.

Füügt Interface op vrf:

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

Regele fir de Verkéier ze schécken (ausginn an Transit) duerch den Dësch iwwer-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

Zousätzlech, gefälschte Wee fir Outbound Routing op d'Aarbecht:

/interface bridge
add name=bare

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

Dëse Wee ass nëmme gebraucht fir datt lokal erausginn Päck duerch d'Routing-Entscheedung (2) virdru passéiere kënnen [OUTPUT|Mangle] a kréien d'Routing Label, wann et aner aktiv routes op de Router virun 0.0.0.0 / 0 an der Haaptrei Dësch, ass et net néideg.
Basics vu statesche Routing am Mikrotik RouterOS

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

Route Filtering (inbound an outbound) ass en Tool dat normalerweis a Verbindung mat dynamesche Routingprotokoller benotzt gëtt (an dofir nëmme verfügbar nodeems de Package installéiert ass) läit), awer et ginn zwou interessant Ketten an den erakommen Filteren:

  • verbonnen-an - Filteren verbonne routes
  • dynamesch-an - Filteren dynamesch routes vun PPP an DCHP kritt

Filteren erlaabt Iech net nëmmen Strecken ze verwerfen, awer och eng Zuel vun Optiounen z'änneren: Distanz, Routing-Mark, Kommentar, Ëmfang, Zil- Ëmfang, ...

Dëst ass e ganz präzis Tool a wann Dir eppes ouni Routing Filtere maache kënnt (awer net Skripte), da benotzt keng Routing Filtere, verwirrt Iech net an déi, déi de Router no Iech konfiguréieren. Am Kontext vun dynamescher Routing wäerte Routing Filtere vill méi dacks a méi produktiv benotzt ginn.

Astellung vun der Routing Mark fir dynamesch Routen
E Beispill vun engem Heemrouter. Ech hunn zwee VPN Verbindungen konfiguréiert an de Traffic an hinnen soll am Aklang mat de Routingtabellen gewéckelt ginn. Zur selwechter Zäit wëll ech datt d'Strecken automatesch erstallt ginn wann d'Interface aktivéiert ass:

#При создании 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

Ech weess net firwat, wahrscheinlech e Feeler, awer wann Dir e vrf fir d'ppp-Interface erstellt, da wäert de Wee op 0.0.0.0/0 nach ëmmer an d'Haapttabell kommen. Soss wier alles nach méi einfach.

Connected Routes auszeschalten
Heiansdo ass dëst néideg:

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

Debugging Tools

RouterOS bitt eng Rei Tools fir Routing ze Debuggéieren:

  • [Tool]->[Tourch] - erlaabt Iech Pakete op Interfaces ze gesinn
  • /ip route check - erlaabt Iech ze gesinn op wéi eng Paart de Paket geschéckt gëtt, funktionnéiert net mat Routingtabellen
  • /ping routing-table=<name> и /tool traceroute routing-table=<name> - Ping a Spuer mat der spezifizéierter Routing-Tabelle
  • action=log в [IP]->[Firewall] - en exzellent Tool dat Iech erlaabt de Wee vun engem Paket laanscht de Paketfloss ze verfolgen, dës Aktioun ass verfügbar an all Ketten an Dëscher

Source: will.com

Setzt e Commentaire