Principi di basa di u routing staticu in Mikrotik RouterOS

U routing hè u prucessu di truvà u megliu per trasmette pacchetti nantu à e rete TCP / IP. Ogni dispusitivu cunnessu à una reta IPv4 cuntene un prucessu è e tabelle di routing.

Stu articulu ùn hè micca un HOWTO, si discriva routing static in RouterOS cù esempii, I deliberatamente omessi u restu di i paràmetri (per esempiu, srcnat per accede à Internet), cusì capisce u materiale abbisogna un certu livellu di cunniscenza di rete è RouterOS.

Cambia è routing

Principi di basa di u routing staticu in Mikrotik RouterOS

U cambiamentu hè u prucessu di scambià pacchetti in un segmentu Layer2 (Ethernet, ppp, ...). Se u dispusitivu vede chì u destinatariu di u pacchettu hè nantu à a stessa subnet Ethernet cun ellu, ampara l'indirizzu mac utilizendu u protokollu arp è trasmette u pacchettu direttamente, sguassendu u router. Una cunnessione ppp (puntu à puntu) pò avè solu dui participanti è u pacchettu hè sempre mandatu à un indirizzu 0xff.

Routing hè u prucessu di trasferimentu di pacchetti trà i segmenti Layer2. Se un dispositivu vole mandà un pacchettu chì u destinatariu hè fora di u segmentu Ethernet, guarda in a so tabella di routing è passa u pacchettu à una porta chì sapi induve mandà u pacchettu dopu (o ùn pò micca sapè, u mittente originale di u pacchettu hè micca cuscente di questu).

A manera più faciule di pensà à un router hè cum'è un dispositivu cunnessu à dui o più segmenti di Layer2 è capaci di passà pacchetti trà elli, determinendu u megliu percorsu da a tabella di routing.

Sè avete capitu tuttu, o avete digià cunnisciutu, allora leghje. Per u restu, vi ricumandemu fermamente chì vi familiarisate cun un picculu, ma assai capacious articulu.

Routing in RouterOS è PacketFlow

Quasi tutte e funziunalità ligate à u routing staticu sò in u pacchettu sistema. Saccu di plastica Upravni aghjunghje supportu per algoritmi di routing dinamichi (RIP, OSPF, BGP, MME), filtri di routing è BFD.

Menu principale per a cunfigurazione di u routing: [IP]->[Route]. I schemi cumplessi ponu dumandà à i pacchetti per esse pre-etichettati cù una marca di routing in: [IP]->[Firewall]->[Mangle] (catene PREROUTING и OUTPUT).

Ci sò trè posti in PacketFlow induve e decisioni di routing di pacchetti IP sò prese:
Principi di basa di u routing staticu in Mikrotik RouterOS

  1. Pacchetti di routing ricevuti da u router. À questu stadiu, hè decisu se u pacchettu andarà à u prucessu lucale o serà mandatu più in a reta. I pacchetti di transitu ricevenu Interfaccia di Output
  2. Instradamentu di pacchetti in uscita lucali. I pacchetti in uscita ricevenu Interfaccia di Output
  3. Passu supplementu di routing per i pacchetti in uscita, vi permette di cambià a decisione di routing in [Output|Mangle]

  • U percorsu di u pacchettu in i blocchi 1, 2 dipende da e regule in [IP]->[Route]
  • U percorsu di u pacchettu in i punti 1, 2 è 3 dipende da e regule in [IP]->[Route]->[Rules]
  • U percorsu di u pacchettu in i blocchi 1, 3 pò esse influenzatu usendu [IP]->[Firewall]->[Mangle]

RIB, FIB, Routing Cache

Principi di basa di u routing staticu in Mikrotik RouterOS

Base d'infurmazioni di routing
A basa in quale e rotte sò cullate da protokolli di routing dinamichi, rotte da ppp è dhcp, rotte statiche è cunnesse. Questa basa di dati cuntene tutte e rotte, eccettu quelli filtrati da l'amministratore.

Cundizionalmente, pudemu assume chì [IP]->[Route] mostra RIB.

Base d'infurmazione di spedizione
Principi di basa di u routing staticu in Mikrotik RouterOS

A basa in quale sò raccolti i migliori rotte da RIB. Tutte e rotte in u FIB sò attivi è sò usati per trasmette i pacchetti. Se a strada diventa inattiva (disattivata da l'amministratore (sistema), o l'interfaccia per quale u pacchettu deve esse mandatu ùn hè micca attivu), a strada hè sguassata da u FIB.

Per fà una decisione di routing, a tabella FIB usa l'infurmazioni seguenti nantu à un pacchettu IP:

  • Indirizzu surghjente
  • Indirizzu di destinazione
  • interfaccia fonte
  • Marca di rotta
  • ToS (DSCP)

Entra in u pacchettu FIB passa per e seguenti tappe:

  • Hè u pacchettu destinatu à un prucessu di router locale?
  • U pacchettu hè sottumessu à e regule PBR di u sistema o di l'utilizatori?
    • Se sì, allora u pacchettu hè mandatu à a tabella di routing specificata
  • U pacchettu hè mandatu à a tavola principale

Cundizionalmente, pudemu assume chì [IP]->[Route Active=yes] mostra FIB.

Cache di routing
Meccanisimu di cache di rotta. U router s'arricorda induve i pacchetti sò stati mandati è s'ellu ci sò simili (presumibilmente da a listessa cunnessione) li permette di andà per a listessa strada, senza cuntrollà in u FIB. A cache di a strada hè sguassata periodicamente.

