Multivan ug routing sa Mikrotik RouterOS

Pasiuna

Ang pagkuha sa artikulo, dugang sa kakawangan, giaghat sa makapaguol nga kasubsob sa mga pangutana bahin niini nga hilisgutan sa mga grupo sa profile sa komunidad sa telegrama nga nagsultig Ruso. Ang artikulo gitumong sa bag-ong Mikrotik RouterOS (gitawag nga ROS) nga mga tigdumala. Kini naghisgot lamang sa multivan, nga adunay gibug-aton sa pag-ruta. Ingon usa ka bonus, adunay gamay nga igo nga mga setting aron masiguro ang luwas ug dali nga operasyon. Kadtong nangita alang sa pagbutyag sa mga hilisgutan sa mga pila, pagbalanse sa load, vlans, tulay, multi-stage nga lawom nga pagtuki sa kahimtang sa channel ug uban pa - mahimong dili mag-usik sa oras ug paningkamot sa pagbasa.

Raw data

Ingon usa ka hilisgutan sa pagsulay, usa ka lima ka port nga Mikrotik router nga adunay bersyon sa ROS 6.45.3 ang gipili. Kini ang ruta sa trapiko tali sa duha ka lokal nga network (LAN1 ug LAN2) ug tulo ka mga provider (ISP1, ISP2, ISP3). Ang channel sa ISP1 adunay static nga "gray" nga adres, ISP2 - "puti", nakuha pinaagi sa DHCP, ISP3 - "puti" nga adunay pagtugot sa PPPoE. Ang diagram sa koneksyon gipakita sa numero:

Multivan ug routing sa Mikrotik RouterOS

Ang tahas mao ang pag-configure sa MTK router base sa laraw aron:

  1. Paghatag og awtomatik nga pagbalhin ngadto sa usa ka backup provider. Ang nag-unang provider mao ang ISP2, ang una nga reserba mao ang ISP1, ang ikaduha nga reserba mao ang ISP3.
  2. I-organisar ang LAN1 network access sa Internet pinaagi lamang sa ISP1.
  3. Paghatag ug abilidad sa pagruta sa trapiko gikan sa mga lokal nga network ngadto sa Internet pinaagi sa pinili nga provider base sa address-list.
  4. Paghatag alang sa posibilidad sa mga serbisyo sa pagmantala gikan sa lokal nga network hangtod sa Internet (DSTNAT)
  5. Pagbutang ug firewall filter aron mahatagan ang labing gamay nga igo nga seguridad gikan sa Internet.
  6. Ang router mahimong mag-isyu sa kaugalingon nga trapiko pinaagi sa bisan unsang tulo nga mga provider, depende sa gipili nga gigikanan nga adres.
  7. Siguroha nga ang mga response packet madala ngadto sa channel diin sila gikan (lakip ang LAN).

Hinumdomi. I-configure namon ang router "gikan sa wala" aron masiguro nga wala’y mga sorpresa sa pagsugod nga mga pag-configure "gikan sa kahon" nga nagbag-o gikan sa bersyon hangtod sa bersyon. Ang Winbox gipili isip usa ka himan sa pag-configure, diin ang mga pagbag-o makita nga makita. Ang mga setting sa ilang kaugalingon itakda sa mga mando sa terminal sa Winbox. Ang pisikal nga koneksyon alang sa configuration gihimo pinaagi sa usa ka direkta nga koneksyon sa Ether5 interface.

Usa ka gamay nga pangatarungan bahin sa kung unsa ang usa ka multivan, kini ba usa ka problema o maliputon nga mga tawo nga naglibot sa paghabol sa mga network sa panagkunsabo

Ang usa ka mausisaon ug matinagdanon nga tigdumala, nga nag-set up sa ingon o susama nga laraw sa iyang kaugalingon, kalit nga nakaamgo nga kini nagtrabaho na sa normal. Oo, oo, kung wala ang imong naandan nga mga lamesa sa ruta ug uban pang mga lagda sa ruta, nga kadaghanan sa mga artikulo bahin niini nga hilisgutan puno. Atong susihon?

Mahimo ba naton i-configure ang pag-address sa mga interface ug default nga mga ganghaan? Oo:

