Multivan na uelekezaji kwenye Mikrotik RouterOS

Utangulizi

Kuchukua nakala hiyo, pamoja na ubatili, ilichochewa na masafa ya kufadhaisha ya maswali juu ya mada hii katika vikundi vya wasifu vya jamii ya telegramu inayozungumza Kirusi. Nakala hiyo inalenga wasimamizi wa Mikrotik RouterOS (hapa inajulikana kama ROS). Inashughulika tu na multivan, na msisitizo juu ya uelekezaji. Kama bonasi, kuna mipangilio ya kutosha ili kuhakikisha utendakazi salama na unaofaa. Wale ambao wanatafuta kufichuliwa kwa mada za foleni, kusawazisha mzigo, vlans, madaraja, uchambuzi wa kina wa hatua nyingi wa hali ya kituo na kadhalika - wanaweza wasipoteze wakati na bidii kusoma.

Data Chanzo

Kama somo la majaribio, kipanga njia cha Mikrotik cha bandari tano chenye toleo la ROS 6.45.3 kilichaguliwa. Itaelekeza trafiki kati ya mitandao miwili ya ndani (LAN1 na LAN2) na watoa huduma watatu (ISP1, ISP2, ISP3). Kituo cha ISP1 kina anwani ya "kijivu" tuli, ISP2 - "nyeupe", iliyopatikana kupitia DHCP, ISP3 - "nyeupe" kwa idhini ya PPPoE. Mchoro wa uunganisho unaonyeshwa kwenye takwimu:

Multivan na uelekezaji kwenye Mikrotik RouterOS

Kazi ni kusanidi kipanga njia cha MTK kulingana na mpango ili:

  1. Toa ubadilishaji kiotomatiki kwa mtoaji chelezo. Mtoa huduma mkuu ni ISP2, hifadhi ya kwanza ni ISP1, hifadhi ya pili ni ISP3.
  2. Panga ufikiaji wa mtandao wa LAN1 kwa Mtandao kupitia ISP1 pekee.
  3. Toa uwezo wa kuelekeza trafiki kutoka kwa mitandao ya ndani hadi kwa Mtandao kupitia mtoaji aliyechaguliwa kulingana na orodha ya anwani.
  4. Toa uwezekano wa kuchapisha huduma kutoka kwa mtandao wa ndani hadi mtandao (DSTNAT)
  5. Sanidi kichujio cha ngome ili kutoa usalama wa chini wa kutosha kutoka kwa Mtandao.
  6. Router inaweza kutoa trafiki yake kupitia watoa huduma wowote kati ya watatu, kulingana na anwani iliyochaguliwa ya chanzo.
  7. Hakikisha kwamba vifurushi vya majibu vimeelekezwa kwenye kituo vilikotoka (pamoja na LAN).

Kumbuka. Tutasanidi kipanga njia "kutoka mwanzo" ili kuhakikisha kutokuwepo kwa mshangao katika usanidi wa kuanzia "nje ya sanduku" ambao hubadilika kutoka toleo hadi toleo. Winbox ilichaguliwa kama zana ya usanidi, ambapo mabadiliko yataonyeshwa. Mipangilio yenyewe itawekwa na amri katika terminal ya Winbox. Uunganisho wa kimwili kwa ajili ya usanidi unafanywa na uunganisho wa moja kwa moja kwenye interface ya Ether5.

Mawazo kidogo juu ya multivan ni nini, ni shida au ni watu wenye ujanja karibu na kusuka mitandao ya njama

Msimamizi anayeuliza na anayejali, akianzisha mpango kama huo peke yake, ghafla anagundua kuwa tayari inafanya kazi kawaida. Ndiyo, ndiyo, bila majedwali yako maalum ya uelekezaji na sheria zingine za njia, ambazo makala nyingi kwenye mada hii zimejaa. Hebu tuangalie?

Je, tunaweza kusanidi anwani kwenye miingiliano na lango chaguo-msingi? Ndiyo:

Kwenye ISP1, anwani na lango lilisajiliwa kwa umbali=2 и check-lango=ping.
Kwenye ISP2, mpangilio wa mteja wa dhcp chaguo-msingi - ipasavyo, umbali utakuwa sawa na moja.
Kwenye ISP3 katika mipangilio ya mteja wa pppoe wakati ongeza-chaguo-msingi-njia=ndio weka Umbali-wa-njia-msingi=3.