Per l'amministratori di RouterOS, ùn anu micca fattu strumenti per vede è gestisce a cache di routing, ma quandu pò esse disattivata in [IP]->[Settings].

Stu miccanisimu fù cacciatu da u linux 3.6 kernel, ma RouterOS usa sempre kernel 3.3.5, forsi Routing cahce hè unu di i mutivi.

Aghjunghjite u dialogu di a strada

[IP]->[Route]->[+]
Principi di basa di u routing staticu in Mikrotik RouterOS

  1. Subnet per quale vulete creà una strada (predeterminatu: 0.0.0.0/0)
  2. Gateway IP o interfaccia à quale u pacchettu serà mandatu (ci pò esse parechji, vede ECMP sottu)
  3. Verificate a dispunibilità di u Gateway
  4. Tipu di registrazione
  5. Distanza (metrica) per una strada
  6. Tavola di routing
  7. IP per i pacchetti in uscita lucali via questa strada
  8. U scopu di Scope è Target Scope hè scrittu à a fine di l'articulu.

Bandiere di strada
Principi di basa di u routing staticu in Mikrotik RouterOS

  • X - A strada hè disattivata da l'amministratore (disabled=yes)
  • A - A strada hè aduprata per mandà pacchetti
  • D - Percorsu aghjuntu dinamicamente (BGP, OSPF, RIP, MME, PPP, DHCP, Cunnessu)
  • C - A subnet hè cunnessa direttamente à u router
  • S - Strada statica
  • r,b,o,m - Percorsu aghjuntu da unu di i protokolli di routing dinamichi
  • B,U,P - Percorso di filtrazione (lascia i pacchetti invece di trasmette)

Cosa à specificà in gateway: IP-indirizzu o interfaccia?

U sistema vi permette di specificà tramindui, mentri ùn ghjurà micca è ùn dà cunsiglii se avete fattu qualcosa di male.

Indirizzu IP
L'indirizzu di u gateway deve esse accessibile nantu à Layer2. Per Ethernet, questu significa chì u router deve avè un indirizzu da a listessa subnet in una di l'interfacce ip attive, per ppp, chì l'indirizzu di a porta hè specificatu nantu à una di l'interfacce attive cum'è l'indirizzu subnet.
Se a cundizione d'accessibilità per Layer2 ùn hè micca cumpletata, a strada hè cunsiderata inattiva è ùn cascà micca in u FIB.

interfaccia
Tuttu hè più cumplicatu è u cumpurtamentu di u router dipende da u tipu d'interfaccia:

  • A cunnessione PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *) assume solu dui participanti è u pacchettu serà sempre mandatu à u gateway per a trasmissione, se u gateway detecta chì u destinatariu hè ellu stessu, allora trasfererà u pacchettu à u so prucessu lucale.
    Principi di basa di u routing staticu in Mikrotik RouterOS
  • Ethernet assume a prisenza di parechji participanti è mandarà dumande à l'interfaccia arp cù l'indirizzu di u destinatariu di u pacchettu, questu hè previstu è un cumpurtamentu abbastanza normale per rotte cunnessi.
    Ma quandu pruvate d'utilizà l'interfaccia cum'è una strada per una subnet remota, uttene a seguente situazione: a strada hè attiva, u ping à a porta passa, ma ùn ghjunghje micca u destinatariu da a subnet specificata. Se guardate l'interfaccia attraversu un sniffer, vi vede e dumande arp cù indirizzi da una subnet remota.
    Principi di basa di u routing staticu in Mikrotik RouterOS

Principi di basa di u routing staticu in Mikrotik RouterOS

Pruvate di specificà l'indirizzu IP cum'è a porta di l'accessu sempre chì hè pussibule. L'eccezzioni sò rotte cunnesse (create automaticamente) è interfacce PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *).

OpenVPN ùn cuntene micca un capu PPP, ma pudete aduprà u nome di l'interfaccia OpenVPN per creà una strada.

Percorso più specificu

Regula basi di routing. A strada chì descrive a subnet più chjuca (cù a più grande maschera di subnet) hà a priorità in a decisione di routing di u pacchettu. A pusizione di e entrate in a tavola di routing ùn hè micca pertinente à a scelta - a regula principale hè More Specific.

Principi di basa di u routing staticu in Mikrotik RouterOS

Tutte e rotte da u schema specificatu sò attivi (situati in FIB). puntanu à diverse subnets è ùn sò micca cunflitti cù l'altri.

Se unu di i gateway diventa indisponibile, a strada assuciata serà cunsiderata inattiva (sguassata da u FIB) è i pacchetti seranu cercati da e rotte restanti.

A strada cù a subnet 0.0.0.0/0 hè qualchì volta data un significatu speciale è hè chjamata "Rotta predeterminata" o "Gateway of last resort". In fatti, ùn ci hè nunda di magicu nantu à questu è simpricimenti includenu tutti l'indirizzi IPv4 pussibuli, ma questi nomi descrizanu bè u so compitu - indica a porta d'ingressu induve trasmette i pacchetti per quale ùn ci hè micca altre rotte più precise.

A mascara di subnet massima pussibule per IPv4 hè /32, sta strada punta à un host specificu è pò esse usata in a tabella di routing.

Capisce Route More Specific hè fundamentale à ogni dispusitivu TCP / IP.

Distance

Distanze (o Metriche) sò necessarii per u filtru amministrativu di rotte à una sola subnet accessibile attraversu parechje gateway. Una strada cù una metrica più bassa hè cunsiderata una priorità è serà inclusa in u FIB. Se una strada cù una metrica più bassa cessa di esse attiva, allora serà rimpiazzata da una strada cù una metrica più alta in u FIB.
Principi di basa di u routing staticu in Mikrotik RouterOS

