Multivan u routing fuq Mikrotik RouterOS

Introduzzjoni

It-teħid ta 'l-artiklu, minbarra l-vanità, kien imqanqal mill-frekwenza deprimenti ta' mistoqsijiet dwar dan is-suġġett fil-gruppi tal-profil tal-komunità tat-telegramma li titkellem ir-Russu. L-artiklu huwa mmirat lejn amministraturi novizzi ta 'Mikrotik RouterOS (minn hawn 'il quddiem ROS). Jittratta biss il-multivan, b'enfasi fuq ir-rotot. Bħala bonus, hemm settings minimament suffiċjenti biex jiżguraw tħaddim sikur u konvenjenti. Dawk li qed ifittxu l-iżvelar tas-suġġetti ta 'kjuwijiet, ibbilanċjar tat-tagħbija, vlans, pontijiet, analiżi profonda f'diversi stadji tal-istat tal-kanal u affarijiet simili - ma jistgħux jaħlu ħin u sforz fuq il-qari.

Data mhux ipproċessata

Bħala suġġett tat-test, intgħażel router Mikrotik b'ħames portijiet bil-verżjoni ROS 6.45.3. Se jindirizza t-traffiku bejn żewġ netwerks lokali (LAN1 u LAN2) u tliet fornituri (ISP1, ISP2, ISP3). Il-kanal għal ISP1 għandu indirizz statiku "griż", ISP2 - "abjad", miksub permezz ta 'DHCP, ISP3 - "abjad" b'awtorizzazzjoni PPPoE. Id-dijagramma tal-konnessjoni tidher fil-figura:

Multivan u routing fuq Mikrotik RouterOS

Il-kompitu huwa li tikkonfigura r-router MTK ibbażat fuq l-iskema sabiex:

  1. Ipprovdi bidla awtomatika għal fornitur backup. Il-fornitur ewlieni huwa ISP2, l-ewwel riserva hija ISP1, it-tieni riserva hija ISP3.
  2. Organizza aċċess għan-netwerk LAN1 għall-Internet biss permezz tal-ISP1.
  3. Ipprovdi l-abbiltà li tgħaddi t-traffiku minn netwerks lokali għall-Internet permezz tal-fornitur magħżul ibbażat fuq il-lista tal-indirizzi.
  4. Ipprovdi l-possibbiltà li jiġu ppubblikati servizzi min-netwerk lokali għall-Internet (DSTNAT)
  5. Twaqqaf filtru tal-firewall biex tipprovdi s-sigurtà minima suffiċjenti mill-Internet.
  6. Ir-router jista' joħroġ it-traffiku tiegħu stess permezz ta' kwalunkwe mit-tliet fornituri, skont l-indirizz tas-sors magħżul.
  7. Kun żgur li l-pakketti ta' rispons jiġu mgħoddija lejn il-kanal li minnu jkunu ġew (inkluża LAN).

Kumment. Aħna ser tikkonfigura r-router "mill-bidu" sabiex niggarantixxu n-nuqqas ta 'sorpriżi fil-konfigurazzjonijiet tal-bidu "barra mill-kaxxa" li jinbidlu minn verżjoni għal verżjoni. Winbox intgħażlet bħala għodda ta 'konfigurazzjoni, fejn il-bidliet se jintwerew viżwalment. Is-settings infushom se jiġu stabbiliti permezz ta 'kmandi fit-terminal Winbox. Il-konnessjoni fiżika għall-konfigurazzjoni ssir b'konnessjoni diretta mal-interface Ether5.

Ftit ta 'raġunament dwar x'inhu multivan, hija problema jew huma nies intelliġenti għaqlin madwar l-insiġ ta' netwerks ta 'konfoffa

Amministratur kurjuż u attent, li jwaqqaf skema bħal din jew simili waħdu, f'daqqa waħda jirrealizza li diġà qed jaħdem b'mod normali. Iva, iva, mingħajr it-tabelli tar-rotot tad-dwana tiegħek u regoli oħra tar-rotot, li ħafna mill-artikoli dwar dan is-suġġett huma mimlija bihom. Ejja niċċekkjaw?

Nistgħu nikkonfiguraw l-indirizzar fuq interfaces u gateways default? Iva:

Fuq ISP1, l-indirizz u l-gateway ġew irreġistrati magħhom distanza=2 и check-gateway=ping.
Fuq ISP2, l-issettjar tal-klijent dhcp default - għaldaqstant, id-distanza tkun ugwali għal waħda.
Fuq ISP3 fis-settings tal-klijent pppoe meta add-default-route=iva poġġi default-route-distanza=3.

Tinsiex tirreġistra NAT mal-ħruġ:

/ip firewall nat add action=masquerade chain=srcnat out-interface-list=WAN

Bħala riżultat, l-utenti tas-siti lokali jieħdu pjaċir iniżżlu l-qtates permezz tal-fornitur ewlieni tal-ISP2 u hemm riserva tal-kanal bl-użu tal-mekkaniżmu iċċekkja l-portal Ara n-nota 1

Il-punt 1 tal-kompitu huwa implimentat. Fejn hu l-multivan bil-marki tiegħu? Le…

Aktar minn hekk. Għandek bżonn tirrilaxxa klijenti speċifiċi mil-LAN permezz tal-ISP1:

/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=iva route-dst=100.66.66.1 src-address-list=Via_ISP1
/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=no route-dst=100.66.66.1 src-address=192.168.88.0/24

Il-punti 2 u 3 tal-kompitu ġew implimentati. Tikketti, bolol, regoli tar-rotta, fejn int?!

Għandek bżonn tagħti aċċess għas-server favorit tiegħek OpenVPN bl-indirizz 172.17.17.17 għall-klijenti mill-Internet? Jekk jogħġbok:

/ip cloud set ddns-enabled=iva

Bħala peer, aħna nagħtu lill-klijent ir-riżultat tal-output: ": poġġi [ip cloud ikseb l-isem tad-DNS]"

Aħna nirreġistraw port forwarding mill-Internet:

/ip firewall nat add action=dst-nat chain=dstnat dst-port=1194
in-interface-list=protokoll WAN=udp to-indirizzi=172.17.17.17

L-oġġett 4 huwa lest.

Aħna waqqafna firewall u sigurtà oħra għall-punt 5, fl-istess ħin aħna ferħanin li kollox diġà qed jaħdem għall-utenti u nilħqu kontenitur b'xarba favorita ...
A! Il-mini jintesew.

l2tp-client, ikkonfigurat mill-artikolu google, tela' għall-VDS Olandiż favorit tiegħek? Iva.
l2tp-server ma IPsec żdied u l-klijenti bl-isem DNS minn IP Cloud (ara hawn fuq.) jaqbdu? Iva.
Imxaqleb lura fis-siġġu tagħna, nixorbu xarba, aħna għażżien nikkunsidraw il-punti 6 u 7 tal-kompitu. Aħna naħsbu - għandna bżonnha? L-istess, jaħdem hekk (c) ... Allura, jekk għadu mhux meħtieġ, allura dak hu. Multivan implimentat.

X'inhu multivan? Din hija l-konnessjoni ta 'diversi kanali tal-Internet ma' router wieħed.

M'għandekx għalfejn taqra l-artiklu aktar, għax x'jista' jkun hemm minbarra juru ta 'applikabilità dubjuża?

Għal dawk li jibqgħu, li huma interessati fil-punti 6 u 7 tal-kompitu, u wkoll iħossu l-ħakk tal-perfezzjoniżmu, noqogħdu aktar fil-fond.

L-aktar kompitu importanti tal-implimentazzjoni ta 'multivan huwa r-rotot tat-traffiku korrett. Jiġifieri: irrispettivament minn liema (jew liema) Ara. nota 3 il-kanal(i) tal-ISP iħares lejn ir-rotta default fuq ir-router tagħna, għandu jirritorna tweġiba għall-kanal eżatt minn fejn ġie l-pakkett. Il-kompitu huwa ċar. Fejn hi l-problema? Tabilħaqq, f'netwerk lokali sempliċi, il-kompitu huwa l-istess, iżda ħadd ma jolqot b'settings addizzjonali u ma jħossx problemi. Id-differenza hija li kwalunkwe node routable fuq l-Internet huwa aċċessibbli permezz ta 'kull wieħed mill-kanali tagħna, u mhux permezz ta' wieħed strettament speċifiku, bħal f'LAN sempliċi. U l-"inkwiet" huwa li jekk tasalna talba għall-indirizz IP ta 'ISP3, allura fil-każ tagħna t-tweġiba se tgħaddi mill-kanal ISP2, peress li l-portal default huwa dirett hemmhekk. Iħalli u se jintrema mill-fornitur bħala mhux korrett. Il-problema ġiet identifikata. Kif issolviha?

Is-soluzzjoni hija maqsuma fi tliet stadji:

  1. Issettjar minn qabel. F'dan l-istadju, is-settings bażiċi tar-router se jiġu stabbiliti: netwerk lokali, firewall, listi ta 'indirizzi, hairpin NAT, eċċ.
  2. Multivan. F'dan l-istadju, il-konnessjonijiet meħtieġa se jiġu mmarkati u magħżula f'tabelli ta 'routing.
  3. Konnessjoni ma 'ISP. F'dan l-istadju, l-interfaces li jipprovdu konnessjoni mal-Internet se jiġu kkonfigurati, ir-rotot u l-mekkaniżmu ta 'riservazzjoni tal-kanal tal-Internet se jiġi attivat.

1. Issettjar minn qabel

1.1. Aħna niċċaraw il-konfigurazzjoni tar-router bil-kmand:

/system reset-configuration skip-backup=yes no-defaults=yes

naqbel ma' "Perikoluż! Irrisettja xorta? [j/N]:” u, wara li nibdew mill-ġdid, aħna nikkonnettjaw ma’ Winbox permezz tal-MAC. F'dan l-istadju, il-konfigurazzjoni u l-bażi tal-utenti jitneħħew.

1.2. Oħloq utent ġdid:

/user add group=full name=knight password=ultrasecret comment=”Not horse”

idħol taħtha u ħassar dik default:

/user remove admin

Kumment. Hija t-tneħħija u mhux id-diżattivazzjoni tal-utent default li l-awtur iqis aktar sigur u jirrakkomanda għall-użu.

1.3. Aħna noħolqu listi bażiċi ta 'interface għall-konvenjenza li joperaw f'firewall, settings ta' skoperta u servers MAC oħra:

/interface list add name=WAN comment="For Internet"
/interface list add name=LAN comment="For Local Area"

Iffirmar interfaces bil-kummenti

/interface ethernet set ether1 comment="to ISP1"
/interface ethernet set ether2 comment="to ISP2"
/interface ethernet set ether3 comment="to ISP3"
/interface ethernet set ether4 comment="to LAN1"
/interface ethernet set ether5 comment="to LAN2"

u imla l-listi tal-interface:

/interface list member add interface=ether1 list=WAN comment=ISP1
/interface list member add interface=ether2 list=WAN comment=ISP2 
/interface list member add interface=ether3 list=WAN comment="to ISP3"
/interface list member add interface=ether4 list=LAN  comment="LAN1"
/interface list member add interface=ether5 list=LAN  comment="LAN2"

Kumment. Il-kitba ta 'kummenti li jinftiehmu jiswa l-ħin imqatta' fuq dan, kif ukoll tiffaċilita bil-kbir is-soluzzjoni tal-problemi u l-fehim tal-konfigurazzjoni.

L-awtur iqis li huwa meħtieġ, għal raġunijiet ta 'sigurtà, li żżid l-interface ether3 mal-lista tal-interface "WAN", minkejja l-fatt li l-protokoll ip mhux se jgħaddi minnu.

Tinsiex li wara li l-interface PPP titqajjem fuq ether3, jeħtieġ ukoll li tiżdied mal-lista tal-interface "WAN"

1.4. Aħna naħbu r-router mill-iskoperta u l-kontroll tal-viċinat minn netwerks tal-fornituri permezz tal-MAC:

/ip neighbor discovery-settings set discover-interface-list=!WAN
/tool mac-server set allowed-interface-list=LAN
/tool mac-server mac-winbox set allowed-interface-list=LAN

1.5. Aħna noħolqu sett minimu suffiċjenti ta 'regoli tal-filtri tal-firewall biex nipproteġu r-router:

/ip firewall filter add action=accept chain=input comment="Related Established Untracked Allow" 
connection-state=established,related,untracked

(ir-regola tipprovdi permess għal konnessjonijiet stabbiliti u relatati li jinbdew kemm minn netwerks konnessi kif ukoll mir-router innifsu)

/ip firewall filter add action=accept chain=input comment="ICMP from ALL" protocol=icmp

(ping u mhux ping biss. L-icmp kollu huwa permess. Utli ħafna biex jinstabu problemi MTU)

/ip firewall filter add action=drop chain=input comment="All other WAN Drop" in-interface-list=WAN

(ir-regola li tagħlaq il-katina tal-input tipprojbixxi kull ħaġa oħra li ġejja mill-Internet)

/ip firewall filter add action=accept chain=forward 
comment="Established, Related, Untracked allow" 
connection-state=established,related,untracked

(ir-regola tippermetti konnessjonijiet stabbiliti u relatati li jgħaddu mir-router)

/ip firewall filter add action=drop chain=forward comment="Invalid drop" connection-state=invalid