Usisahau kusajili NAT wakati wa kutoka:

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

Kwa hivyo, watumiaji wa tovuti za ndani hufurahia kupakua paka kupitia mtoaji mkuu wa ISP2 na kuna uhifadhi wa kituo kwa kutumia utaratibu. angalia lango Angalia dokezo 1

Hatua ya 1 ya kazi inatekelezwa. Iko wapi multivan na alama zake? Hapana…

Zaidi. Unahitaji kuachilia wateja maalum kutoka kwa LAN kupitia ISP1:

/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=ndiyo 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-anwani=192.168.88.0/24

Vipengee 2 na 3 vya kazi vimetekelezwa. Lebo, mihuri, sheria za njia, uko wapi?!

Je, unahitaji kufikia seva yako ya OpenVPN uipendayo kwa kutumia anwani 172.17.17.17 kwa wateja kutoka kwa Mtandao? Tafadhali:

/ip wingu kuweka ddns-enabled=ndio

Kama rika, tunampa mteja matokeo ya pato: ":weka [ip cloud pata dns-name]"

Tunasajili usambazaji wa bandari kutoka kwa Mtandao:

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

Kipengee cha 4 kiko tayari.

Tunaweka firewall na usalama mwingine kwa uhakika 5, wakati huo huo tunafurahi kwamba kila kitu tayari kinafanya kazi kwa watumiaji na kufikia chombo na kinywaji kinachopenda ...
A! Vichuguu vimesahaulika.

l2tp-client, iliyosanidiwa na makala ya google, imeongezeka hadi kwenye VDS yako uipendayo ya Uholanzi? Ndiyo.
l2tp-server iliyo na IPsec imeongezeka na wateja kwa jina la DNS kutoka Wingu la IP (tazama hapo juu.) wanashikilia? Ndiyo.
Kuegemea kwenye kiti chetu, tukinywa kinywaji, tunazingatia kwa uvivu pointi 6 na 7 za kazi hiyo. Tunafikiri - tunahitaji? Vivyo hivyo, inafanya kazi kama hiyo (c) ... Kwa hivyo, ikiwa bado haihitajiki, basi ndivyo. Multivan kutekelezwa.

Multivan ni nini? Huu ni uunganisho wa njia kadhaa za mtandao kwenye router moja.

Sio lazima usome nakala zaidi, kwa sababu ni nini kinachoweza kuwa hapo isipokuwa onyesho la utumiaji wa shaka?

Kwa wale waliosalia, ambao wanapendezwa na pointi 6 na 7 za kazi hiyo, na pia wanahisi kuwasha kwa ukamilifu, tunapiga mbizi zaidi.

Kazi muhimu zaidi ya kutekeleza multivan ni njia sahihi ya trafiki. Yaani: bila kujali ni (au ipi) Tazama. kumbuka 3 chaneli za ISP zinaangalia njia chaguo-msingi kwenye kipanga njia chetu, inapaswa kurudisha jibu kwa chaneli halisi ambayo pakiti ilitoka. Kazi iko wazi. Tatizo liko wapi? Hakika, katika mtandao rahisi wa ndani, kazi ni sawa, lakini hakuna mtu anayejisumbua na mipangilio ya ziada na hahisi shida. Tofauti ni kwamba nodi yoyote inayoweza kubadilishwa kwenye Mtandao inapatikana kupitia kila chaneli zetu, na sio kupitia moja maalum, kama katika LAN rahisi. Na "shida" ni kwamba ikiwa ombi lilikuja kwetu kwa anwani ya IP ya ISP3, basi kwa upande wetu jibu litapitia kituo cha ISP2, kwani lango la msingi linaelekezwa huko. Inaondoka na itatupwa na mtoa huduma kama si sahihi. Tatizo limetambuliwa. Jinsi ya kutatua?