Sa ISP1, ang adres ug gateway narehistro sa gilay-on=2 и check-gateway=ping.
Sa ISP2, ang default nga setting sa kliyente sa dhcp - sumala niana, ang distansya mahimong katumbas sa usa.
Sa ISP3 sa mga setting sa kliyente sa pppoe kung kanus-a add-default-route=oo ibutang default-route-distance=3.

Ayaw kalimot sa pagparehistro sa NAT sa exit:

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

Ingon usa ka sangputanan, ang mga tiggamit sa mga lokal nga site nalipay sa pag-download sa mga iring pinaagi sa panguna nga provider sa ISP2 ug adunay usa ka reserbasyon sa channel gamit ang mekanismo check gateway Tan-awa ang nota 1

Ang punto 1 sa buluhaton gipatuman. Asa ang multivan nga adunay mga marka? Dili…

Dugang pa. Kinahanglan nimo nga buhian ang piho nga mga kliyente gikan sa LAN pinaagi sa ISP1:

/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=oo ruta-dst=100.66.66.1 src-address-list=Via_ISP1
/ip firewall mangle add action=route chain=prerouting dst-address-list=!BOGONS
passthrough=walay rota-dst=100.66.66.1 src-address=192.168.88.0/24

Ang mga aytem 2 ug 3 sa buluhaton gipatuman. Mga label, selyo, mga lagda sa ruta, asa ka?!

Kinahanglan nga hatagan ang access sa imong paborito nga OpenVPN server nga adunay adres nga 172.17.17.17 alang sa mga kliyente gikan sa Internet? Palihug:

/ip cloud set ddns-enabled=oo

Isip usa ka kaedad, among gihatag sa kliyente ang resulta sa output: ":butang [ip cloud makakuha dns-name]"

Nagparehistro kami sa pagpasa sa port gikan sa Internet:

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

Ang butang 4 andam na.

Nagbutang kami usa ka firewall ug uban pang seguridad alang sa punto 5, sa samang higayon nalipay kami nga ang tanan nagtrabaho na alang sa mga tiggamit ug nakab-ot ang usa ka sudlanan nga adunay paborito nga ilimnon ...
A! Ang mga tunel nakalimtan.

Ang l2tp-client, nga gi-configure sa artikulo sa google, nabanhaw sa imong paborito nga Dutch VDS? Oo.
Ang l2tp-server nga adunay IPsec misaka ug ang mga kliyente pinaagi sa DNS-name gikan sa IP Cloud (tan-awa sa ibabaw.) Oo.
Nagsandig sa among lingkuranan, naghigop og ilimnon, tapulan namon nga gikonsiderar ang mga punto 6 ug 7 sa buluhaton. Naghunahuna kami - kinahanglan ba namon kini? Ang tanan parehas, kini molihok sama niana (c) ... Busa, kung wala pa kini kinahanglan, nan kana. Multivan gipatuman.

Unsa ang multivan? Kini ang koneksyon sa daghang mga channel sa Internet sa usa ka router.

Dili na nimo kinahanglan nga basahon pa ang artikulo, tungod kay unsa ang mahimo didto gawas sa pagpakita sa kaduhaduhaan nga paggamit?

Para sa mga nagpabilin, kinsa interesado sa mga punto 6 ug 7 sa buluhaton, ug gibati usab ang itch sa perpeksyonismo, mas lawom ang among pag-dive.

Ang labing hinungdanon nga tahas sa pagpatuman sa usa ka multivan mao ang husto nga ruta sa trapiko. Nga mao: bisan unsa pa (o diin) Tan-awa. timan-i 3 ang (mga) channel sa ISP tan-awon ang default nga ruta sa among router, kinahanglan nga ibalik ang tubag sa eksaktong channel nga gigikanan sa pakete. Klaro ang buluhaton. Asa man ang problema? Sa tinuud, sa usa ka yano nga lokal nga network, parehas ang buluhaton, apan wala’y nagsamok sa dugang nga mga setting ug wala’y gibati nga kasamok. Ang kalainan mao nga ang bisan unsang routable node sa Internet ma-access pinaagi sa matag usa sa among mga channel, ug dili pinaagi sa usa ka espesipiko nga usa, sama sa usa ka yano nga LAN. Ug ang "kasamok" mao nga kung ang usa ka hangyo moabut kanamo alang sa IP address sa ISP3, nan sa among kaso ang tubag moagi sa channel sa ISP2, tungod kay ang default gateway gitumong didto. Mga dahon ug ilabay sa provider kay dili sakto. Ang problema naila na. Unsaon kini pagsulbad?