Se ci sò parechje rotte à a listessa subnet cù a listessa metrica, u router aghjunghje solu una di elli à a tavola FIB, guidata da a so logica interna.

A metrica pò piglià un valore da 0 à 255:
Principi di basa di u routing staticu in Mikrotik RouterOS

  • 0 - Metrica per rotte cunnessi. A distanza 0 ùn pò esse stabilita da l'amministratore
  • 1-254 - Metriche dispunibuli per l'amministratore per stabilisce rotte. I metrici cù un valore più bassu anu una priorità più alta
  • 255 - Metrica dispunibule per l'amministratore per stabilisce rotte. A cuntrariu di 1-254, una strada cù una metrica di 255 ferma sempre inattiva è ùn cascà micca in u FIB.
  • metriche specifiche. E rotte derivate da protokolli di routing dinamichi anu valori metrici standard

verificate u gateway

Verificate u gateway hè una estensione MikroTik RoutesOS per verificà a dispunibilità di u gateway via icmp o arp. Una volta ogni 10 seconde (ùn pò esse cambiatu), una dumanda hè mandata à u gateway, se a risposta ùn hè micca ricevuta duie volte, a strada hè cunsiderata indisponibile è hè eliminata da a FIB. Se u gateway di cuntrollu hà disattivatu, u percorsu di cuntrollu cuntinueghja è a strada diventerà attiva di novu dopu un cuntrollu successu.
Principi di basa di u routing staticu in Mikrotik RouterOS

Verificate u gateway disattiva l'entrata in quale hè cunfigurata è tutte e altre entrate (in tutte e tavule di routing è rotte ecmp) cù u gateway specificatu.

In generale, verificate u gateway funziona bè sempre chì ùn ci sò micca prublemi cù a perdita di pacchetti à a gateway. Verificate u gateway ùn sapi micca ciò chì succede cù a cumunicazione fora di u gateway verificatu, questu richiede strumenti supplementari: scripts, routing recursive, protokolli dinamichi di routing.

A maiò parte di i protokolli VPN è di tunnel cuntenenu strumenti integrati per verificà l'attività di cunnessione, l'attivazione di a porta di cuntrollu per elli hè una carica addiziale (ma assai chjuca) nantu à a rete è u rendiment di u dispositivu.

rotte ECMP

Equal-Cost Multi-Path - invià pacchetti à u destinatariu utilizendu parechji gateway simultaneamente utilizendu l'algoritmu Round Robin.

Una strada ECMP hè creata da l'amministratore specificendu parechje gateway per una subnet (o automaticamente, se ci sò duie rotte OSPF equivalenti).
Principi di basa di u routing staticu in Mikrotik RouterOS

ECMP hè utilizatu per l'equilibriu di carica trà dui canali, in teoria, s'ellu ci sò dui canali in a strada ecmp, allora per ogni pacchettu u canale in uscita deve esse diversu. Ma u mecanismu di cache di Routing manda pacchetti da a cunnessione à longu u percorsu chì u primu pacchettu hà pigliatu, in u risultatu, avemu un tipu di equilibriu basatu nantu à e cunnessione (per-connection loading balancing).

Se disattivate Routing Cache, allora i pacchetti in a strada ECMP seranu spartuti currettamente, ma ci hè un prublema cù NAT. A regula NAT prucessa solu u primu pacchettu da a cunnessione (u restu hè processatu automaticamente), è risulta chì i pacchetti cù u listessu indirizzu fonte lascianu diverse interfacce.
Principi di basa di u routing staticu in Mikrotik RouterOS

Verificate u gateway ùn funziona micca in rotte ECMP (bug RouterOS). Ma pudete aggira sta limitazione creendu rotte di validazione supplementari chì disattiveghjanu e entrate in ECMP.

Filtru per mezu di Routing

L'opzione Type determina ciò chì deve fà cù u pacchettu:

  • unicast - mandà à u gateway specificatu (interfaccia)
  • blackhole - scartà un pacchettu
  • pruibisce, inaccessibile - scartate u pacchettu è mandate un missaghju icmp à u mittente

U filtru hè generalmente usatu quandu hè necessariu di assicurà l'inviu di pacchetti in a direzzione sbagliata, sicuru, pudete filtrà questu attraversu u firewall.

Un paru di esempi

Per cunsulidà e cose basi nantu à u routing.

Router di casa tipicu
Principi di basa di u routing staticu in Mikrotik RouterOS

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

  1. Route statique à 0.0.0.0/0 (via predeterminata)
  2. Percorsu cunnessu nantu à l'interfaccia cù u fornitore
  3. Percorsu cunnessu nantu à l'interfaccia LAN

Router di casa tipicu cù PPPoE
Principi di basa di u routing staticu in Mikrotik RouterOS

  1. Percorsu staticu à a strada predeterminata, aghjuntu automaticamente. hè specificatu in proprietà di cunnessione
  2. Percorsu cunnessu per a cunnessione PPP
  3. Percorsu cunnessu nantu à l'interfaccia LAN

Router di casa tipicu cù dui fornituri è redundancy
Principi di basa di u routing staticu in 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. Percorsu staticu à a strada predeterminata attraversu u primu fornitore cù a metrica 1 è a verificazione di a dispunibilità di a porta
  2. Percorsu staticu à a strada predeterminata attraversu u sicondu fornitore cù metrica 2
  3. Percorsi cunnessi