Suluhisho limegawanywa katika hatua tatu:

  1. Kuweka mapema. Katika hatua hii, mipangilio ya msingi ya router itawekwa: mtandao wa ndani, firewall, orodha ya anwani, hairpin NAT, nk.
  2. Multivan. Katika hatua hii, viunganisho vinavyohitajika vitawekwa alama na kupangwa kwenye meza za uelekezaji.
  3. Inaunganisha kwa ISP. Katika hatua hii, violesura vinavyotoa muunganisho wa Mtandao vitasanidiwa, kuelekeza na utaratibu wa kuhifadhi kituo cha Intaneti utawashwa.

1. Kuweka mapema

1.1. Tunafuta usanidi wa router kwa amri:

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

kukubaliana na"Hatari! Ungependa kuweka upya? [y/N]:” na, baada ya kuwasha upya, tunaunganisha na Winbox kupitia MAC. Katika hatua hii, usanidi na msingi wa mtumiaji huondolewa.

1.2. Unda mtumiaji mpya:

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

ingia chini yake na ufute chaguo-msingi:

/user remove admin

Kumbuka. Ni kuondolewa na si kulemaza kwa mtumiaji chaguo-msingi ambaye mwandishi anachukulia kuwa salama na kupendekeza kwa matumizi.

1.3. Tunaunda orodha za kimsingi za kiolesura kwa urahisi wa kufanya kazi kwenye ngome, mipangilio ya ugunduzi na seva zingine za MAC:

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

Miingiliano ya kusaini na maoni

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

na ujaze orodha za kiolesura:

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

Kumbuka. Kuandika maoni yanayoeleweka kunafaa muda uliotumika kwa hili, pamoja na kuwezesha sana utatuzi na kuelewa usanidi.

Mwandishi anaona kuwa ni muhimu, kwa sababu za usalama, kuongeza kiolesura cha ether3 kwenye orodha ya kiolesura cha "WAN", licha ya ukweli kwamba itifaki ya ip haitapitia.

Usisahau kwamba baada ya kiolesura cha PPP kuinuliwa kwenye ether3, itahitaji pia kuongezwa kwenye orodha ya kiolesura cha "WAN"

1.4. Tunaficha kipanga njia dhidi ya ugunduzi na udhibiti wa ujirani kutoka kwa mitandao ya watoa huduma kupitia 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. Tunaunda seti ya chini ya kutosha ya sheria za vichungi vya ngome ili kulinda kipanga njia:

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

(sheria hutoa ruhusa kwa miunganisho iliyoanzishwa na inayohusiana ambayo imeanzishwa kutoka kwa mitandao iliyounganishwa na kipanga njia yenyewe)

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

(ping na si ping pekee. icmp zote zinaruhusiwa kuingia. Ni muhimu sana kwa kutafuta matatizo ya MTU)

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

(kanuni inayofunga msururu wa pembejeo inakataza kila kitu kingine kinachotoka kwenye Mtandao)

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

(kanuni inaruhusu miunganisho iliyoanzishwa na inayohusiana ambayo hupitia router)

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

(kanuni huweka upya miunganisho kwa connection-state=invalid kupita kwenye kipanga njia. Inapendekezwa sana na Mikrotik, lakini katika baadhi ya hali nadra inaweza kuzuia trafiki muhimu)

/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

(sheria inakataza pakiti zinazotoka kwenye Mtandao na hazijapitisha utaratibu wa dstnat kupita kwenye kipanga njia. Hii italinda mitandao ya ndani dhidi ya wavamizi ambao, wakiwa katika kikoa kimoja cha utangazaji na mitandao yetu ya nje, watasajili IP zetu za nje kama lango na, kwa hivyo, jaribu "kuchunguza" mitandao yetu ya ndani.)

Kumbuka. Hebu tuchukue kwamba mitandao LAN1 na LAN2 inaaminika na trafiki kati yao na kutoka kwao haijachujwa.

1.6. Unda orodha yenye orodha ya mitandao isiyoweza kupitika:

/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

(Hii ni orodha ya anwani na mitandao ambayo haiwezi kupitika kwenye Mtandao na itafuatwa ipasavyo.)

Kumbuka. Orodha inaweza kubadilika, kwa hivyo nakushauri uangalie mara kwa mara umuhimu.

1.7. Sanidi DNS kwa kipanga njia yenyewe:

/ip dns set servers=1.1.1.1,8.8.8.8