Ang solusyon gibahin sa tulo ka yugto:

  1. Pag-preset. Sa kini nga yugto, ang sukaranan nga mga setting sa router itakda: lokal nga network, firewall, mga lista sa address, hairpin NAT, ug uban pa.
  2. Multivan. Niini nga yugto, ang gikinahanglan nga mga koneksyon markahan ug ihan-ay sa mga routing table.
  3. Pagkonektar sa usa ka ISP. Niini nga yugto, ang mga interface nga naghatag koneksyon sa Internet ma-configure, ang ruta ug ang mekanismo sa pagreserba sa channel sa Internet ma-aktibo.

1. Pag-preset

1.1. Atong limpyohan ang configuration sa router gamit ang command:

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

uyon sa"Kuyaw! I-reset gihapon? [y/N]:” ug, pagkahuman sa pag-reboot, nagkonektar kami sa Winbox pinaagi sa MAC. Niini nga yugto, ang pag-configure ug base sa tiggamit gilimpyohan.

1.2. Paghimo og bag-ong user:

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

pag-log in sa ilawom niini ug kuhaa ang default:

/user remove admin

Hinumdomi. Kini ang pagtangtang ug dili pagpahunong sa default nga tiggamit nga giisip sa tagsulat nga mas luwas ug girekomenda nga gamiton.

1.3. Naghimo kami mga lista sa sukaranan nga interface alang sa kasayon ​​​​sa pag-operate sa usa ka firewall, mga setting sa pagdiskobre ug uban pang mga server sa MAC:

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

Pagpirma sa mga interface nga adunay mga komento

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

ug pun-a ang mga lista sa 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"

Hinumdomi. Ang pagsulat sa masabtan nga mga komentaryo takus sa oras nga gigugol niini, ug kini labi nga nagpadali sa pag-troubleshoot ug pagsabut sa pagsumpo.

Giisip sa tagsulat nga kinahanglan, alang sa mga hinungdan sa seguridad, aron idugang ang interface sa ether3 sa lista sa interface nga "WAN", bisan pa sa kamatuoran nga ang ip protocol dili moagi niini.

Ayaw kalimti nga human mapataas ang interface sa PPP sa ether3, kinahanglan usab kini idugang sa lista sa interface nga "WAN"

1.4. Gitago namon ang router gikan sa pag-ila ug pagkontrol sa kasilinganan gikan sa mga network sa provider pinaagi sa 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. Naghimo kami og minimum nga igo nga hugpong sa mga lagda sa filter sa firewall aron mapanalipdan ang router:

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

(Ang lagda naghatag pagtugot alang sa natukod ug may kalabutan nga mga koneksyon nga gisugdan gikan sa konektado nga mga network ug sa router mismo)

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

(ping ug dili lang ping. Ang tanan nga icmp gitugutan nga mosulod. Mapuslanon kaayo sa pagpangita sa mga problema sa MTU)

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

(ang lagda nga nagsira sa input chain nagdili sa tanan nga gikan sa Internet)

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

(Ang lagda nagtugot sa natukod ug may kalabutan nga mga koneksyon nga moagi sa router)

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

(Ang lagda nag-reset sa mga koneksyon nga adunay koneksyon-estado = dili balido nga pag-agi sa router. Kusganon kini nga girekomenda sa Mikrotik, apan sa pipila ka talagsaon nga mga sitwasyon kini makababag sa mapuslanon nga trapiko)

/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

(Ang lagda nagdili sa mga packet nga gikan sa Internet ug wala nakapasar sa dstnat procedure nga moagi sa router. Kini manalipod sa mga lokal nga network gikan sa mga intruders kinsa, nga anaa sa samang broadcast domain sa atong mga external network, magparehistro sa atong external IPs isip usa ka gateway ug, sa ingon, pagsulay sa "pag-usisa" sa among mga lokal nga network.)

Hinumdomi. Atong hunahunaon nga ang mga network LAN1 ug LAN2 gisaligan ug ang trapiko tali kanila ug gikan kanila wala masala.

1.6. Paghimo ug lista nga adunay lista sa mga dili mabalhin nga network:

/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

(Kini usa ka lista sa mga adres ug mga network nga dili madala sa Internet ug sundan kini.)