U trafficu à 0.0.0.0/0 passa per 10.10.10.1 mentre sta porta hè dispunibule, altrimenti cambia à 10.20.20.1

Un tali schema pò esse cunsideratu una riservazione di canali, ma ùn hè micca senza inconvenienti. Se una pausa si trova fora di a porta di u fornitore (per esempiu, in a reta di l'operatore), u vostru router ùn sapi micca è cuntinueghja à cunsiderà a strada cum'è attiva.

Router di casa tipicu cù dui fornituri, redundancy è ECMP
Principi di basa di u routing staticu in 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. Rotte statiche per verificà a porta di chack
  2. percorso ECMP
  3. Percorsi cunnessi

I rotte per verificà sò blu (u culore di e rotte inattive), ma questu ùn interferiscenu micca cù a porta di cuntrollu. A versione attuale (6.44) di RoS dà priorità automatica à a strada ECMP, ma hè megliu aghjunghje rotte di prova à altre tabelle di routing (opzione routing-mark)

In Speedtest è altri siti simili, ùn ci sarà micca aumentu di a velocità (ECMP divide u trafficu per cunnessione, micca per pacchetti), ma l'applicazioni p2p duveranu scaricà più veloce.

Filtrazione via Routing
Principi di basa di u routing staticu in 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. Percorsu staticu à a strada predeterminata
  2. Strada statica à 192.168.200.0/24 sopra u tunnel ipip
  3. Pruibisce a strada statica à 192.168.200.0/24 attraversu un router ISP

Una opzione di filtrazione in quale u trafficu di u tunnel ùn andarà micca à u router di u fornitore quandu l'interfaccia ipip hè disattivata. Tali schemi sò raramenti necessarii, perchè pudete implementà u bloccu attraversu u firewall.

Ciclu di routing
Loop di routing - una situazione quandu un pacchettu corre trà i routers prima chì u ttl scade. Di solitu hè u risultatu di un errore di cunfigurazione, in e grande rete hè trattatu da l'implementazione di protokolli di routing dinamichi, in chjuchi - cun cura.

Sembra qualcosa cusì:
Principi di basa di u routing staticu in Mikrotik RouterOS

Un esempiu (u più simplice) di cumu ottene un risultatu simili:
Principi di basa di u routing staticu in Mikrotik RouterOS

L'esempiu di loop di Routing ùn hè micca un usu praticu, ma mostra chì i routers ùn anu micca idea di a tabella di routing di u so vicinu.

Routing Base di Politiche è Tabelle di Routing Addizionale

Quandu sceglite una strada, u router usa solu un campu da l'intestazione di u pacchettu (Dst. Address) - questu hè un routing basicu. Routing basatu annantu à altre cundizioni, cum'è l'indirizzu fonte, u tipu di trafficu (ToS), l'equilibriu senza ECMP, appartene à Policy Base Routing (PBR) è usa tabelle di routing supplementari.

Principi di basa di u routing staticu in Mikrotik RouterOS

Percorso più specificu hè a regula di selezzione di rotta principale in a tabella di routing.

Per automaticamente, tutte e regule di routing sò aghjuntu à a tavola principale. L'amministratore pò creà un numeru arbitrariu di tabelle di routing supplementari è pacchetti di rotte à elli. E regule in diverse tavule ùn sò micca cunflittu cù l'altri. Se u pacchettu ùn trova micca una regula adattata in a tavula specifica, andarà à a tavola principale.

Esempiu cù distribuzione via Firewall:
Principi di basa di u routing staticu in Mikrotik RouterOS

  • 192.168.100.10 -> 8.8.8.8
    1. U trafficu da 192.168.100.10 hè marcatu via-isp1 в [Prerouting|Mangle]
    2. À u stadiu Routing in a tavula via-isp1 cerca una strada per 8.8.8.8
    3. A strada truvata, u trafficu hè mandatu à a porta 10.10.10.1
  • 192.168.200.20 -> 8.8.8.8
    1. U trafficu da 192.168.200.20 hè marcatu via-isp2 в [Prerouting|Mangle]
    2. À u stadiu Routing in a tavula via-isp2 cerca una strada per 8.8.8.8
    3. A strada truvata, u trafficu hè mandatu à a porta 10.20.20.1
  • Se unu di i gateway (10.10.10.1 o 10.20.20.1) diventa indisponibile, u pacchettu andarà à a tavula. principale è circherà una strada adatta

Problemi di terminologia

RouterOS hà certi prublemi di terminologia.
Quandu travaglia cù e regule in [IP]->[Routes] a tabella di routing hè indicata, ancu s'ellu hè scrittu chì l'etichetta:
Principi di basa di u routing staticu in Mikrotik RouterOS

В [IP]->[Routes]->[Rule] tuttu hè currettu, in a cundizione di l'etichetta in l'azzione di a tavola:
Principi di basa di u routing staticu in Mikrotik RouterOS

Cumu mandà un pacchettu à una tabella di routing specificu

RouterOS furnisce parechji strumenti:

  • Reguli in [IP]->[Routes]->[Rules]
  • marcatori di rotta (action=mark-routing) à [IP]->[Firewall]->[Mangle]
  • VRF

Regoli [IP]->[Route]->[Rules]
I reguli sò processati in sequenza, se u pacchettu currisponde à e cundizioni di a regula, ùn passa micca più.

Rules Rules permettenu di espansione e pussibulità di u routing, cunfidendu micca solu in l'indirizzu di u destinatariu, ma ancu in l'indirizzu fonte è l'interfaccia nantu à quale u pacchettu hè statu ricevutu.

Principi di basa di u routing staticu in Mikrotik RouterOS

E regule sò cumposti da e cundizioni è una azione:

  • Cundizioni. Praticamente ripetite a lista di segni per quale u pacchettu hè verificatu in u FIB, solu ToS manca.
  • Actions
    • ricerca - mandate un pacchettu à una tavula
    • cercà solu in a tavula - chjude u pacchettu in a tavula, se u percorsu ùn hè micca truvatu, u pacchettu ùn andarà micca à a tavola principale
    • drop - drop un pacchettu
    • inaccessibile - scartà u pacchettu cù a notificazione di u mittente

In FIB, u trafficu à i prucessi lucali hè trattatu sguassendu e regule [IP]->[Route]->[Rules]:
Principi di basa di u routing staticu in Mikrotik RouterOS

Marcatura [IP]->[Firewall]->[Mangle]
L'etichette di routing vi permettenu di stabilisce a porta per un pacchettu utilizendu quasi ogni cundizione Firewall:
Principi di basa di u routing staticu in Mikrotik RouterOS

In pratica, perchè micca tutti sò sensu, è certi pò travaglià inestable.

Principi di basa di u routing staticu in Mikrotik RouterOS

Ci hè dui modi per etichettate un pacchettu:

  • Immediatamente pusatu marca di rotta
  • Metti prima marca di cunnessione, dopu basatu nantu marca di cunnessione mette marca di rotta

In un articulu nantu à i firewalls, aghju scrittu chì a seconda opzione hè preferibile. riduce a carica nantu à a CPU, in u casu di marcatura di rotte - questu ùn hè micca veramente veru. Questi metudi di marcatura ùn sò micca sempre equivalenti è sò generalmente usati per risolve diversi prublemi.

Esempi di usu

Andemu à l'esempii di utilizà Policy Base Routing, sò assai più faciuli per vede perchè tuttu questu hè necessariu.

MultiWAN è rinvià u trafficu in uscita (Output).
Un prublema cumuni cù una cunfigurazione MultiWAN: Mikrotik hè dispunibule da Internet solu per mezu di un fornitore "attivu".
Principi di basa di u routing staticu in Mikrotik RouterOS

U router ùn importa micca quale ip a dumanda hè ghjunta, quandu genera una risposta, cercherà una strada in a tabella di routing induve a strada attraversu isp1 hè attiva. In più, un tali pacchettu serà più prubabilmente filtratu in a strada di u destinatariu.

Un altru puntu interessante. Se una fonte "semplice" nat hè cunfigurata nantu à l'interfaccia ether1: /ip fi nat add out-interface=ether1 action=masquerade u pacchettu andrà in linea cù src. indirizzu = 10.10.10.100, chì face e cose ancu peggiu.

Ci hè parechje manere di risolve u prublema, ma qualcunu di elli richiederà tabelle di routing supplementari:
Principi di basa di u routing staticu in 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

Usu [IP]->[Route]->[Rules]
Specificate a tabella di routing chì serà utilizata per i pacchetti cù l'IP Source specificata.
Principi di basa di u routing staticu in 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

Puderà aduprà action=lookup, ma per u trafficu in uscita lucale, questa opzione esclude cumplettamente e cunnessione da l'interfaccia sbagliata.

  • U sistema genera un pacchettu di risposta cù Src. Indirizzu: 10.20.20.200
  • A decisione di l'itinerariu (2) verifica u passu [IP]->[Routes]->[Rules] è u pacchettu hè mandatu à a tavola di routing over-isp2
  • Sicondu a tabella di routing, u pacchettu deve esse mandatu à a porta 10.20.20.1 via l'interfaccia ether2.

Principi di basa di u routing staticu in Mikrotik RouterOS

Stu metudu ùn hà micca bisognu di un Tracker di Cunnessione chì funziona, à u cuntrariu di l'usu di a tavola Mangle.

Usu [IP]->[Firewall]->[Mangle]
A cunnessione principia cù un pacchettu in entrata, cusì avemu marcatu (action=mark-connection), per i pacchetti in uscita da una cunnessione marcata, stabilisce l'etichetta di routing (action=mark-routing).
Principi di basa di u routing staticu in 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

Se parechji ips sò cunfigurati nantu à una interfaccia, pudete aghjunghje à a cundizione dst-address per esse sicuru.

  • Un pacchettu apre a cunnessione nantu à l'interfaccia ether2. U pacchettu entra in [INPUT|Mangle] chì dice di marcà tutti i pacchetti da a cunnessione cum'è da-isp2
  • U sistema genera un pacchettu di risposta cù Src. Indirizzu: 10.20.20.200
  • À a tappa di Routing Decision (2), u pacchettu, in cunfurmità cù a tabella di routing, hè mandatu à a porta 10.20.20.1 via l'interfaccia ether1. Pudete verificà questu logendu i pacchetti [OUTPUT|Filter]
  • À u palcuscenicu [OUTPUT|Mangle] l'etichetta di cunnessione hè verificata da-isp2 è u pacchettu riceve una etichetta di rotta over-isp2
  • U passu di Ajustamentu di l'instradamentu (3) verifica a presenza di una etichetta di routing è l'invia à a tabella di routing adattata.
  • Sicondu a tabella di routing, u pacchettu deve esse mandatu à a porta 10.20.20.1 via l'interfaccia ether2.

Principi di basa di u routing staticu in Mikrotik RouterOS

MultiWAN è rinvià u trafficu dst-nat

Un esempiu hè più cumplicatu, chì fà s'ellu ci hè un servitore (per esempiu, web) daretu à u router in una subnet privata è avete bisognu di furnisce l'accessu per mezu di qualsiasi di i fornituri.

/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

L'essenza di u prublema serà a stessa, a suluzione hè simile à l'opzione Firewall Mangle, solu altre catene seranu usate:
Principi di basa di u routing staticu in 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

Principi di basa di u routing staticu in Mikrotik RouterOS
U diagramma ùn mostra micca NAT, ma pensu chì tuttu hè chjaru.

MultiWAN è cunnessione in uscita

Pudete utilizà e capacità PBR per creà parechje vpn (SSTP in l'esempiu) cunnessione da diverse interfacce di router.

Principi di basa di u routing staticu in Mikrotik RouterOS

Tabelle di routing supplementari:

/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

Marcatura di u pacchettu:

/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

Regoli NAT simplici, altrimenti u pacchettu lascià l'interfaccia cù u Src sbagliatu. indirizzu:

/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 crea trè prucessi SSTP
  • À a tappa di a decisione di routing (2), una strada hè selezziunata per questi prucessi basatu nantu à a tavola di routing principale. Da a listessa strada, u pacchettu riceve Src. Indirizzu ligatu à l'interfaccia ether1
  • В [Output|Mangle] pacchetti da diverse cunnessione ricevenu diverse etichette
  • I pacchetti entranu in e tavule currispondenti à l'etichette in u stadiu di l'Ajustamentu di l'Instradamentu è ricevenu una nova strada per mandà pacchetti
  • Ma i pacchetti anu sempre Src. Indirizzu da ether1, in scena [Nat|Srcnat] l'indirizzu hè sustituitu secondu l'interfaccia

Curiosamente, nantu à u router, vi vede a seguente tabella di cunnessione:
Principi di basa di u routing staticu in Mikrotik RouterOS

Connection Tracker funziona prima [Mangle] и [Srcnat], cusì tutte e cunnessione venenu da u stessu indirizzu, se cercate in più detail, allora in Replay Dst. Address ci saranu indirizzi dopu à NAT:
Principi di basa di u routing staticu in Mikrotik RouterOS

In u servitore VPN (aghju unu nantu à u bancu di teste), pudete vede chì tutte e cunnessione venenu da l'indirizzi curretti:
Principi di basa di u routing staticu in Mikrotik RouterOS

Mantene a strada
Ci hè un modu più faciule, pudete solu specificà un gateway specificu per ognunu di l'indirizzi:

/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

Ma tali rotte affettanu micca solu u trafficu in uscita, ma ancu di transitu. In più, se ùn avete micca bisognu di trafficu à u servitore vpn per passà per canali di cumunicazione inappropriati, allora vi tuccherà à aghjunghje 6 reguli più à [IP]->[Routes]с type=blackhole. In a versione precedente - 3 regule in [IP]->[Route]->[Rules].

Distribuzione di cunnessione di l'utilizatori per canali di cumunicazione

I travaglii simplici, ogni ghjornu. Di novu, tavule di routing supplementari seranu necessarii:

/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

Usendu [IP]->[Route]->[Rules]
Principi di basa di u routing staticu in 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

Se utilizate action=lookup, dopu quandu unu di i canali hè disattivatu, u trafficu andarà à a tavola principale è passa per u canali di travagliu. S'ellu hè necessariu o micca dipende di u compitu.

Utilizendu i marcati in [IP]->[Firewall]->[Mangle]
Un esempiu simplice cù listi di indirizzi IP. In principiu, quasi ogni cundizione pò esse usata. L'unicu caveat di layer7, ancu s'ellu hè assuciatu cù etichette di cunnessione, pò sembrà chì tuttu funziona bè, ma una parte di u trafficu serà sempre in modu sbagliatu.
Principi di basa di u routing staticu in 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

Pudete "bloccare" l'utilizatori in una tavola di routing attraversu [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

Sia attraversu [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

Ritirata pro dst-address-type=!local
Condizioni supplementari dst-address-type=!local hè necessariu chì u trafficu di l'utilizatori ghjunghje à i prucessi lucali di u router (dns, winbox, ssh, ...). Se parechji subnets lucali sò cunnessi à u router, hè necessariu di assicurà chì u trafficu trà elli ùn vai micca in Internet, per esempiu, usendu dst-address-table.

In l'esempiu usendu [IP]->[Route]->[Rules] ùn ci sò micca tali eccezzioni, ma u trafficu ghjunghje à i prucessi lucali. U fattu hè chì entra in u pacchettu FIB marcatu in [PREROUTING|Mangle] hà una etichetta di rotta è entra in una tavola di routing altru chè principale, induve ùn ci hè micca una interfaccia lucale. In u casu di Regoli di Routing, prima hè verificatu se u pacchettu hè destinatu à un prucessu lucale è solu in u stadiu di l'Usuariu PBR si va à a tabella di routing specificata.

Usendu [IP]->[Firewall]->[Mangle action=route]
Questa azione funziona solu in [Prerouting|Mangle] è vi permette di indirizzà u trafficu à u gateway specificatu senza aduprà tabelle di routing supplementari, specificendu direttamente l'indirizzu gateway:

/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

effettu route hà una priorità più bassa cà e regule di routing ([IP]->[Route]->[Rules]). In u casu di marca di rotta, tuttu dipende di a pusizione di e regule, se a regula cun action=route vale più di action=mark-route, allora serà utilizatu (indipendentemente da a bandiera passtrough), altrimenti marcà a strada.
Ci hè assai pocu infurmazione nantu à a wiki nantu à questa azione è tutte e cunclusioni sò stati ottenuti sperimentalmente, in ogni casu, ùn aghju micca truvatu l'opzioni quandu l'usu di sta opzione dà vantaghji nantu à l'altri.

Bilanciamentu dinamicu basatu in PPC

Per Classificatore di Cunnessione - hè un analogu più flexible di ECMP. A cuntrariu di ECMP, divide u trafficu per cunnessione più strettamente (ECMP ùn sapi nunda di cunnessione, ma quandu hè assuciatu cù Routing Cache, qualcosa di simile hè ottenutu).

PCC piglia campi specificati da l'intestazione ip, li converte in un valore di 32 bit, è divide per denominatore. U restu di a divisione hè paragunatu cù u specificatu restu è s'elli currispondenu, allora l'azzione specifica hè applicata. More. Sembra pazzu, ma funziona.
Principi di basa di u routing staticu in Mikrotik RouterOS

Esempiu cù trè indirizzi:

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

Un esempiu di distribuzione dinamica di u trafficu per src.address trà trè canali:
Principi di basa di u routing staticu in 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

Quandu marcate rotte, ci hè una cundizione supplementaria: in-interface=br-lan, senza ellu sottu action=mark-routing u trafficu di risposta da Internet riceverà è, in cunfurmità cù e tavule di routing, torna à u fornitore.

Cambia i canali di cumunicazione

Verificate u ping hè un bonu strumentu, ma verifica solu a cunnessione cù u peer IP più vicinu, e rete di fornitori sò generalmente custituiti da un gran numaru di routers è una rottura di cunnessione pò accade fora di u peer più vicinu, è allora ci sò operatori di telecomunicazioni di spine chì ponu ancu avè prublemi, in generale u ping di verificazione ùn mostra micca sempre infurmazione aghjurnata nantu à l'accessu à a reta glubale.
Se i fornituri è e grandi corporazioni anu u protocolu di routing dinamicu BGP, allora l'utilizatori di casa è di l'uffiziu anu da capisce indipindentamente cumu verificà l'accessu à Internet per un canale di cumunicazione specificu.

Di genere, i scripts sò usati chì, attraversu un certu canali di cumunicazione, verificate a dispunibilità di un indirizzu IP in Internet, mentre sceglie qualcosa di fiducia, per esempiu, google dns: 8.8.8.8. 8.8.4.4. Ma in a cumunità Mikrotik, un strumentu più interessante hè statu adattatu per questu.

Uni pochi parolle nantu à u routing recursive
U routing recursive hè necessariu quandu custruisce Multihop BGP peering è hà ghjuntu in l'articulu nantu à i principii di u routing staticu solu per via di l'utilizatori di MikroTik astuti chì anu capitu cumu utilizà rotte recursive accoppiate cù a porta di cuntrollu per cambià i canali di cumunicazione senza scripts supplementari.

Hè u tempu di capisce l'opzioni di scopu / scopu di destinazione in termini generali è cumu a strada hè ligata à l'interfaccia:
Principi di basa di u routing staticu in Mikrotik RouterOS

  1. A strada cerca una interfaccia per mandà u pacchettu basatu annantu à u so valore di u scopu è tutte e entrate in a tavola principale cù valori di u scopu di u scopu menu o uguali.
  2. Da l'interfacce truvate, hè sceltu quellu à traversu quale pudete mandà un pacchettu à a porta d'accessu specificata
  3. L'interfaccia di l'entrata cunnessa truvata hè sceltu per mandà u pacchettu à a porta

In presenza di una strada recursiva, tuttu passa u listessu, ma in duie tappe:
Principi di basa di u routing staticu in Mikrotik RouterOS

  • 1-3 Un itinerariu più hè aghjuntu à e rotte cunnessi, attraversu quale si pò ghjunghje à a porta specifica
  • 4-6 Truvà l'itinerariu cunnessu per u gateway "intermediatu".

Tutte e manipulazioni cù a ricerca recursiva sò in u RIB, è solu u risultatu finali hè trasferitu à u FIB: 0.0.0.0/0 via 10.10.10.1 on ether1.

Un esempiu di usu di u routing recursive per cambià e rotte
Principi di basa di u routing staticu in Mikrotik RouterOS

Cunfigurazione:
Principi di basa di u routing staticu in 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

Pudete verificà chì i pacchetti seranu mandati à 10.10.10.1:
Principi di basa di u routing staticu in Mikrotik RouterOS

Verificate u gateway ùn sapi nunda di u routing recursive è simpricimenti manda pings à 8.8.8.8, chì (basatu nantu à a tavula principale) hè accessibile attraversu gateway 10.10.10.1.

Se ci hè una perdita di cumunicazione trà 10.10.10.1 è 8.8.8.8, allora a strada hè disconnected, ma i pacchetti (inclusi i ping di prova) à 8.8.8.8 cuntinueghjanu à passà per 10.10.10.1:
Principi di basa di u routing staticu in Mikrotik RouterOS

Se u ligame à l'ether1 hè persu, allora una situazione dispiacevule accade quandu i pacchetti prima di 8.8.8.8 passanu per u sicondu fornitore:
Principi di basa di u routing staticu in Mikrotik RouterOS

Questu hè un prublema si usa NetWatch per eseguisce scripts quandu 8.8.8.8 ùn hè micca dispunibule. Se u ligame hè rottu, NetWatch hà da travaglià solu attraversu u canali di cumunicazione di salvezza è assume chì tuttu hè bè. Risoltu aghjunghjendu una strada di filtru supplementu:

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

Principi di basa di u routing staticu in Mikrotik RouterOS

Ci hè nantu à l'habré un articulu, induve a situazione cù NetWatch hè cunsideratu in più detail.

È iè, quandu si usa una tale riservazione, l'indirizzu 8.8.8.8 serà hardwired à unu di i fornituri, cusì elettu cum'è fonte dns ùn hè micca una bona idea.

Uni pochi di parolle nantu à u Routing è l'Inoltri Virtuali (VRF)

A tecnulugia VRF hè pensata per creà parechji routers virtuali in un fisicu, sta tecnulugia hè largamente usata da l'operatori di telecomunicazioni (di solitu in cungiunzione cù MPLS) per furnisce servizii L3VPN à i clienti cù indirizzi di subnet sovrapposti:
Principi di basa di u routing staticu in Mikrotik RouterOS

Ma VRF in Mikrotik hè urganizatu nantu à a basa di e tavule di routing è hà una quantità di svantaghji, per esempiu, l'indirizzi IP lucali di u router sò dispunibili da tutti i VRF, pudete leghje più Member.

Esempiu di cunfigurazione vrf:
Principi di basa di u routing staticu in 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

Da u dispusitivu cunnessu à ether2, vedemu chì u ping passa à l'indirizzu di u router da un altru vrf (è questu hè un prublema), mentre chì ping ùn viaghja micca in Internet:
Principi di basa di u routing staticu in Mikrotik RouterOS

Per accede à Internet, avete bisognu di registrà una strada supplementaria chì accede à a tavola principale (in a terminologia vrf, questu hè chjamatu route leaking):
Principi di basa di u routing staticu in 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

Eccu duie manere di fuga di rotta: utilizendu a tabella di routing: 172.17.0.1@main è utilizendu u nome di l'interfaccia: 172.17.0.1%wlan1.

È stabilisce a marcatura per u trafficu di ritornu in [PREROUTING|Mangle]:
Principi di basa di u routing staticu in 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 

Principi di basa di u routing staticu in Mikrotik RouterOS

Subnets cù u listessu indirizzu
Urganizazione di l'accessu à i subnets cù u stessu indirizzamentu nantu à u stessu router cù VRF è netmap:
Principi di basa di u routing staticu in Mikrotik RouterOS

Cunfigurazione di basa:

/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

regule di firewall:

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

Regoli di rotta per u trafficu di ritornu:

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

Aghjunghjendu rotte ricevute via dhcp à una data table di routing
VRF pò esse interessante se avete bisognu di aghjunghje automaticamente una ruta dinamica (per esempiu, da un cliente dhcp) à una tabella di routing specificu.

Aghjunghje l'interfaccia à vrf:

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

Regoli per mandà u trafficu (in uscita è transitu) à traversu a tavula over-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

Strada addiziale, falsa per u routing outbound à u travagliu:

/interface bridge
add name=bare

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

Sta strada hè solu necessariu per chì i pacchetti in uscita lucali ponu passà per a decisione di Routing (2) prima [OUTPUT|Mangle] è uttene l'etichetta di routing, se ci sò altre rotte attive nantu à u router prima di 0.0.0.0/0 in a tavola principale, ùn hè micca necessariu.
Principi di basa di u routing staticu in Mikrotik RouterOS

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

U filtru di rotta (inbound and outbound) hè un strumentu chì hè generalmente utilizatu in cunghjunzione cù protokolli di routing dinamichi (è dunque dispunibule solu dopu a stallazione di u pacchettu). Upravni), ma ci sò duie catene interessanti in i filtri entranti:

  • connect-in - filtrà e rotte cunnessi
  • dynamic-in - filtrazione di rotte dinamiche ricevute da PPP è DCHP

U filtru permette micca solu di scaccià e rotte, ma ancu di cambià una quantità di opzioni: distanza, marca di rotta, cumentu, scope, scopu di destinazione, ...

Questu hè un strumentu assai precisu è se pudete fà qualcosa senza filtri di routing (ma micca script), ùn utilizate micca i filtri di routing, ùn cunfundite micca sè stessu è quelli chì cunfigurà u router dopu à voi. In u cuntestu di u routing dinamicu, i filtri di routing seranu utilizati assai più freti è più produttivi.

Stabbilimentu di a marca di l'itinerariu per e rotte dinamiche
Un esempiu da un router di casa. Aghju duie cunnessione VPN cunfigurate è u trafficu in elli deve esse impannillatu in cunfurmità cù e tavule di routing. À u listessu tempu, vogliu chì e rotte sò create automaticamente quandu l'interfaccia hè attivata:

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

Ùn sò micca sapè perchè, prubabilmente un bug, ma se crea un vrf per l'interfaccia ppp, allora a strada à 0.0.0.0/0 serà sempre in a tavola principale. Altrimenti, tuttu saria ancu più faciule.

Disattivà e Routes cunnessi
Calchì volta hè necessariu:

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

Strumenti di debugging

RouterOS furnisce una quantità di strumenti per debugging routing:

  • [Tool]->[Tourch] - permette di vede i pacchetti nantu à l'interfaccia
  • /ip route check - permette di vede quale porta di u pacchettu serà mandatu, ùn funziona micca cù e tavule di routing
  • /ping routing-table=<name> и /tool traceroute routing-table=<name> - ping è traccia usendu a tabella di routing specificata
  • action=log в [IP]->[Firewall] - un strumentu eccellente chì vi permette di traccia u percorsu di un pacchettu longu u flussu di pacchettu, sta azione hè dispunibule in tutte e catene è tavule

Source: www.habr.com

Add a comment