Kumbuka. Katika toleo la sasa la ROS, seva zinazobadilika huchukua nafasi ya kwanza kuliko tuli. Ombi la azimio la jina linatumwa kwa seva ya kwanza kwa mpangilio katika orodha. Mpito kwa seva inayofuata unafanywa wakati ya sasa haipatikani. Muda wa kuisha ni kubwa - zaidi ya sekunde 5. Kurudi nyuma, wakati "seva iliyoanguka" inaporejeshwa, haitokei kiatomati. Kwa kuzingatia algorithm hii na uwepo wa multivan, mwandishi anapendekeza kutotumia seva zinazotolewa na watoa huduma.

1.8. Sanidi mtandao wa ndani.
1.8.1. Tunasanidi anwani za IP tuli kwenye miingiliano ya 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. Tunaweka sheria za njia kwa mitandao yetu ya ndani kupitia jedwali kuu la uelekezaji:

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

Kumbuka. Hii ni mojawapo ya njia za haraka na rahisi za kufikia anwani za LAN na vyanzo vya anwani za IP za nje za interfaces za router ambazo hazipiti njia ya msingi.

1.8.3. Washa Hairpin NAT kwa LAN1 na 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

Kumbuka. Hii hukuruhusu kufikia rasilimali zako (dstnat) kupitia IP ya nje ukiwa ndani ya mtandao.

2. Kweli, utekelezaji wa multivan sahihi sana

Ili kutatua shida ya "kujibu walikouliza kutoka", tutatumia zana mbili za ROS: alama ya uunganisho и alama ya uelekezaji. alama ya uunganisho hukuruhusu kuashiria muunganisho unaotaka na kisha ufanye kazi na alama hii kama sharti la kutuma maombi alama ya uelekezaji. Na tayari na alama ya uelekezaji inawezekana kufanya kazi ndani njia ya ip и kanuni za njia. Tuligundua zana, sasa unahitaji kuamua ni viunganisho vipi vya kuweka alama - mara moja, mahali pa kuweka alama - mbili.

Na ya kwanza, kila kitu ni rahisi - lazima tuweke alama miunganisho yote inayokuja kwenye router kutoka kwa mtandao kupitia chaneli inayofaa. Kwa upande wetu, hizi zitakuwa lebo tatu (kwa idadi ya vituo): "conn_isp1", "conn_isp2" na "conn_isp3".

Nuance na ya pili ni kwamba viunganisho vinavyoingia vitakuwa vya aina mbili: usafiri na wale ambao wamekusudiwa kwa router yenyewe. Utaratibu wa alama ya uunganisho hufanya kazi kwenye meza kula. Fikiria harakati za kifurushi kwenye mchoro uliorahisishwa, ulioandaliwa kwa fadhili na wataalamu wa rasilimali ya mikrotik-trainings.com (sio utangazaji):

Multivan na uelekezaji kwenye Mikrotik RouterOS

Kufuatia mishale, tunaona kwamba pakiti inafika "pembejeo interface", hupitia mnyororo"Prerouting” na hapo ndipo imegawanywa kuwa ya usafiri na ya ndani kwenye kizuizi “Uamuzi wa njia". Kwa hiyo, kuua ndege wawili kwa jiwe moja, tunatumia Alama ya Kuunganisha mezani Mangle Pre-routing minyororo Prerouting.

Kumbuka. Katika ROS, lebo za "Alama ya Kuelekeza" zimeorodheshwa kama "Jedwali" katika sehemu ya Ip/Njia/Kanuni, na kama "Alama ya Kuelekeza" katika sehemu zingine. Hii inaweza kuleta machafuko katika kuelewa, lakini, kwa kweli, hii ni kitu kimoja, na ni analog ya rt_tables katika iproute2 kwenye linux.

2.1. Tunatia alama miunganisho inayoingia kutoka kwa kila watoa huduma:

/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

Kumbuka. Ili kutotia alama miunganisho ambayo tayari imetiwa alama, mimi hutumia connection-mark=no-mark condition badala ya connection-state=new kwa sababu nadhani hii ni sahihi zaidi, na pia kukataliwa kwa miunganisho isiyo sahihi katika kichujio cha kuingiza.