Hinumdomi. Ang lista mahimong usbon, busa gitambagan ko ikaw nga susihon matag karon ug unya ang kalabotan.

1.7. I-set up ang DNS alang sa router mismo:

/ip dns set servers=1.1.1.1,8.8.8.8

Hinumdomi. Sa kasamtangan nga bersyon sa ROS, ang mga dinamikong server nag-una sa mga static. Ang hangyo sa resolusyon sa ngalan ipadala ngadto sa unang server sa han-ay sa listahan. Ang pagbalhin ngadto sa sunod nga server gihimo kung ang kasamtangan dili magamit. Dako ang timeout - labaw pa sa 5 segundos. Ang pagbalik, kung ang "nahulog nga server" gipadayon, dili awtomatiko nga mahitabo. Gihatag kini nga algorithm ug ang presensya sa usa ka multivan, girekomenda sa tagsulat nga dili gamiton ang mga server nga gihatag sa mga provider.

1.8. Paghimo usa ka lokal nga network.
1.8.1. Gi-configure namon ang mga static nga IP address sa mga interface sa 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. Among gibutang ang mga lagda alang sa mga rota sa among mga lokal nga network pinaagi sa main routing table:

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

Hinumdomi. Usa kini sa dali ug sayon ​​nga mga paagi sa pag-access sa mga address sa LAN nga adunay mga tinubdan sa mga eksternal nga IP address sa mga interface sa router nga dili moagi sa default nga ruta.

1.8.3. I-enable ang Hairpin NAT para sa LAN1 ug 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

Hinumdomi. Kini nagtugot kanimo sa pag-access sa imong mga kapanguhaan (dstnat) pinaagi sa usa ka eksternal nga IP samtang anaa sa sulod sa network.

2. Sa tinuod, ang pagpatuman sa husto kaayo nga multivan

Aron masulbad ang problema sa "pagtubag kung diin gikan sila nangutana", mogamit kami duha ka mga himan sa ROS: marka sa koneksyon и marka sa ruta. marka sa koneksyon nagtugot kanimo sa pagmarka sa gusto nga koneksyon ug dayon pagtrabaho uban niini nga label isip kondisyon sa pag-apply marka sa ruta. Ug naa na marka sa ruta posible nga magtrabaho sa ruta sa ip и mga lagda sa ruta. Nahibal-an namon ang mga himan, karon kinahanglan nimo nga magdesisyon kung unsang mga koneksyon ang markahan - kausa, eksakto kung asa markahan - duha.

Uban sa una, ang tanan yano - kinahanglan naton markahan ang tanan nga mga koneksyon nga moabut sa router gikan sa Internet pinaagi sa angay nga channel. Sa among kaso, kini mahimong tulo ka mga label (sa gidaghanon sa mga channel): "conn_isp1", "conn_isp2" ug "conn_isp3".

Ang nuance sa ikaduha mao nga ang umaabot nga mga koneksyon adunay duha ka matang: transit ug kadtong gituyo alang sa router mismo. Ang mekanismo sa marka sa koneksyon nagtrabaho sa lamesa mangle. Hunahunaa ang paglihok sa pakete sa usa ka gipayano nga diagram, malulotong gihugpong sa mga espesyalista sa mikrotik-trainings.com nga kapanguhaan (dili advertising):

Multivan ug routing sa Mikrotik RouterOS

Pagsunod sa mga pana, atong makita nga ang pakete moabut sa "input interface", miagi sa kadena"Prerouting" ug unya kini gibahin sa transit ug lokal sa block "Pagdesisyon sa ruta". Busa, sa pagpatay sa duha ka langgam sa usa ka bato, atong gamiton Marka sa Koneksyon sa lamesa Mangle Pre-routing mga kadena Prerouting.

Mubo nga sulat. Sa ROS, ang mga label nga "Routing mark" gilista isip "Table" sa seksyon sa Ip/Routes/Rules, ug isip "Routing Mark" sa ubang mga seksyon. Mahimong ipaila niini ang pipila ka kalibog sa pagsabut, apan, sa tinuud, parehas kini nga butang, ug usa ka analogue sa rt_tables sa iproute2 sa linux.

2.1. Among gimarkahan ang umaabot nga mga koneksyon gikan sa matag usa sa mga providers:

/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