(ir-regola tirrisettja l-konnessjonijiet ma 'connection-state=invalidu li jgħaddi mir-router. Huwa rakkomandat ħafna minn Mikrotik, iżda f'xi sitwazzjonijiet rari jista' jimblokka t-traffiku utli)

/ip firewall filter add action=drop chain=forward comment="Drop all from WAN not DSTNATed"  
connection-nat-state=!dstnat connection-state=new in-interface-list=WAN

(ir-regola tipprojbixxi pakketti li ġejjin mill-Internet u ma għaddewx mill-proċedura dstnat biex jgħaddu mir-router. Dan jipproteġi n-netwerks lokali minn intrużi li, billi jkunu fl-istess dominju tax-xandir man-netwerks esterni tagħna, jirreġistraw l-IPs esterni tagħna bħala a. gateway u, għalhekk, ipprova "jesplora" n-netwerks lokali tagħna.)

Kumment. Ejja nassumu li n-netwerks LAN1 u LAN2 huma fdati u t-traffiku bejniethom u minnhom ma jiġix iffiltrat.

1.6. Oħloq lista b'lista ta' netwerks mhux routable:

/ip firewall address-list
add address=0.0.0.0/8 comment=""This" Network" list=BOGONS
add address=10.0.0.0/8 comment="Private-Use Networks" list=BOGONS
add address=100.64.0.0/10 comment="Shared Address Space. RFC 6598" list=BOGONS
add address=127.0.0.0/8 comment=Loopback list=BOGONS
add address=169.254.0.0/16 comment="Link Local" list=BOGONS
add address=172.16.0.0/12 comment="Private-Use Networks" list=BOGONS
add address=192.0.0.0/24 comment="IETF Protocol Assignments" list=BOGONS
add address=192.0.2.0/24 comment=TEST-NET-1 list=BOGONS
add address=192.168.0.0/16 comment="Private-Use Networks" list=BOGONS
add address=198.18.0.0/15 comment="Network Interconnect Device Benchmark Testing"
 list=BOGONS
add address=198.51.100.0/24 comment=TEST-NET-2 list=BOGONS
add address=203.0.113.0/24 comment=TEST-NET-3 list=BOGONS
add address=224.0.0.0/4 comment=Multicast list=BOGONS
add address=192.88.99.0/24 comment="6to4 Relay Anycast" list=BOGONS
add address=240.0.0.0/4 comment="Reserved for Future Use" list=BOGONS
add address=255.255.255.255 comment="Limited Broadcast" list=BOGONS

(Din hija lista ta' indirizzi u netwerks li ma jistgħux jiġu indirizzati għall-Internet u se jiġu segwiti kif xieraq.)

Kumment. Il-lista hija soġġetta għal bidla, għalhekk nagħtik parir biex perjodikament tiċċekkja r-rilevanza.

1.7. Stabbilixxi DNS għar-router innifsu:

/ip dns set servers=1.1.1.1,8.8.8.8

Kumment. Fil-verżjoni attwali tar-ROS, is-servers dinamiċi jieħdu preċedenza fuq dawk statiċi. It-talba għar-riżoluzzjoni tal-isem tintbagħat lill-ewwel server fl-ordni fil-lista. It-tranżizzjoni għas-server li jmiss titwettaq meta dak attwali ma jkunx disponibbli. Il-timeout huwa kbir - aktar minn 5 sekondi. Ir-ritorn lura, meta s-"server waqa '" jerġa' jibda, ma jseħħx awtomatikament. Minħabba dan l-algoritmu u l-preżenza ta 'multivan, l-awtur jirrakkomanda li ma tużax servers ipprovduti mill-fornituri.

1.8. Twaqqaf netwerk lokali.
1.8.1. Aħna kkonfiguraw indirizzi IP statiċi fuq interfaces LAN:

/ip address add interface=ether4 address=192.168.88.254/24 comment="LAN1 IP"
/ip address add interface=ether5 address=172.16.1.0/23 comment="LAN2 IP"

1.8.2. Aħna nistabbilixxu r-regoli għar-rotot għan-netwerks lokali tagħna permezz tat-tabella tar-rotot prinċipali:

/ip route rule add dst-address=192.168.88.0/24 table=main comment=”to LAN1”
/ip route rule add dst-address=172.16.0.0/23 table=main comment="to LAN2"

Kumment. Dan huwa wieħed mill-modi veloċi u faċli biex taċċessa indirizzi LAN b'sorsi ta 'indirizzi IP esterni ta' interfaces tar-router li ma jgħaddux mir-rotta default.

1.8.3. Ippermetti Hairpin NAT għal LAN1 u LAN2:

/ip firewall nat add action=src-nat chain=srcnat comment="Hairpin to LAN1" 
out-interface=ether4 src-address=192.168.88.0/24 to-addresses=192.168.88.254
/ip firewall nat add action=src-nat chain=srcnat comment="Hairpin to LAN2" 
out-interface=ether5 src-address=172.16.0.0/23 to-addresses=172.16.1.0

Kumment. Dan jippermettilek li taċċessa r-riżorsi tiegħek (dstnat) permezz ta' IP esterna waqt li tkun ġewwa n-netwerk.

2. Fil-fatt, l-implimentazzjoni tal-multivan korretta ħafna

Biex issolvi l-problema ta '"tweġib minn fejn talbu", se nużaw żewġ għodod ROS: marka tal-konnessjoni и marka tar-rotta. marka tal-konnessjoni jippermettilek timmarka l-konnessjoni mixtieqa u mbagħad taħdem b'din il-marka bħala kundizzjoni għall-applikazzjoni marka tar-rotta. U diġà ma marka tar-rotta possibbli li taħdem fiha rotta ip и regoli tar-rotta. Aħna dehret l-għodod, issa trid tiddeċiedi liema konnessjonijiet timmarka - darba, eżattament fejn timmarka - tnejn.

Bl-ewwel waħda, kollox huwa sempliċi - irridu jimmarkaw il-konnessjonijiet kollha li jaslu għar-router mill-Internet permezz tal-kanal xieraq. Fil-każ tagħna, dawn se jkunu tliet tikketti (min-numru ta 'kanali): "conn_isp1", "conn_isp2" u "conn_isp3".

L-isfumatura mat-tieni hija li l-konnessjonijiet deħlin se jkunu ta 'żewġ tipi: transitu u dawk li huma maħsuba għar-router innifsu. Il-mekkaniżmu tal-marka tal-konnessjoni jaħdem fit-tabella mangle. Ikkunsidra l-moviment tal-pakkett fuq dijagramma simplifikata, ġentilment miġbura mill-ispeċjalisti tar-riżors mikrotik-trainings.com (mhux reklamar):

Multivan u routing fuq Mikrotik RouterOS

Wara l-vleġeġ, naraw li l-pakkett jasal fi “interface input”, tgħaddi mill-katina “Prerouting" u mbagħad biss huwa maqsum fi tranżitu u lokali fil-blokk "Deċiżjoni dwar ir-rotot". Għalhekk, biex noqtlu żewġ għasafar b'ġebla waħda, nużaw Marka tal-Konnessjoni fit-tabella Mangle Pre-routing ktajjen Prerouting.

Nota:. F'ROS, it-tikketti "Routing mark" huma elenkati bħala "Tabella" fit-taqsima Ip/Rotot/Regoli, u bħala "Routing Mark" f'taqsimiet oħra. Dan jista 'jintroduċi xi konfużjoni fil-fehim, iżda, fil-fatt, din hija l-istess ħaġa, u hija analoga ta' rt_tables f'iproute2 fuq linux.

2.1. Aħna nimmarkaw konnessjonijiet deħlin minn kull wieħed mill-fornituri:

/ip firewall mangle add action=mark-connection chain=prerouting 
comment="Connmark in from ISP1" connection-mark=no-mark in-interface=ether1  new-connection-mark=conn_isp1 passthrough=no

/ip firewall mangle add action=mark-connection chain=prerouting 
comment="Connmark in from ISP2" connection-mark=no-mark in-interface=ether2  new-connection-mark=conn_isp2 passthrough=no

/ip firewall mangle add action=mark-connection chain=prerouting 
comment="Connmark in from ISP3" connection-mark=no-mark in-interface=pppoe-isp3  new-connection-mark=conn_isp3 passthrough=no

Kumment. Sabiex ma jimmarkax konnessjonijiet diġà mmarkati, nuża l-kondizzjoni ta 'connection-mark=no-mark minflok connection-state=new għaliex naħseb li dan huwa aktar korrett, kif ukoll ir-rifjut ta' konnessjonijiet invalidi ta 'waqgħa fil-filtru tal-input.


passthrough=le - għaliex f'dan il-metodu ta 'implimentazzjoni, l-immarkar mill-ġdid huwa eskluż u, biex tħaffef, tista' tinterrompi l-enumerazzjoni tar-regoli wara l-ewwel logħba.

Wieħed għandu jżomm f'moħħu li aħna ma ninterferixxu bl-ebda mod fir-rotta s'issa. Issa hemm biss stadji ta 'preparazzjoni. L-istadju li jmiss ta 'implimentazzjoni se jkun l-ipproċessar tat-traffiku ta' transitu li jirritorna fuq il-konnessjoni stabbilita mid-destinazzjoni fin-netwerk lokali. Dawk. dawk il-pakketti li (ara d-dijagramma) għaddew mir-router tul it-triq:

"Input Interface" => "Prerouting" => "Deċiżjoni dwar ir-Rotot" => "Forward" => "Post Routing" => "Output Interface" u waslu għand id-destinatarju tagħhom fin-netwerk lokali.

Importanti! F'ROS, m'hemm l-ebda diviżjoni loġika f'interfaces esterni u interni. Jekk intraċċaw il-mogħdija tal-pakkett tar-rispons skont id-dijagramma ta 'hawn fuq, allura ssegwi l-istess mogħdija loġika bħat-talba:

"Input Interface" => "Prerouting" => "Deċiżjoni dwar ir-Rotot" => "Forward" => "Post Routing" => "Output Interface" biss għal talba"Input Interface” kien l-interface ISP, u għat-tweġiba - LAN

2.2. Aħna nidderieġu t-traffiku ta' tranżitu ta' rispons lejn it-tabelli tar-rotot korrispondenti:

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Routemark transit out via ISP1" connection-mark=conn_isp1 
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp1 passthrough=no

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Routemark transit out via ISP2" connection-mark=conn_isp2 
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp2 passthrough=no

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Routemark transit out via ISP3" connection-mark=conn_isp3 
dst-address-type=!local in-interface-list=!WAN new-routing-mark=to_isp3 passthrough=no

Ikkummenta. in-interface-list=!WAN - naħdmu biss mat-traffiku min-netwerk lokali u dst-address-type=!lokali li m'għandux l-indirizz tad-destinazzjoni tal-indirizz tal-interfaces tar-router innifsu.

L-istess għall-pakketti lokali li waslu għar-router tul it-triq:

"Input Interface" => "Prerouting" => "Deċiżjoni dwar ir-Rotot" => "Input" => "Proċess Lokali"

Importanti! It-tweġiba se tmur bil-mod li ġej:

”Proċess Lokali”=>”Deċiżjoni dwar ir-Rotot”=>”Output”=>”Post Routing”=>”Interface tal-Output”

2.3. Aħna nidderieġu t-traffiku lokali tar-rispons għat-tabelli tar-rotot korrispondenti:

/ip firewall mangle add action=mark-routing chain=output 
comment="Routemark local out via ISP1" connection-mark=conn_isp1 dst-address-type=!local 
new-routing-mark=to_isp1 passthrough=no

/ip firewall mangle add action=mark-routing chain=output 
comment="Routemark local out via ISP2" connection-mark=conn_isp2 dst-address-type=!local 
new-routing-mark=to_isp2 passthrough=no

/ip firewall mangle add action=mark-routing chain=output 
comment="Routemark local out via ISP3" connection-mark=conn_isp3 dst-address-type=!local 
new-routing-mark=to_isp3 passthrough=no

F'dan l-istadju, il-kompitu tat-tħejjija biex tintbagħat tweġiba lill-kanal ta 'l-Internet li minnu ġiet it-talba jista' jitqies solvut. Kollox huwa mmarkat, ittikkettat u lest biex jiġi mgħoddi.
Effett "ġenb" eċċellenti ta 'din is-setup huwa l-abbiltà li taħdem ma' DSNAT port forwarding miż-żewġ fornituri (ISP2, ISP3) fl-istess ħin. Mhux talli, peress li fuq ISP1 għandna indirizz mhux routable. Dan l-effett huwa importanti, pereżempju, għal server tal-posta b'żewġ MXs li jħarsu lejn kanali tal-Internet differenti.

Biex telimina l-sfumaturi tal-operat tan-netwerks lokali b'routers IP esterni, nużaw is-soluzzjonijiet mill-paragrafi. 1.8.2 u 3.1.2.6.

Barra minn hekk, tista 'tuża għodda b'marki biex issolvi l-paragrafu 3 tal-problema. Aħna nimplimentah hekk:

2.4. Aħna nidderieġu t-traffiku minn klijenti lokali mil-listi tar-rotot għat-tabelli xierqa:

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Address List via ISP1" dst-address-list=!BOGONS new-routing-mark=to_isp1 
passthrough=no src-address-list=Via_ISP1

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Address List via ISP2" dst-address-list=!BOGONS new-routing-mark=to_isp2 
passthrough=no src-address-list=Via_ISP2

/ip firewall mangle add action=mark-routing chain=prerouting 
comment="Address List via ISP3" dst-address-list=!BOGONS new-routing-mark=to_isp3 
passthrough=no src-address-list=Via_ISP3

Bħala riżultat, jidher xi ħaġa bħal din:

Multivan u routing fuq Mikrotik RouterOS

3. Twaqqaf konnessjoni mal-ISP u ppermetti r-rotot tad-ditta

3.1. Stabbilixxi konnessjoni ma' ISP1:
3.1.1. Ikkonfigura indirizz IP statiku:

/ip address add interface=ether1 address=100.66.66.2/30 comment="ISP1 IP"

3.1.2. Stabbilixxi rotta statika:
3.1.2.1. Żid rotta ta' "emerġenza" default:

/ip route add comment="Emergency route" distance=254 type=blackhole

Kumment. Din ir-rotta tippermetti li t-traffiku minn proċessi lokali jgħaddi mill-istadju tad-Deċiżjoni tar-Rotta, irrispettivament mill-istat tal-links ta' kwalunkwe fornitur. L-isfumatura tat-traffiku lokali ħerġin hija li sabiex il-pakkett jiċċaqlaq mill-inqas x'imkien, it-tabella tar-routing prinċipali għandu jkollha rotta attiva għall-portal default. Jekk le, allura l-pakkett sempliċiment jinqered.

Bħala estensjoni ta 'għodda iċċekkja l-portal Għal analiżi aktar profonda tal-istat tal-kanal, nissuġġerixxi li tuża l-metodu tar-rotta rikorsiv. L-essenza tal-metodu hija li ngħidu lir-router biex ifittex triq għall-portal tiegħu mhux direttament, iżda permezz ta 'portal intermedju. 4.2.2.1, 4.2.2.2 u 4.2.2.3 se jintgħażlu bħala tali gateways "test" għal ISP1, ISP2 u ISP3 rispettivament.

3.1.2.2. Rotta għall-indirizz tal-“verifika”:

/ip route add check-gateway=ping comment="For recursion via ISP1"  
distance=1 dst-address=4.2.2.1 gateway=100.66.66.1 scope=10

Kumment. Aħna nbaxxu l-valur tal-ambitu għall-inadempjenza fl-ambitu tal-mira ROS sabiex nużaw 4.2.2.1 bħala portal rikorsiv fil-futur. Nenfasizza: l-ambitu tar-rotta għall-indirizz "test" għandu jkun inqas minn jew ugwali għall-ambitu fil-mira tar-rotta li se tirreferi għal dik tat-test.

3.1.2.3. Rotta awtomatika rikorsiva għat-traffiku mingħajr marka tar-rotta:

/ip route add comment="Unmarked via ISP1" distance=2 gateway=4.2.2.1

Kumment. Il-valur tad-distanza=2 jintuża minħabba li ISP1 huwa ddikjarat bħala l-ewwel backup skont il-kundizzjonijiet tal-kompitu.

3.1.2.4. Rotta awtomatika rikorsiva għat-traffiku bil-marka tar-routing “to_isp1”:

/ip route add comment="Marked via ISP1 Main" distance=1 gateway=4.2.2.1 
routing-mark=to_isp1

Kumment. Fil-fatt, hawnhekk fl-aħħar qed nibdew ingawdu l-frott tax-xogħol preparatorju li sar fil-paragrafu 2.


Fuq din ir-rotta, it-traffiku kollu li għandu r-rotta tal-marka "to_isp1" se jiġi dirett lejn il-portal tal-ewwel fornitur, irrispettivament minn liema portal default huwa attiv bħalissa għat-tabella prinċipali.

3.1.2.5. L-ewwel rotta default rikorsiva ta' riżerva għat-traffiku bit-tikketta ISP2 u ISP3:

/ip route add comment="Marked via ISP2 Backup1" distance=2 gateway=4.2.2.1 
routing-mark=to_isp2
/ip route add comment="Marked via ISP3 Backup1" distance=2 gateway=4.2.2.1 
routing-mark=to_isp3

Kumment. Dawn ir-rotot huma meħtieġa, fost affarijiet oħra, biex jirriżervaw it-traffiku minn netwerks lokali li huma membri tal-lista tal-indirizzi “to_isp*”'

3.1.2.6. Aħna nirreġistraw ir-rotta għat-traffiku lokali tar-router għall-Internet permezz tal-ISP1:

/ip route rule add comment="From ISP1 IP to Inet" src-address=100.66.66.2 table=to_isp1

Kumment. Flimkien mar-regoli mill-paragrafu 1.8.2, jipprovdi aċċess għall-kanal mixtieq b'sors partikolari. Dan huwa kritiku għall-bini ta' mini li jispeċifikaw l-indirizz IP tan-naħa lokali (EoIP, IP-IP, GRE). Peress li r-regoli fir-regoli tar-rotta ip huma eżegwiti minn fuq għal isfel, sal-ewwel qbil tal-kundizzjonijiet, allura din ir-regola għandha tkun wara r-regoli mill-klawżola 1.8.2.

3.1.3. Aħna nirreġistraw ir-regola NAT għat-traffiku ħerġin:

/ip firewall nat add action=src-nat chain=srcnat comment="NAT via ISP1"  
ipsec-policy=out,none out-interface=ether1 to-addresses=100.66.66.2

Kumment. NATim dak kollu li joħroġ, ħlief għal dak li jidħol fil-politiki tal-IPsec. Nipprova ma nużax action=masquerade sakemm ma jkunx assolutament meħtieġ. Huwa aktar bil-mod u aktar intensiv fir-riżorsi minn src-nat minħabba li jikkalkula l-indirizz NAT għal kull konnessjoni ġdida.

3.1.4. Nibagħtu klijenti mil-lista li huma pprojbiti milli jaċċessaw permezz ta' fornituri oħra direttament lill-portal tal-fornitur ISP1.

/ip firewall mangle add action=route chain=prerouting comment="Address List via ISP1 only" 
dst-address-list=!BOGONS passthrough=no route-dst=100.66.66.1 
src-address-list=Via_only_ISP1 place-before=0

Kumment. action=route għandha prijorità ogħla u tiġi applikata qabel regoli oħra tar-rotta.


place-before=0 - ipoġġi r-regola tagħna l-ewwel fil-lista.

3.2. Stabbilixxi konnessjoni ma 'ISP2.

Peress li l-fornitur ISP2 jagħtina s-settings permezz tad-DHCP, huwa raġonevoli li nagħmlu l-bidliet meħtieġa bi skript li jibda meta l-klijent DHCP jiġi attivat:

/ip dhcp-client
add add-default-route=no disabled=no interface=ether2 script=":if ($bound=1) do={r
    n    /ip route add check-gateway=ping comment="For recursion via ISP2" distance=1 
           dst-address=4.2.2.2/32 gateway=$"gateway-address" scope=10r
    n    /ip route add comment="Unmarked via ISP2" distance=1 gateway=4.2.2.2;r
    n    /ip route add comment="Marked via ISP2 Main" distance=1 gateway=4.2.2.2 
           routing-mark=to_isp2;r
    n    /ip route add comment="Marked via ISP1 Backup1" distance=2 gateway=4.2.2.2 
           routing-mark=to_isp1;r
    n    /ip route add comment="Marked via ISP3 Backup2" distance=3 gateway=4.2.2.2 
           routing-mark=to_isp3;r
    n    /ip firewall nat add action=src-nat chain=srcnat ipsec-policy=out,none 
           out-interface=$"interface" to-addresses=$"lease-address" comment="NAT via ISP2" 
           place-before=1;r
    n    if ([/ip route rule find comment="From ISP2 IP to Inet"] ="") do={r
    n        /ip route rule add comment="From ISP2 IP to Inet" 
               src-address=$"lease-address" table=to_isp2 r
    n    } else={r
    n       /ip route rule set [find comment="From ISP2 IP to Inet"] disabled=no 
              src-address=$"lease-address"r
    n    }      r
    n} else={r
    n   /ip firewall nat remove  [find comment="NAT via ISP2"];r
    n   /ip route remove [find comment="For recursion via ISP2"];r
    n   /ip route remove [find comment="Unmarked via ISP2"];r
    n   /ip route remove [find comment="Marked via ISP2 Main"];r
    n   /ip route remove [find comment="Marked via ISP1 Backup1"];r
    n   /ip route remove [find comment="Marked via ISP3 Backup2"];r
    n   /ip route rule set [find comment="From ISP2 IP to Inet"] disabled=yesr
    n}r
    n" use-peer-dns=no use-peer-ntp=no

L-iskritt innifsu fit-tieqa tal-Winbox:

Multivan u routing fuq Mikrotik RouterOS
Kumment. L-ewwel parti tal-iskrittura tiġi attivata meta l-kirja tinkiseb b'suċċess, it-tieni - wara li l-kirja tiġi rilaxxata.Ara n-nota 2

3.3. Aħna waqqafna konnessjoni mal-fornitur ISP3.

Peress li l-fornitur tas-settings jagħtina dinamiku, huwa raġonevoli li nagħmlu l-bidliet meħtieġa bi skripts li jibdew wara li l-interface ppp tkun tqajmet u wara l-waqgħa.

3.3.1. L-ewwel nikkonfiguraw il-profil:

/ppp profile
add comment="for PPPoE to ISP3" interface-list=WAN name=isp3_client 
on-down="/ip firewall nat remove  [find comment="NAT via ISP3"];r
    n/ip route remove [find comment="For recursion via ISP3"];r
    n/ip route remove [find comment="Unmarked via ISP3"];r
    n/ip route remove [find comment="Marked via ISP3 Main"];r
    n/ip route remove [find comment="Marked via ISP1 Backup2"];r
    n/ip route remove [find comment="Marked via ISP2 Backup2"];r
    n/ip route rule set [find comment="From ISP3 IP to Inet"] disabled=yes;" 
on-up="/ip route add check-gateway=ping comment="For recursion via ISP3" distance=1 
    dst-address=4.2.2.3/32 gateway=$"remote-address" scope=10r
    n/ip route add comment="Unmarked via ISP3" distance=3 gateway=4.2.2.3;r
    n/ip route add comment="Marked via ISP3 Main" distance=1 gateway=4.2.2.3 
    routing-mark=to_isp3;r
    n/ip route add comment="Marked via ISP1 Backup2" distance=3 gateway=4.2.2.3 
    routing-mark=to_isp1;r
    n/ip route add comment="Marked via ISP2 Backup2" distance=3 gateway=4.2.2.3 
    routing-mark=to_isp2;r
    n/ip firewall mangle set [find comment="Connmark in from ISP3"] 
    in-interface=$"interface";r
    n/ip firewall nat add action=src-nat chain=srcnat ipsec-policy=out,none 
    out-interface=$"interface" to-addresses=$"local-address" comment="NAT via ISP3" 
    place-before=1;r
    nif ([/ip route rule find comment="From ISP3 IP to Inet"] ="") do={r
    n   /ip route rule add comment="From ISP3 IP to Inet" src-address=$"local-address" 
    table=to_isp3 r
    n} else={r
    n   /ip route rule set [find comment="From ISP3 IP to Inet"] disabled=no 
    src-address=$"local-address"r
    n};r
    n"

L-iskritt innifsu fit-tieqa tal-Winbox:

Multivan u routing fuq Mikrotik RouterOS
Kumment. Linja
/ip firewall mangle sett [issib kumment="Connmark fi minn ISP3"] in-interface = $"interface";
jippermettilek timmaniġġja b'mod korrett it-tismija mill-ġdid tal-interface, peress li taħdem bil-kodiċi tagħha u mhux bl-isem tal-wiri.

3.3.2. Issa, billi tuża l-profil, oħloq konnessjoni ppp:

/interface pppoe-client add allow=mschap2 comment="to ISP3" disabled=no 
interface=ether3 name=pppoe-isp3 password=isp3_pass profile=isp3_client user=isp3_client

Bħala touch finali, ejja nissettjaw l-arloġġ:

/system ntp client set enabled=yes server-dns-names=0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org

Għal dawk li jaqraw sal-aħħar

Il-mod propost biex jiġi implimentat multivan huwa l-preferenza personali tal-awtur u mhux l-uniku wieħed possibbli. L-għodda ROS hija estensiva u flessibbli, li, minn naħa waħda, tikkawża diffikultajiet għal dawk li jibdew, u, min-naħa l-oħra, hija r-raġuni għall-popolarità tagħha. Tgħallem, ipprova, skopri għodod u soluzzjonijiet ġodda. Pereżempju, bħala applikazzjoni tal-għarfien miksub, huwa possibbli li tissostitwixxi l-għodda f'din l-implimentazzjoni tal-multivan check-gateway b'rotot rikorsivi lejn netwatch.

Noti

  1. check-gateway - mekkaniżmu li jippermettilek li tiddiżattiva r-rotta wara żewġ kontrolli konsekuttivi bla suċċess tal-portal għad-disponibbiltà. Il-verifika ssir darba kull 10 sekondi, flimkien mal-ħin ta' tmiem tar-rispons. B'kollox, il-ħin tal-bidla attwali jinsab fil-medda ta '20-30 sekonda. Jekk tali ħin tal-bidla ma jkunx biżżejjed, hemm għażla li tuża l-għodda netwatch, fejn it-tajmer tal-kontroll jista 'jiġi ssettjat manwalment. check-gateway ma jisparax fuq telf intermittenti ta 'pakketti fuq il-link.

    Importanti! Id-diżattivazzjoni ta' rotta primarja tiddiżattiva r-rotot l-oħra kollha li jirreferu għaliha. Għalhekk, għalihom biex jispeċifikaw check-gateway=ping mhux meħtieġ.

  2. Jiġri li sseħħ falliment fil-mekkaniżmu DHCP, li jidher qisu klijent imwaħħal fl-istat ta 'tiġdid. F'dan il-każ, it-tieni parti tal-iskrittura ma taħdimx, iżda mhux se tipprevjeni t-traffiku milli jimxi b'mod korrett, peress li l-istat isegwi r-rotta rikorrenti korrispondenti.
  3. ECMP (Kost Indaqs Multi-Path) - f'ROS huwa possibbli li tiġi stabbilita rotta b'diversi gateways u l-istess distanza. F'dan il-każ, il-konnessjonijiet se jitqassmu fuq il-kanali bl-użu tal-algoritmu round robin, fi proporzjon għan-numru ta 'gateways speċifikati.

Għall-impetu biex tikteb l-artiklu, għin fit-tiswir tal-istruttura tiegħu u t-tqegħid tal-aċċenti - gratitudni personali lejn Evgeny @jscar

Sors: www.habr.com