passthrough=hapana - kwa sababu katika njia hii ya utekelezaji, kuweka alama tena hakujumuishwa na, ili kuharakisha, unaweza kukatiza uhesabuji wa sheria baada ya mechi ya kwanza.

Inapaswa kukumbushwa katika akili kwamba hatuingilii kwa njia yoyote na uelekezaji bado. Sasa kuna hatua tu za maandalizi. Hatua inayofuata ya utekelezaji itakuwa uchakataji wa trafiki ya usafiri ambayo inarudi kwa muunganisho ulioidhinishwa kutoka lengwa katika mtandao wa ndani. Wale. pakiti hizo ambazo (tazama mchoro) zilipitia kipanga njia njiani:

“Kiolesura cha Kuingiza”=>”Prerouting”=>”Uamuzi wa Uelekezaji”=>”Mbele”=>”Uelekezaji wa Chapisho”=>”Kiolesura cha Kutoa” na kufika kwa mhudumu wao katika mtandao wa ndani.

Muhimu! Katika ROS, hakuna mgawanyiko wa kimantiki katika miingiliano ya nje na ya ndani. Ikiwa tutafuata njia ya pakiti ya majibu kulingana na mchoro hapo juu, basi itafuata njia sawa ya kimantiki kama ombi:

“Kiolesura cha Kuingiza”=>”Prerouting”=>”Uamuzi wa Uelekezaji”=>”Mbele”=>”Uelekezaji wa Chapisho”=>”Kiolesura cha Kutoa” kwa ombi tu"pembejeo Interface” ilikuwa kiolesura cha ISP, na kwa jibu - LAN

2.2. Tunaelekeza trafiki ya usafiri wa jibu kwenye jedwali la uelekezaji linalolingana:

/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

Maoni. in-interface-list=!WAN - tunafanya kazi tu na trafiki kutoka kwa mtandao wa ndani na dst-address-type=!local ambayo haina anwani lengwa ya anwani ya violesura vya kipanga njia yenyewe.

Vile vile kwa pakiti za ndani ambazo zilikuja kwenye router njiani:

“Input Interface”=>”Prerouting”=>”Uamuzi wa Njia”=>”Ingizo”=>”Mchakato wa Ndani”

Muhimu! Jibu litaenda kwa njia ifuatayo:

”Mchakato wa Ndani”=>”Uamuzi wa Uelekezaji”=>”Pato”=>”Uelekezaji wa Chapisho”=>”Kiolesura cha Pato”

2.3. Tunaelekeza majibu ya trafiki ya ndani kwa jedwali zinazolingana za uelekezaji:

/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

Katika hatua hii, kazi ya kuandaa kutuma jibu kwa chaneli ya mtandao ambayo ombi lilitoka inaweza kuzingatiwa kutatuliwa. Kila kitu kimewekwa alama, kimeandikwa na kiko tayari kuelekezwa.
Athari bora ya "upande" wa usanidi huu ni uwezo wa kufanya kazi na usambazaji wa mlango wa DSNAT kutoka kwa watoa huduma wote wawili (ISP2, ISP3) kwa wakati mmoja. Sio kabisa, kwa kuwa kwenye ISP1 tunayo anwani isiyoweza kubadilishwa. Athari hii ni muhimu, kwa mfano, kwa seva ya barua iliyo na MX mbili zinazoangalia njia tofauti za mtandao.

Ili kuondokana na nuances ya uendeshaji wa mitandao ya ndani na routers za nje za IP, tunatumia ufumbuzi kutoka kwa aya. 1.8.2 na 3.1.2.6.

Kwa kuongeza, unaweza kutumia chombo kilicho na alama kutatua aya ya 3 ya tatizo. Tunatekeleza kama hii:

2.4. Tunaelekeza trafiki kutoka kwa wateja wa ndani kutoka kwa orodha za uelekezaji hadi kwa jedwali zinazofaa:

/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

Kama matokeo, inaonekana kitu kama hiki:

Multivan na uelekezaji kwenye Mikrotik RouterOS

3. Sanidi muunganisho kwa ISP na uwashe uelekezaji wa chapa

3.1. Sanidi muunganisho kwa ISP1:
3.1.1. Sanidi anwani ya IP tuli:

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