Hinumdomi. Aron dili markahan ang namarkahan na nga mga koneksyon, akong gigamit ang connection-mark=no-mark condition imbes nga connection-state=new tungod kay sa akong hunahuna kini mas husto, ingon man ang pagsalikway sa drop invalid connections sa input filter.


passthrough=no - tungod kay sa niini nga pamaagi sa pagpatuman, re-marking wala iapil ug, aron sa pagpadali, mahimo nimong mabalda ang enumeration sa mga lagda human sa unang duwa.

Kinahanglang hinumdoman nga dili pa kita manghilabot sa bisan unsang paagi sa pag-ruta. Karon adunay mga yugto lamang sa pagpangandam. Ang sunod nga yugto sa pagpatuman mao ang pagproseso sa trapiko sa transit nga mobalik sa natukod nga koneksyon gikan sa destinasyon sa lokal nga network. Mga. kadtong mga packet nga (tan-awa ang diagram) miagi sa router sa dalan:

“Input Interface”=>”Prerouting”=>”Routing Desisyon”=>”Forward”=>”Post Routing”=>”Output Interface” ug nakaadto sa ilang addressee sa lokal nga network.

Importante! Sa ROS, walay lohikal nga dibisyon sa gawas ug internal nga mga interface. Kung atong gisubay ang dalan sa tubag nga pakete sumala sa dayagram sa ibabaw, nan kini mosunod sa samang lohikal nga dalan sama sa hangyo:

“Input Interface”=>”Prerouting”=>”Routing Desisyon”=>”Forward”=>”Post Routing”=>”Output Interface” hangyo lang"Input Interface” mao ang interface sa ISP, ug alang sa tubag - LAN

2.2. Gidirekta namo ang trapiko sa pagtubag sa transit ngadto sa katugbang nga mga routing table:

/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

Komento. in-interface-list=!WAN - nagtrabaho lamang kami sa trapiko gikan sa lokal nga network ug dst-address-type=!local nga walay destinasyon nga adres sa adres sa mga interface sa router mismo.

Ang sama alang sa mga lokal nga pakete nga miabut sa router sa dalan:

"Input Interface" => "Prerouting" => "Desisyon sa Routing" => "Input" => "Lokal nga Proseso"

Importante! Ang tubag moadto sa mosunod nga paagi:

"Lokal nga Proseso" => "Desisyon sa Pag-ruta" => "Pag-output" => "Pag-post sa Pag-ruta" => "Interface sa Output"

2.3. Gidirekta namon ang pagtubag sa lokal nga trapiko sa katugbang nga mga lamesa sa ruta:

/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

Niini nga yugto, ang tahas sa pag-andam sa pagpadala usa ka tubag sa channel sa Internet diin gikan ang hangyo mahimong maisip nga masulbad. Ang tanan gimarkahan, gimarkahan ug andam nga madala.
Usa ka maayo kaayo nga "side" nga epekto niini nga setup mao ang abilidad sa pagtrabaho uban sa DSNAT port forwarding gikan sa duha (ISP2, ISP3) providers sa samang higayon. Dili gyud, tungod kay sa ISP1 kami adunay dili madala nga adres. Importante kini nga epekto, pananglitan, alang sa usa ka mail server nga adunay duha ka MX nga nagtan-aw sa lain-laing mga channel sa Internet.

Aron mawagtang ang mga nuances sa operasyon sa mga lokal nga network nga adunay mga external IP routers, gigamit namon ang mga solusyon gikan sa mga parapo. 1.8.2 ug 3.1.2.6.

Dugang pa, mahimo nimong gamiton ang usa ka himan nga adunay mga marka aron masulbad ang parapo 3 sa problema. Atong ipatuman kini sama niini:

2.4. Gidirekta namon ang trapiko gikan sa lokal nga mga kliyente gikan sa mga lista sa ruta hangtod sa angay nga mga lamesa:

/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

Ingon usa ka sangputanan, ingon niini ang hitsura:

Multivan ug routing sa Mikrotik RouterOS

3. Paghimo og koneksyon sa ISP ug i-enable ang branded routing

3.1. Paghimo og koneksyon sa ISP1:
3.1.1. I-configure ang usa ka static nga IP address:

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

3.1.2. I-set up ang static nga ruta:
3.1.2.1. Pagdugang og default nga "emerhensya" nga ruta:

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