3.1.2. Sanidi uelekezaji tuli:
3.1.2.1. Ongeza njia chaguomsingi ya "dharura":

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

Kumbuka. Njia hii inaruhusu trafiki kutoka kwa michakato ya ndani kupita hatua ya Uamuzi wa Njia, bila kujali hali ya viungo vya mtoa huduma yeyote. Nuance ya trafiki ya ndani inayotoka ni kwamba ili pakiti kusonga angalau mahali fulani, jedwali kuu la uelekezaji lazima liwe na njia inayotumika kwa lango chaguo-msingi. Ikiwa sivyo, basi kifurushi kitaharibiwa tu.

Kama kiendelezi cha zana angalia lango Kwa uchambuzi wa kina wa hali ya kituo, ninapendekeza kutumia njia ya kurudia. Kiini cha njia ni kwamba tunamwambia router kutafuta njia ya lango lake si moja kwa moja, lakini kupitia lango la kati. 4.2.2.1, 4.2.2.2 na 4.2.2.3 zitachaguliwa kama lango la "jaribio" la ISP1, ISP2 na ISP3 mtawalia.

3.1.2.2. Njia hadi kwa anwani ya "uthibitishaji":

/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

Kumbuka. Tunashusha thamani ya upeo hadi chaguomsingi katika upeo wa lengo la ROS ili kutumia 4.2.2.1 kama lango linalojirudia katika siku zijazo. Ninasisitiza: upeo wa njia ya anwani ya "jaribio" lazima iwe chini ya au sawa na upeo unaolengwa wa njia ambayo itarejelea ile ya majaribio.

3.1.2.3. Njia chaguo-msingi inayojirudia kwa trafiki bila alama ya kuelekeza:

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

Kumbuka. Nambari ya umbali=2 inatumika kwa sababu ISP1 inatangazwa kama hifadhi rudufu ya kwanza kulingana na masharti ya kazi.

3.1.2.4. Njia chaguomsingi inayojirudia kwa trafiki yenye alama ya kuelekeza "to_isp1":

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

Kumbuka. Kwa kweli, hapa hatimaye tunaanza kufurahia matunda ya kazi ya matayarisho ambayo ilifanywa katika fungu la 2.


Kwenye njia hii, trafiki yote iliyo na njia ya alama "to_isp1" itaelekezwa kwenye lango la mtoa huduma wa kwanza, bila kujali ni lango gani chaguo-msingi linalotumika kwa sasa kwa jedwali kuu.

3.1.2.5. Njia mbadala ya kwanza ya urejeshaji wa trafiki iliyotambulishwa ya ISP2 na 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

Kumbuka. Njia hizi zinahitajika, miongoni mwa mambo mengine, kuhifadhi trafiki kutoka kwa mitandao ya ndani ambayo ni wanachama wa orodha ya anwani “to_isp*”'

3.1.2.6. Tunasajili njia ya trafiki ya ndani ya kipanga njia kwenda kwa Mtandao kupitia ISP1:

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

Kumbuka. Kwa kuchanganya na sheria kutoka kwa aya ya 1.8.2, hutoa ufikiaji wa kituo unachotaka na chanzo fulani. Hii ni muhimu kwa ajili ya kujenga vichuguu vinavyobainisha anwani ya IP ya ndani (EoIP, IP-IP, GRE). Kwa kuwa sheria katika sheria za njia za ip zinatekelezwa kutoka juu hadi chini, mpaka mechi ya kwanza ya masharti, basi sheria hii inapaswa kuwa baada ya sheria kutoka kwa kifungu cha 1.8.2.

3.1.3. Tunasajili sheria ya NAT kwa trafiki inayotoka:

/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

Kumbuka. NATim kila kitu kinachotoka, isipokuwa kile kinachoingia kwenye sera za IPsec. Ninajaribu kutotumia action=masquerade isipokuwa lazima kabisa. Ni polepole na inahitaji rasilimali zaidi kuliko src-nat kwa sababu hukokotoa anwani ya NAT kwa kila muunganisho mpya.

3.1.4. Tunatuma wateja kutoka kwenye orodha ambao wamepigwa marufuku kufikia kupitia watoa huduma wengine moja kwa moja kwenye lango la mtoa huduma wa 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