Hinumdomi. Gitugotan niini nga ruta ang trapiko gikan sa lokal nga mga proseso nga makaagi sa yugto sa Desisyon sa Ruta, bisan unsa pa ang kahimtang sa mga link sa bisan kinsa sa mga provider. Ang nuance sa outgoing nga lokal nga trapiko mao nga aron ang packet mobalhin bisan asa, ang main routing table kinahanglan adunay aktibong ruta sa default gateway. Kung dili, nan ang pakete gubaon ra.

Ingon usa ka extension sa himan check gateway Alang sa mas lawom nga pag-analisar sa estado sa channel, gisugyot nako ang paggamit sa recursive nga pamaagi sa ruta. Ang esensya sa pamaagi mao nga gisultihan namon ang router nga mangita usa ka agianan sa ganghaan niini dili direkta, apan pinaagi sa usa ka intermediate gateway. 4.2.2.1, 4.2.2.2 ug 4.2.2.3 ang pilion ingon nga "pagsulay" nga mga ganghaan alang sa ISP1, ISP2 ug ISP3 matag usa.

3.1.2.2. Ruta sa adres nga "panghimatuud":

/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

Hinumdomi. Gipaubos namo ang bili sa scope ngadto sa default sa ROS target scope aron magamit ang 4.2.2.1 isip recursive gateway sa umaabot. Akong gihatagan og gibug-aton: ang kasangkaran sa ruta sa "pagsulay" nga adres kinahanglan nga mas ubos o katumbas sa target nga kasangkaran sa ruta nga magtumong sa pagsulay.

3.1.2.3. Recursive nga default nga ruta para sa trapiko nga walay marka sa ruta:

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

Hinumdomi. Ang gilay-on = 2 nga kantidad gigamit tungod kay ang ISP1 gideklarar nga una nga backup sumala sa mga kondisyon sa buluhaton.

3.1.2.4. Recursive default nga ruta alang sa trapiko nga adunay marka sa ruta nga "to_isp1":

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

Hinumdomi. Sa tinuud, ania na kita sa katapusan nagsugod sa pagtagamtam sa mga bunga sa buluhaton sa pagpangandam nga gihimo sa parapo 2.


Niini nga ruta, ang tanan nga trapiko nga adunay marka nga ruta "to_isp1" idirekta sa ganghaan sa una nga provider, bisan unsa pa ang default gateway nga aktibo karon alang sa main table.

3.1.2.5. Una nga fallback recursive default nga ruta alang sa ISP2 ug ISP3 nga gi-tag nga trapiko:

/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

Hinumdomi. Kini nga mga ruta gikinahanglan, lakip sa uban pang mga butang, aron magreserba sa trapiko gikan sa mga lokal nga network nga mga miyembro sa lista sa address nga "to_isp*"'

3.1.2.6. Girehistro namon ang ruta alang sa lokal nga trapiko sa router sa Internet pinaagi sa ISP1:

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

Hinumdomi. Sa kombinasyon sa mga lagda gikan sa parapo 1.8.2, naghatag kini og access sa gusto nga channel nga adunay gihatag nga tinubdan. Importante kini alang sa pagtukod og mga tunnel nga nagtino sa lokal nga side IP address (EoIP, IP-IP, GRE). Tungod kay ang mga lagda sa mga lagda sa ruta sa ip gipatuman gikan sa ibabaw ngadto sa ubos, hangtud sa unang pagpares sa mga kondisyon, nan kini nga lagda kinahanglan nga human sa mga lagda gikan sa clause 1.8.2.

3.1.3. Girehistro namo ang lagda sa NAT alang sa paggawas nga trapiko:

/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

Hinumdomi. NATim ang tanan nga mogawas, gawas sa kung unsa ang makuha sa mga palisiya sa IPsec. Gisulayan nako nga dili gamiton ang aksyon=pagtakuban gawas kung kinahanglan gyud. Kini mao ang mas hinay ug mas resource intensive kay sa src-nat tungod kay kini nagkalkula sa NAT address alang sa matag bag-ong koneksyon.

3.1.4. Nagpadala kami og mga kliyente gikan sa listahan nga gidid-an sa pag-access pinaagi sa ubang mga provider direkta ngadto sa ganghaan sa provider sa 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

Hinumdomi. aksyon=ruta adunay mas taas nga prayoridad ug gipadapat sa wala pa ang ubang mga lagda sa pagruta.