Kumbuka. action=route ina kipaumbele cha juu na inatumika kabla ya sheria zingine za uelekezaji.


mahali-kabla=0 - huweka sheria yetu kwanza kwenye orodha.

3.2. Sanidi muunganisho kwa ISP2.

Kwa kuwa mtoa huduma wa ISP2 hutupatia mipangilio kupitia DHCP, ni busara kufanya mabadiliko yanayohitajika na hati inayoanza mteja wa DHCP anapoanzishwa:

/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

Hati yenyewe kwenye dirisha la Winbox:

Multivan na uelekezaji kwenye Mikrotik RouterOS
Kumbuka. Sehemu ya kwanza ya script inasababishwa wakati kukodisha kunapatikana kwa ufanisi, pili - baada ya kukodisha kutolewa.Angalia dokezo 2

3.3. Tunaanzisha muunganisho kwa mtoaji wa ISP3.

Kwa kuwa mtoa huduma wa mipangilio hutupatia nguvu, ni busara kufanya mabadiliko yanayohitajika na hati zinazoanza baada ya kiolesura cha ppp kuinuliwa na baada ya kuanguka.

3.3.1. Kwanza tunasanidi wasifu:

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

Hati yenyewe kwenye dirisha la Winbox:

Multivan na uelekezaji kwenye Mikrotik RouterOS
Kumbuka. Kamba
/ip firewall mangle set [pata maoni="Connmark in from ISP3"] in-interface=$"interface";
hukuruhusu kushughulikia kwa usahihi kubadilisha jina la kiolesura, kwani inafanya kazi na nambari yake na sio jina la onyesho.

3.3.2. Sasa, kwa kutumia wasifu, tengeneza muunganisho wa 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

Kama mguso wa mwisho, wacha tuweke saa:

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

Kwa wale wanaosoma hadi mwisho

Njia iliyopendekezwa ya kutekeleza multivan ni upendeleo wa kibinafsi wa mwandishi na sio pekee inayowezekana. Chombo cha zana cha ROS ni kikubwa na rahisi, ambacho, kwa upande mmoja, husababisha matatizo kwa Kompyuta, na, kwa upande mwingine, ndiyo sababu ya umaarufu wake. Jifunze, jaribu, gundua zana na suluhisho mpya. Kwa mfano, kama matumizi ya ujuzi uliopatikana, inawezekana kuchukua nafasi ya chombo katika utekelezaji huu wa multivan kuangalia-lango na njia za kujirudia mtandao.

maelezo

  1. kuangalia-lango - utaratibu unaokuwezesha kuzima njia baada ya hundi mbili mfululizo zisizofanikiwa za lango la upatikanaji. Ukaguzi hufanywa mara moja kila baada ya sekunde 10, pamoja na muda wa kujibu. Kwa jumla, wakati halisi wa kubadili upo katika safu ya sekunde 20-30. Ikiwa wakati huo wa kubadili haitoshi, kuna chaguo la kutumia chombo mtandao, ambapo kipima saa kinaweza kuwekwa kwa mikono. kuangalia-lango haiwashi upotezaji wa pakiti wa vipindi kwenye kiunga.

    Muhimu! Kuzima njia ya msingi kutazima njia zingine zote zinazorejelea. Kwa hiyo, kwa wao kutaja check-lango=ping sio lazima.

  2. Inatokea kwamba kushindwa hutokea katika utaratibu wa DHCP, ambayo inaonekana kama mteja amekwama katika hali ya upya. Katika kesi hii, sehemu ya pili ya hati haitafanya kazi, lakini haitazuia trafiki kutembea kwa usahihi, kwani serikali inafuatilia njia inayofanana ya kurudia.
  3. ECMP (Njia nyingi za Gharama Sawa) - katika ROS inawezekana kuweka njia na lango kadhaa na umbali sawa. Katika kesi hii, miunganisho itasambazwa kwenye chaneli kwa kutumia algorithm ya robin ya pande zote, kulingana na idadi ya lango maalum.

Kwa msukumo wa kuandika makala, kusaidia katika kuunda muundo wake na uwekaji wa lafudhi - shukrani ya kibinafsi kwa Evgeny. @jscar

Chanzo: mapenzi.com