place-before=0 - nag-una sa among lagda sa listahan.

3.2. Paghimo og koneksyon sa ISP2.

Tungod kay ang provider sa ISP2 naghatag kanamo sa mga setting pinaagi sa DHCP, makatarunganon nga himuon ang kinahanglan nga mga pagbag-o sa usa ka script nga magsugod kung ang kliyente sa DHCP ma-trigger:

/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

Ang script mismo sa Winbox window:

Multivan ug routing sa Mikrotik RouterOS
Hinumdomi. Ang una nga bahin sa script na-trigger kung ang pag-arkila malampuson nga nakuha, ang ikaduha - pagkahuman gipagawas ang pag-arkila.Tan-awa ang nota 2

3.3. Nagbutang kami og koneksyon sa ISP3 provider.

Tungod kay ang taghatag sa mga setting naghatag kanamo dinamiko, makatarunganon nga himuon ang kinahanglan nga mga pagbag-o sa mga script nga magsugod pagkahuman gipataas ang interface sa ppp ug pagkahuman sa pagkahulog.

3.3.1. Una among gi-configure ang profile:

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

Ang script mismo sa Winbox window:

Multivan ug routing sa Mikrotik RouterOS
Hinumdomi. Linya
/ip firewall mangle set [find comment="Connmark in from ISP3"] in-interface=$"interface";
nagtugot kanimo sa husto nga pagdumala sa pagbag-o sa ngalan sa interface, tungod kay kini nagtrabaho uban sa code niini ug dili ang display name.

3.3.2. Karon, gamit ang profile, paghimo usa ka koneksyon sa 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

Isip kataposang paghikap, atong itakda ang orasan:

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

Para sa mga nagbasa hangtod sa katapusan

Ang gisugyot nga paagi sa pagpatuman sa usa ka multivan mao ang personal nga gusto sa tagsulat ug dili lamang ang posible. Ang toolkit sa ROS kaylap ug flexible, nga, sa usa ka bahin, hinungdan sa mga kalisud alang sa mga nagsugod, ug, sa laing bahin, mao ang hinungdan sa pagkapopular niini. Pagkat-on, pagsulay, pagdiskobre sa bag-ong mga himan ug solusyon. Pananglitan, isip usa ka aplikasyon sa nakuha nga kahibalo, posible nga ilisan ang himan niini nga pagpatuman sa multivan check-gateway nga adunay recursive nga mga ruta sa netwatch.

Mga nota

  1. check-gateway - usa ka mekanismo nga nagtugot kanimo sa pag-deactivate sa ruta pagkahuman sa duha ka sunud-sunod nga dili malampuson nga pagsusi sa ganghaan alang sa pagkaanaa. Ang pagsusi gihimo kausa sa matag 10 segundos, dugang ang oras sa pagtubag. Sa kinatibuk-an, ang aktuwal nga switching timing anaa sa gilay-on nga 20-30 segundos. Kung dili igo ang ingon nga timing sa pagbalhin, adunay kapilian nga gamiton ang himan netwatch, diin ang check timer mahimong itakda sa mano-mano. check-gateway dili mobuto sa intermittent packet loss sa link.

    Importante! Ang pag-deactivate sa usa ka nag-unang ruta mag-deactivate sa tanang ubang mga rota nga nagtumong niini. Busa, alang kanila sa pagtino check-gateway=ping dili kinahanglan.

  2. Nahitabo nga ang usa ka kapakyasan mahitabo sa mekanismo sa DHCP, nga morag usa ka kliyente nga natanggong sa estado sa pagbag-o. Sa kini nga kaso, ang ikaduhang bahin sa script dili molihok, apan dili kini makapugong sa trapiko sa paglakaw sa husto, tungod kay ang estado nagsubay sa katugbang nga recursive nga ruta.
  3. ECMP (Equal Cost Multi-Path) - sa ROS posible nga magbutang usa ka ruta nga adunay daghang mga ganghaan ug parehas nga distansya. Sa kini nga kaso, ang mga koneksyon ipang-apod-apod sa mga agianan gamit ang round robin algorithm, nga katimbang sa gidaghanon sa gitakda nga mga ganghaan.

Alang sa kadasig sa pagsulat sa artikulo, tabang sa paghulma sa istruktura niini ug pagbutang sa mga accent - personal nga pagpasalamat kang Evgeny @jscar

Source: www.habr.com