Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Маршруттау – TCP/IP желілері арқылы пакеттерді жіберудің ең жақсы жолын табу процесі. IPv4 желісіне қосылған кез келген құрылғыда процесс және маршрут кестелері бар.

Бұл мақала ҚАЛАЙ емес, ол мысалдармен RouterOS жүйесіндегі статикалық маршруттауды сипаттайды, мен басқа параметрлерді (мысалы, Интернетке кіруге арналған srcnat) әдейі өткізіп жібердім, сондықтан материалды түсіну үшін желілер мен RouterOS туралы белгілі бір білім деңгейі қажет.

Коммутация және маршруттау

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Коммутация – бұл бір Layer2 сегменті (Ethernet, ppp, ...) ішінде пакеттерді алмасу процесі. Егер құрылғы пакетті қабылдаушы онымен бір Ethernet ішкі желіде екенін көрсе, ол arp хаттамасы арқылы mac мекенжайын үйренеді және маршрутизаторды айналып өтіп, пакетті тікелей жібереді. Ppp (нүктеден нүктеге) қосылымда тек екі қатысушы болуы мүмкін және пакет әрқашан бір 0xff мекенжайына жіберіледі.

Маршруттау - бұл Layer2 сегменттері арасында пакеттерді тасымалдау процесі. Егер құрылғы алушысы Ethernet сегментінен тыс пакетті жібергісі келсе, ол өзінің маршруттау кестесіне қарап, пакетті келесіде қайда жіберу керектігін білетін шлюзге жібереді (немесе білмеуі мүмкін, пакеттің бастапқы жіберушісі бұл туралы білмеймін).

Маршрутизатор туралы ойлаудың ең оңай жолы - екі немесе одан да көп Layer2 сегменттеріне қосылған құрылғы және маршруттау кестесінен ең жақсы маршрутты анықтау арқылы олардың арасында пакеттерді өткізуге қабілетті құрылғы.

Егер сіз бәрін түсінсеңіз немесе оны бұрыннан білсеңіз, оқыңыз. Қалғандары үшін мен сізге кішкентай, бірақ өте сыйымдылықпен танысуды ұсынамын мақалалар.

RouterOS және PacketFlow жүйесінде маршруттау

Статикалық маршруттауға қатысты барлық дерлік функционалдық пакетте бар жүйе. Пластикалық пакет бағыттау динамикалық маршруттау алгоритмдерін (RIP, OSPF, BGP, MME), маршруттау сүзгілерін және BFD үшін қолдауды қосады.

Маршрутты орнатудың негізгі мәзірі: [IP]->[Route]. Күрделі схемалар пакеттерді келесіде маршруттау белгісімен алдын ала таңбалауды талап етуі мүмкін: [IP]->[Firewall]->[Mangle] (тізбектер PREROUTING и OUTPUT).

PacketFlow жүйесінде IP пакеттерін бағыттау шешімдері қабылданатын үш орын бар:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  1. Маршрутизатор қабылдаған маршруттау пакеттері. Бұл кезеңде пакеттің жергілікті процеске өтуі немесе одан әрі желіге жіберілетіні шешіледі. Транзиттік пакеттер қабылданады Шығу интерфейсі
  2. Жергілікті шығыс пакеттерді бағыттау. Шығыс пакеттер қабылданады Шығу интерфейсі
  3. Шығыс пакеттер үшін қосымша маршруттау қадамы маршруттау шешімін өзгертуге мүмкіндік береді [Output|Mangle]

  • 1, 2 блоктарындағы пакет жолы ережелерге байланысты [IP]->[Route]
  • 1, 2 және 3 тармақтардағы пакет жолы ережелерге байланысты [IP]->[Route]->[Rules]
  • 1, 3 блоктарындағы бума жолына қолдану арқылы әсер етуге болады [IP]->[Firewall]->[Mangle]

RIB, FIB, маршруттау кэші

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Маршрутизациялық ақпарат базасы
Динамикалық маршруттау протоколдарынан, ppp және dhcp маршруттарынан, статикалық және қосылған маршруттардан маршруттар жиналатын база. Бұл дерекқор әкімші сүзгеннен басқа барлық маршруттарды қамтиды.

Шартты түрде, деп болжауға болады [IP]->[Route] RIB көрсетеді.

Ақпаратты қайта жіберу базасы
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

RIB ең жақсы маршруттары жиналған база. FIB-дегі барлық маршруттар белсенді және пакеттерді жіберу үшін пайдаланылады. Егер маршрут белсенді емес болса (әкімші (жүйе) өшірген) немесе пакетті жіберу керек интерфейс белсенді емес болса, маршрут FIB-дан жойылады.

Маршруттау туралы шешім қабылдау үшін FIB кестесі IP пакеті туралы келесі ақпаратты пайдаланады:

  • Бастапқы мекенжай
  • Мақсатты мекен-жай
  • бастапқы интерфейс
  • Маршрутизация белгісі
  • ToS (DSCP)

FIB пакетіне кіру келесі кезеңдерден өтеді:

  • Пакет жергілікті маршрутизатор процесіне арналған ба?
  • Пакет жүйе немесе пайдаланушы PBR ережелеріне бағынады ма?
    • Егер иә болса, онда пакет көрсетілген маршруттау кестесіне жіберіледі
  • Пакет негізгі кестеге жіберіледі

Шартты түрде, деп болжауға болады [IP]->[Route Active=yes] FIB көрсетеді.

Маршруттау кэші
Маршрутты кэштеу механизмі. Маршрутизатор пакеттердің қайда жіберілгенін есіне алады және егер ұқсастары болса (бір қосылымнан болуы мүмкін) ол FIB-де тексермей-ақ, оларға бір маршрут бойынша жүруге мүмкіндік береді. Маршрут кэші кезеңді түрде тазаланады.

RouterOS әкімшілері үшін олар маршруттау кэшін көруге және басқаруға арналған құралдарды жасаған жоқ, бірақ оны өшіруге болатын кезде. [IP]->[Settings].

Бұл механизм linux 3.6 ядросынан жойылды, бірақ RouterOS әлі күнге дейін 3.3.5 ядросын пайдаланады, мүмкін Routing cahce себептерінің бірі.

Бағыт диалогын қосу

[IP]->[Route]->[+]
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  1. Бағыт жасағыңыз келетін ішкі желі (әдепкі: 0.0.0.0/0)
  2. Пакет жіберілетін IP шлюзі немесе интерфейс (бірнеше болуы мүмкін, төмендегі ECMP қараңыз)
  3. Шлюздің қолжетімділігін тексеру
  4. Жазба түрі
  5. Маршрутқа арналған қашықтық (метрика).
  6. Бағыттау кестесі
  7. Осы маршрут арқылы жергілікті шығыс пакеттерге арналған IP
  8. Қолданылу аясы мен мақсатты ауқымының мақсаты мақаланың соңында жазылған.

Маршрут жалаушалары
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  • X - Әкімші маршрутты өшірген (disabled=yes)
  • A - маршрут пакеттерді жіберу үшін пайдаланылады
  • D - динамикалық түрде қосылған бағыт (BGP, OSPF, RIP, MME, PPP, DHCP, қосылған)
  • C - Ішкі желі маршрутизаторға тікелей қосылған
  • S - Статикалық маршрут
  • r,b,o,m - динамикалық маршруттау протоколдарының бірімен қосылған маршрут
  • B,U,P - сүзу бағыты (беру орнына пакеттерді түсіреді)

Шлюзде нені көрсету керек: ip-адрес немесе интерфейс?

Жүйе екеуін де көрсетуге мүмкіндік береді, бірақ ол ант бермейді және қате жасаған болсаңыз, кеңес бермейді.

IP адресі
Шлюз мекенжайы Layer2 арқылы қолжетімді болуы керек. Ethernet үшін бұл маршрутизаторда белсенді IP интерфейстерінің бірінде бір ішкі желіден мекенжай болуы керек дегенді білдіреді, ppp үшін шлюз мекенжайы ішкі желі мекенжайы ретінде белсенді интерфейстердің бірінде көрсетілген.
Егер Layer2 үшін қол жетімділік шарты орындалмаса, маршрут белсенді емес болып саналады және FIB-ке жатпайды.

интерфейс
Барлығы күрделірек және маршрутизатордың әрекеті интерфейс түріне байланысты:

  • PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *) қосылымы тек екі қатысушыны болжайды және пакет әрқашан жіберу үшін шлюзге жіберіледі, егер шлюз алушының өзі екенін анықтаса, ол пакетті келесіге тасымалдайды. оның жергілікті процесі.
    Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері
  • Ethernet көптеген қатысушылардың болуын болжайды және пакетті алушының мекенжайы бар arp интерфейсіне сұраныстарды жібереді, бұл жалғанған маршруттар үшін күтілетін және қалыпты әрекет.
    Бірақ интерфейсті қашықтағы ішкі желі үшін маршрут ретінде пайдалануға тырысқанда, сіз келесі жағдайды аласыз: маршрут белсенді, шлюзге пинг өтеді, бірақ көрсетілген ішкі желіден алушыға жетпейді. Интерфейсті снайфер арқылы қарасаңыз, қашықтағы ішкі желіден мекенжайлары бар arp сұрауларын көресіз.
    Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Мүмкіндігінше IP мекенжайын шлюз ретінде көрсетуге тырысыңыз. Ерекшелік қосылған маршруттар (автоматты түрде жасалады) және PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN*) интерфейстері болып табылады.

OpenVPN құрамында PPP тақырыбы жоқ, бірақ маршрутты жасау үшін OpenVPN интерфейс атауын пайдалануға болады.

Нақтырақ маршрут

Маршрутизацияның негізгі ережесі. Кіші ішкі желіні сипаттайтын маршрут (ең үлкен ішкі желі маскасы бар) пакеттің маршруттау шешімінде басымдыққа ие болады. Маршруттау кестесіндегі жазбалардың орны таңдауға қатысты емес - негізгі ереже - Нақтырақ.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Көрсетілген схемадан барлық маршруттар белсенді (FIB-де орналасқан). әртүрлі ішкі желілерді көрсетеді және бір-біріне қайшы келмейді.

Шлюздердің бірі қолжетімсіз болса, байланысты маршрут белсенді емес болып саналады (FIB-дан жойылады) және қалған маршруттардан пакеттер ізделеді.

Ішкі желі 0.0.0.0/0 бар маршрут кейде ерекше мағынаға ие болады және «Әдепкі маршрут» немесе «соңғы шараның шлюзі» деп аталады. Шындығында, бұл туралы сиқырлы ештеңе жоқ және ол жай ғана барлық ықтимал IPv4 мекенжайларын қамтиды, бірақ бұл атаулар оның міндетін жақсы сипаттайды - ол басқа, дәлірек маршруттар жоқ пакеттерді жіберу шлюзін көрсетеді.

IPv4 үшін максималды ықтимал ішкі желі маскасы /32, бұл маршрут белгілі бір хостты көрсетеді және оны маршруттау кестесінде пайдалануға болады.

Нақтырақ маршрутты түсіну кез келген TCP/IP құрылғысы үшін негізгі болып табылады.

қашықтық

Қашықтықтар (немесе метрикалар) бірнеше шлюз арқылы қолжетімді жалғыз ішкі желіге жолдарды әкімшілік сүзгілеу үшін қажет. Төмен метрикаға ие маршрут басымдық болып саналады және FIB құрамына енгізіледі. Егер төменгі көрсеткіші бар маршрут белсенді болуды тоқтатса, ол FIB ішіндегі жоғары көрсеткіші бар маршрутпен ауыстырылады.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Егер бір ішкі желіге бірдей метрикамен бірнеше маршруттар болса, маршрутизатор өзінің ішкі логикасын басшылыққа ала отырып, олардың тек біреуін FIB кестесіне қосады.

Көрсеткіш 0-ден 255-ке дейінгі мәнді қабылдай алады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  • 0 - Қосылған маршруттарға арналған көрсеткіш. 0 қашықтықты әкімші орнату мүмкін емес
  • 1-254 - Бағдарларды орнату үшін әкімшіге қолжетімді көрсеткіштер. Төменгі мәні бар көрсеткіштердің басымдығы жоғары
  • 255 - Бағдарларды орнату үшін әкімшіге қол жетімді көрсеткіш. 1-254-тен айырмашылығы, 255 метрикасы бар маршрут әрқашан белсенді емес болып қалады және FIB-ге түспейді.
  • арнайы көрсеткіштер. Динамикалық бағыттау протоколдарынан алынған маршруттар стандартты метрикалық мәндерге ие

шлюзді тексеру

Тексеру шлюзі - icmp немесе arp арқылы шлюздің қолжетімділігін тексеруге арналған MikroTik RoutesOS кеңейтімі. 10 секунд сайын (өзгертуге болмайды) бір рет шлюзге сұрау жіберіледі, егер жауап екі рет қабылданбаса, маршрут қолжетімсіз болып саналады және FIB-дан жойылады. Тексеру шлюзі өшірілсе, тексеру бағыты жалғасады және бір сәтті тексеруден кейін маршрут қайтадан белсенді болады.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Тексеру шлюзі ол конфигурацияланған жазбаны және көрсетілген шлюзі бар барлық басқа жазбаларды (барлық маршруттау кестелерінде және ecmp маршруттарында) өшіреді.

Жалпы, тексеру шлюзі шлюзге пакеттердің жоғалуымен байланысты проблемалар болмаса, жақсы жұмыс істейді. Тексеру шлюзі тексерілген шлюзден тыс байланыспен не болып жатқанын білмейді, бұл қосымша құралдарды қажет етеді: сценарийлер, рекурсивті маршруттау, динамикалық маршруттау протоколдары.

Көптеген VPN және туннель протоколдарында қосылым әрекетін тексеруге арналған кірістірілген құралдар бар, олар үшін тексеру шлюзін қосу желіге және құрылғы өнімділігіне қосымша (бірақ өте аз) жүктеме болып табылады.

ECMP маршруттары

Equal-Cost Multi-Path – Round Robin алгоритмі арқылы бір уақытта бірнеше шлюз арқылы алушыға пакеттерді жіберу.

ECMP маршрутын әкімші бір ішкі желі үшін бірнеше шлюздерді көрсету арқылы жасайды (немесе екі баламалы OSPF маршруты болса, автоматты түрде).
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

ECMP екі арна арасындағы жүктемені теңестіру үшін қолданылады, теорияда, егер ecmp маршрутында екі арна болса, онда әрбір пакет үшін шығыс арна әртүрлі болуы керек. Бірақ Routing кэш механизмі пакеттерді бірінші пакет қабылдаған маршрут бойынша қосылымнан жібереді, нәтижесінде біз қосылымдарға негізделген теңгерімдеудің бір түрін аламыз (бір қосылым бойынша жүктемені теңестіру).

Маршруттау кэшін өшірсеңіз, ECMP маршрутындағы пакеттер дұрыс ортақтастырылады, бірақ NAT ақаулығы бар. NAT ережесі қосылымнан тек бірінші пакетті өңдейді (қалғандары автоматты түрде өңделеді) және бірдей бастапқы мекенжайы бар пакеттер әртүрлі интерфейстерден шығатыны белгілі болды.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Тексеру шлюзі ECMP маршруттарында жұмыс істемейді (RouterOS қатесі). Бірақ ECMP ішіндегі жазбаларды өшіретін қосымша тексеру бағыттарын жасау арқылы бұл шектеуді айналып өтуге болады.

Маршруттау арқылы сүзгілеу

Түр опциясы бумамен не істеу керектігін анықтайды:

  • unicast - көрсетілген шлюзге жіберу (интерфейс)
  • қара тесік - пакетті тастаңыз
  • тыйым салу, қол жетімсіз - пакетті тастап, жіберушіге icmp хабарламасын жіберіңіз

Фильтрлеу әдетте пакеттерді қате жолмен жіберуді қамтамасыз ету қажет болғанда қолданылады, әрине, сіз оны брандмауэр арқылы сүзуге болады.

Бір-екі мысал

Маршруттау туралы негізгі нәрселерді біріктіру.

Әдеттегі үй маршрутизаторы
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

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

  1. 0.0.0.0/0 статикалық маршрут (әдепкі маршрут)
  2. Провайдермен интерфейсте қосылған маршрут
  3. LAN интерфейсінде қосылған маршрут

PPPoE бар әдеттегі үй маршрутизаторы
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  1. Әдепкі бағытқа статикалық маршрут автоматты түрде қосылады. ол қосылым қасиеттерінде көрсетілген
  2. PPP қосылымы үшін қосылған маршрут
  3. LAN интерфейсінде қосылған маршрут

Екі провайдері және артықтығы бар әдеттегі үй маршрутизаторы
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 distance=2

  1. 1-метрикалық және шлюз қолжетімділігін тексеруі бар бірінші провайдер арқылы әдепкі бағытқа статикалық бағыт
  2. 2-метрикасы бар екінші провайдер арқылы әдепкі бағытқа статикалық маршрут
  3. Қосылған маршруттар

0.0.0.0/0 трафик осы шлюз қолжетімді болған кезде 10.10.10.1 арқылы өтеді, әйтпесе ол 10.20.20.1 нұсқасына ауысады.

Мұндай схеманы арнаны брондау деп санауға болады, бірақ ол кемшіліктерсіз емес. Егер үзіліс провайдер шлюзінен тыс орын алса (мысалы, оператор желісінде), сіздің маршрутизаторыңыз бұл туралы білмейді және маршрутты белсенді деп есептей береді.

Екі провайдері бар әдеттегі үй маршрутизаторы, резервтік және ECMP
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.10.10.1,10.20.20.1 distance=1

  1. Чак шлюзін тексеруге арналған статикалық маршруттар
  2. ECMP бағыты
  3. Қосылған маршруттар

Тексерілетін маршруттар көк (белсенді емес маршруттардың түсі), бірақ бұл тексеру шлюзіне кедергі жасамайды. RoS ағымдағы нұсқасы (6.44) ECMP маршрутына автоматты басымдық береді, бірақ басқа маршруттау кестелеріне сынақ маршруттарын қосқан дұрыс (опция). routing-mark)

Speedtest және басқа ұқсас сайттарда жылдамдықтың артуы болмайды (ECMP трафикті пакеттер бойынша емес, қосылымдар бойынша бөледі), бірақ p2p қолданбалары жылдамырақ жүктелуі керек.

Маршруттау арқылы сүзу
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1
add dst-address=192.168.200.0/24 gateway=10.30.30.1 distance=1
add dst-address=192.168.200.0/24 gateway=10.10.10.1 distance=2 type=blackhole

  1. Әдепкі бағытқа статикалық маршрут
  2. ipip туннелі арқылы 192.168.200.0/24 статикалық маршрут
  3. ISP маршрутизаторы арқылы 192.168.200.0/24 статикалық маршрутқа тыйым салу

ipip интерфейсі өшірілген кезде туннель трафигі провайдердің маршрутизаторына өтпейтін сүзгі опциясы. Мұндай схемалар сирек талап етіледі, өйткені брандмауэр арқылы блоктауды жүзеге асыруға болады.

Маршрутизация циклі
Маршруттау циклі – ttl мерзімі біткенге дейін маршрутизаторлар арасында пакет жұмыс істейтін жағдай. Әдетте бұл конфигурация қатесінің нәтижесі болып табылады, үлкен желілерде ол динамикалық маршруттау хаттамаларын енгізу арқылы өңделеді, шағында - сақтықпен.

Мынадай көрінеді:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Ұқсас нәтиже алудың мысалы (ең қарапайым):
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Маршруттау циклінің мысалы практикалық тұрғыдан қолданылмайды, бірақ ол маршрутизаторлардың көршісінің маршруттау кестесі туралы түсінігі жоқ екенін көрсетеді.

Бағыттау саясаты және қосымша маршруттау кестелері

Маршрутизатор маршрутты таңдаған кезде пакет тақырыбынан бір ғана өрісті пайдаланады (Dst. Address) – бұл негізгі маршруттау. Бастапқы мекенжай, трафик түрі (ToS), ECMP жоқ теңдестіру сияқты басқа шарттарға негізделген маршруттау Саясат негізін бағыттау (PBR) болып табылады және қосымша маршруттау кестелерін пайдаланады.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Нақтырақ маршрут маршруттау кестесіндегі негізгі маршрут таңдау ережесі болып табылады.

Әдепкі бойынша, барлық маршруттау ережелері негізгі кестеге қосылады. Әкімші қосымша маршруттау кестелерінің еркін санын жасай алады және оларға пакеттерді бағыттай алады. Әртүрлі кестелердегі ережелер бір-біріне қайшы келмейді. Егер пакет көрсетілген кестеде сәйкес ережені таппаса, ол негізгі кестеге өтеді.

Брандмауэр арқылы тарату мысалы:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  • 192.168.100.10 -> 8.8.8.8
    1. 192.168.100.10 трафик белгіленеді арқылы-isp1 в [Prerouting|Mangle]
    2. Кестедегі Маршруттау кезеңінде арқылы-isp1 8.8.8.8 жолын іздейді
    3. Маршрут табылды, трафик 10.10.10.1 шлюзіне жіберілді
  • 192.168.200.20 -> 8.8.8.8
    1. 192.168.200.20 трафик белгіленеді арқылы-isp2 в [Prerouting|Mangle]
    2. Кестедегі Маршруттау кезеңінде арқылы-isp2 8.8.8.8 жолын іздейді
    3. Маршрут табылды, трафик 10.20.20.1 шлюзіне жіберілді
  • Шлюздердің бірі (10.10.10.1 немесе 10.20.20.1) қолжетімсіз болса, пакет кестеге өтеді. басты және сол жерден қолайлы жолды іздейді

Терминология мәселелері

RouterOS жүйесінде белгілі бір терминология мәселелері бар.
Ережелермен жұмыс істегенде [IP]->[Routes] Маршрутизация кестесі көрсетілген, дегенмен жапсырмада:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

В [IP]->[Routes]->[Rule] бәрі дұрыс, кесте әрекетіндегі белгі жағдайында:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Белгілі бір маршруттау кестесіне пакетті қалай жіберуге болады

RouterOS бірнеше құралдарды ұсынады:

  • Ережелер [IP]->[Routes]->[Rules]
  • Бағыт белгілері (action=mark-routing) [IP]->[Firewall]->[Mangle]
  • VRF

Ережелер [IP]->[Route]->[Rules]
Ережелер ретімен өңделеді, егер пакет ереженің шарттарына сәйкес келсе, ол әрі қарай өтпейді.

Маршруттау ережелері тек алушы мекенжайына ғана емес, сонымен қатар пакет алынған бастапқы мекенжайға және интерфейске сүйене отырып, маршруттау мүмкіндіктерін кеңейтуге мүмкіндік береді.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Ережелер шарттар мен әрекеттен тұрады:

  • Шарттар. FIB-де пакет тексерілетін белгілердің тізімін іс жүзінде қайталаңыз, тек ToS жетіспейді.
  • Әрекеттер
    • іздеу – пакетті кестеге жіберу
    • тек кестеде іздеу - пакетті кестеде құлыптау, егер маршрут табылмаса, пакет негізгі кестеге өтпейді
    • тастау - пакетті тастау
    • қол жетімсіз - жіберуші хабарландыруы бар пакетті тастаңыз

FIB-те жергілікті процестерге трафик ережелерді айналып өтіп өңделеді [IP]->[Route]->[Rules]:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Таңбалау [IP]->[Firewall]->[Mangle]
Маршрутизация белгілері кез келген дерлік брандмауэр шарттарын қолдана отырып, пакет үшін шлюзді орнатуға мүмкіндік береді:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Іс жүзінде, өйткені олардың барлығы мағынасы жоқ, ал кейбіреулері тұрақсыз жұмыс істеуі мүмкін.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Пакетті белгілеудің екі жолы бар:

  • Дереу қойыңыз бағыттау белгісі
  • Бірінші қойыңыз байланыс белгісі, содан кейін негізделген байланыс белгісі орнату бағыттау белгісі

Желіаралық қалқандар туралы мақалада мен екінші нұсқаны жақсырақ деп жаздым. маршруттарды белгілеу жағдайында процессордағы жүктемені азайтады - бұл мүлдем дұрыс емес. Бұл таңбалау әдістері әрқашан баламалы бола бермейді және әдетте әртүрлі мәселелерді шешу үшін қолданылады.

Пайдалану мысалдары

Саясат негізін бағыттауды пайдалану мысалдарына көшейік, олар мұның бәрі не үшін қажет екенін көрсету оңайырақ.

MultiWAN және қайтарылатын шығыс (Шығыс) трафигі
MultiWAN конфигурациясындағы жалпы мәселе: Mikrotik Интернеттен тек «белсенді» провайдер арқылы қол жетімді.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Маршрутизатор сұраудың қай IP-ге келгеніне мән бермейді, жауап жасаған кезде ол маршруттау кестесінен isp1 арқылы маршрут белсенді болатын маршрутты іздейді. Әрі қарай, мұндай пакет алушыға барар жолда сүзгіден өтуі мүмкін.

Тағы бір қызықты нүкте. Ether1 интерфейсінде «қарапайым» nat көзі конфигурацияланса: /ip fi nat add out-interface=ether1 action=masquerade пакет src арқылы онлайн болады. адрес=10.10.10.100, бұл жағдайды одан да нашарлатады.

Мәселені шешудің бірнеше жолы бар, бірақ олардың кез келгені қосымша маршруттау кестелерін қажет етеді:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 check-gateway=ping distance=1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 check-gateway=ping distance=2
add dst-address=0.0.0.0/0 gateway=10.10.10.1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 routing-mark=over-isp2

Пайдаланыңыз [IP]->[Route]->[Rules]
Көрсетілген бастапқы IP мекенжайы бар пакеттер үшін пайдаланылатын маршруттау кестесін көрсетіңіз.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route rule
add src-address=10.10.10.100/32 action=lookup-only-in-table table=over-isp1
add src-address=10.20.20.200/32 action=lookup-only-in-table table=over-isp2

Сіз қолдана аласыз action=lookup, бірақ жергілікті шығыс трафик үшін бұл опция қате интерфейстегі қосылымдарды толығымен алып тастайды.

  • Жүйе Src көмегімен жауап пакетін жасайды. Мекен-жайы: 10.20.20.200
  • Маршруттау шешімі(2) қадамы тексереді [IP]->[Routes]->[Rules] және пакет маршруттау кестесіне жіберіледі артық isp2
  • Маршрутизация кестесіне сәйкес пакет ether10.20.20.1 интерфейсі арқылы 2 шлюзіне жіберілуі керек.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Бұл әдіс Mangle кестесін пайдаланудан айырмашылығы жұмыс істейтін қосылымды бақылау құралын қажет етпейді.

Пайдаланыңыз [IP]->[Firewall]->[Mangle]
Қосылым кіріс пакеттен басталады, сондықтан біз оны белгілейміз (action=mark-connection), белгіленген қосылымнан шығатын пакеттер үшін маршруттау белгісін (action=mark-routing).
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip firewall mangle
#Маркировка входящих соединений
add chain=input in-interface=ether1 connection-state=new action=mark-connection new-connection-mark=from-isp1
add chain=input in-interface=ether2 connection-state=new action=mark-connection new-connection-mark=from-isp2
#Маркировка исходящих пакетов на основе соединений
add chain=output connection-mark=from-isp1 action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=output connection-mark=from-isp2 action=mark-routing new-routing-mark=over-isp2 passthrough=no

Бір интерфейсте бірнеше ips конфигурацияланса, шартқа қосуға болады dst-address сенімді болу.

  • Пакет ether2 интерфейсіндегі қосылымды ашады. Пакет ішіне кіреді [INPUT|Mangle] ол қосылымдағы барлық пакеттерді ретінде белгілеуді айтады from-isp2
  • Жүйе Src көмегімен жауап пакетін жасайды. Мекен-жайы: 10.20.20.200
  • Routing Decision(2) сатысында маршруттау кестесіне сәйкес пакет ether10.20.20.1 интерфейсі арқылы 1 шлюзіне жіберіледі. Бұны пакеттерге кіру арқылы тексеруге болады [OUTPUT|Filter]
  • Сахнада [OUTPUT|Mangle] қосылым белгісі тексеріледі from-isp2 және пакет маршрут белгісін алады артық isp2
  • Маршруттауды реттеу(3) қадамы маршруттау белгісінің бар-жоғын тексереді және оны сәйкес маршруттау кестесіне жібереді.
  • Маршрутизация кестесіне сәйкес пакет ether10.20.20.1 интерфейсі арқылы 2 шлюзіне жіберілуі керек.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

MultiWAN және қайтарылатын dst-nat трафигі

Мысал күрделірек, егер жеке ішкі желіде маршрутизатордың артында сервер (мысалы, веб) болса және оған кез келген провайдер арқылы қол жеткізуді қамтамасыз ету қажет болса, не істеу керек.

/ip firewall nat
add chain=dstnat proto=tcp dst-port=80,443 in-interface=ether1 action=dst-nat to-address=192.168.100.100
add chain=dstnat proto=tcp dst-port=80,443 in-interface=ether2 action=dst-nat to-address=192.168.100.100

Мәселенің мәні бірдей болады, шешімі Firewall Mangle опциясына ұқсас, тек басқа тізбектер пайдаланылады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip firewall mangle
add chain=prerouting connection-state=new in-interface=ether1 protocol=tcp dst-port=80,443 action=mark-connection new-connection-mark=web-input-isp1
add chain=prerouting connection-state=new in-interface=ether2 protocol=tcp dst-port=80,443 action=mark-connection new-connection-mark=web-input-isp2
add chain=prerouting connection-mark=web-input-isp1 in-interface=ether3 action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=prerouting connection-mark=web-input-isp2 in-interface=ether3 action=mark-routing new-routing-mark=over-isp2 passthrough=no

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері
Диаграмма NAT көрсетпейді, бірақ менің ойымша, бәрі түсінікті.

MultiWAN және шығыс қосылымдары

Әр түрлі маршрутизатор интерфейстерінен бірнеше vpn (мысалдағы SSTP) қосылымдарын жасау үшін PBR мүмкіндіктерін пайдалануға болады.

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Қосымша маршруттау кестелері:

/ip route
add dst-address=0.0.0.0/0 gateway=192.168.100.1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=192.168.200.1 routing-mark=over-isp2
add dst-address=0.0.0.0/0 gateway=192.168.0.1 routing-mark=over-isp3

add dst-address=0.0.0.0/0 gateway=192.168.100.1 distance=1
add dst-address=0.0.0.0/0 gateway=192.168.200.1 distance=2
add dst-address=0.0.0.0/0 gateway=192.168.0.1 distance=3

Пакет белгілері:

/ip firewall mangle
add chain=output dst-address=10.10.10.100 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp1 passtrough=no
add chain=output dst-address=10.10.10.101 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp2 passtrough=no
add chain=output dst-address=10.10.10.102 proto=tcp dst-port=443 action=mark-routing new-routing-mark=over-isp3 passtrough=no

Қарапайым NAT ережелері, әйтпесе пакет қате Src интерфейсімен кетеді. мекенжайы:

/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade
add chain=srcnat out-interface=ether2 action=masquerade
add chain=srcnat out-interface=ether3 action=masquerade

Талдау:

  • Маршрутизатор үш SSTP процесін жасайды
  • Маршруттау шешімі (2) кезеңінде негізгі маршруттау кестесі негізінде осы процестер үшін маршрут таңдалады. Сол маршруттан пакет Src алады. Мекенжай ether1 интерфейсіне байланысты
  • В [Output|Mangle] әртүрлі қосылымдардың пакеттері әртүрлі белгілерді алады
  • Пакеттер Маршруттауды реттеу сатысында белгілерге сәйкес кестелерге кіреді және пакеттерді жіберу үшін жаңа маршрутты алады.
  • Бірақ пакеттерде әлі де Src бар. Эфир1 мекенжайы, сахнада [Nat|Srcnat] мекенжай интерфейске сәйкес ауыстырылады

Бір қызығы, маршрутизаторда келесі қосылым кестесін көресіз:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Connection Tracker ертерек жұмыс істейді [Mangle] и [Srcnat], сондықтан барлық қосылымдар бір мекенжайдан келеді, егер толығырақ қарасаңыз, онда Replay Dst. Address NAT-тан кейін адрестер болады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

VPN серверінде (менде сынақ үстелінде бар) барлық қосылымдар дұрыс мекенжайлардан келетінін көре аласыз:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Күте тұрыңыз
Оңай жолы бар, сіз жай ғана мекенжайлардың әрқайсысы үшін арнайы шлюзді көрсете аласыз:

/ip route
add dst-address=10.10.10.100 gateway=192.168.100.1
add dst-address=10.10.10.101 gateway=192.168.200.1
add dst-address=10.10.10.102 gateway=192.168.0.1

Бірақ мұндай бағыттар тек шығыс қана емес, транзиттік тасымалдауға да әсер етеді. Сонымен қатар, сәйкес емес байланыс арналары арқылы өту үшін vpn серверіне трафик қажет болмаса, онда сізге тағы 6 ереже қосу керек болады. [IP]->[Routes]с type=blackhole. Алдыңғы нұсқада - 3 ереже [IP]->[Route]->[Rules].

Байланыс арналары бойынша пайдаланушы қосылымдарын бөлу

Қарапайым, күнделікті тапсырмалар. Тағы да қосымша маршруттау кестелері қажет болады:

/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=2 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=1 routing-mark=over-isp2

Пайдалану [IP]->[Route]->[Rules]
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route rules
add src-address=192.168.100.0/25 action=lookup-only-in-table table=over-isp1
add src-address=192.168.100.128/25 action=lookup-only-in-table table=over-isp2

Егер қолданылса action=lookup, содан кейін арналардың бірі өшірілгенде, трафик негізгі кестеге өтіп, жұмыс арнасы арқылы өтеді. Бұл қажет пе, жоқ па, бұл тапсырмаға байланысты.

Белгілерді пайдалану [IP]->[Firewall]->[Mangle]
IP мекенжайларының тізімдері бар қарапайым мысал. Негізінде кез келген дерлік шарттарды қолдануға болады. 7-қабаттың жалғыз ескертуі, тіпті қосылым белгілерімен жұптастырылған кезде де, бәрі дұрыс жұмыс істеп тұрған сияқты көрінуі мүмкін, бірақ трафиктің бір бөлігі әлі де дұрыс емес жолмен жүреді.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip firewall mangle
add chain=prerouting src-address-list=users-over-isp1 dst-address-type=!local action=mark-routing new-routing-mark=over-isp1
add chain=prerouting src-address-list=users-over-isp2 dst-address-type=!local action=mark-routing new-routing-mark=over-isp2

Пайдаланушыларды бір маршруттау кестесінде «құлыптауға» болады [IP]->[Route]->[Rules]:

/ip route rules
add routing-mark=over-isp1 action=lookup-only-in-table table=over-isp1
add routing-mark=over-isp2 action=lookup-only-in-table table=over-isp2

Немесе арқылы [IP]->[Firewall]->[Filter]:

/ip firewall filter
add chain=forward routing-mark=over-isp1 out-interface=!ether1 action=reject
add chain=forward routing-mark=over-isp2 out-interface=!ether2 action=reject

Retreat про dst-address-type=!local
Қосымша шарт dst-address-type=!local пайдаланушылардан трафик маршрутизатордың жергілікті процестеріне (dns, winbox, ssh, ...) жетуі керек. Маршрутизаторға бірнеше жергілікті ішкі желілер қосылған болса, олардың арасындағы трафик Интернетке өтпеуін қамтамасыз ету қажет, мысалы, dst-address-table.

Мысалда пайдалану [IP]->[Route]->[Rules] мұндай ерекшеліктер жоқ, бірақ трафик жергілікті процестерге жетеді. Өйткені, FIB пакетіне кіру белгіленген [PREROUTING|Mangle] маршрут белгісі бар және жергілікті интерфейс жоқ негізгіден басқа маршруттау кестесіне кіреді. Маршрутизация ережелері жағдайында алдымен пакеттің жергілікті процеске арналғаны тексеріледі және тек Пайдаланушы PBR сатысында ол көрсетілген маршруттау кестесіне өтеді.

Пайдалану [IP]->[Firewall]->[Mangle action=route]
Бұл әрекет тек ішінде жұмыс істейді [Prerouting|Mangle] және шлюз мекенжайын тікелей көрсету арқылы қосымша маршруттау кестелерін пайдаланбай трафикті көрсетілген шлюзге бағыттауға мүмкіндік береді:

/ip firewall mangle
add chain=prerouting src-address=192.168.100.0/25 action=route gateway=10.10.10.1
add chain=prerouting src-address=192.168.128.0/25 action=route gateway=10.20.20.1

әсер route маршруттау ережелеріне қарағанда басымдылығы төмен ([IP]->[Route]->[Rules]). Маршрут белгілері жағдайында бәрі ережелердің орнына байланысты, егер ереже бар болса action=route қарағанда құнды action=mark-route, содан кейін ол пайдаланылады (жалаушаға қарамастан passtrough), әйтпесе маршрутты белгілеу.
Викиде бұл әрекет туралы ақпарат өте аз және барлық қорытындылар эксперименталды түрде алынған, кез келген жағдайда бұл опцияны пайдалану басқаларға қарағанда артықшылықтар беретін опцияларды таппадым.

PPC негізіндегі динамикалық теңгерімдеу

Per Connection классификаторы - ECMP аналогы неғұрлым икемді. ECMP-тен айырмашылығы, ол трафикті қосылымдар бойынша қатаңырақ бөледі (ECMP қосылымдар туралы ештеңе білмейді, бірақ Routing Cache-мен жұптастырылған кезде ұқсас нәрсе алынады).

PCC алады көрсетілген өрістер ip тақырыбынан оларды 32 биттік мәнге түрлендіреді және келесіге бөледі бөлгіш. Бөлімнің қалған бөлігі көрсетілгенмен салыстырылады қалдық және егер олар сәйкес келсе, онда көрсетілген әрекет қолданылады. көбірек. Ақылсыз естіледі, бірақ ол жұмыс істейді.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Үш мекенжайы бар мысал:

192.168.100.10: 192+168+100+10 = 470 % 3 = 2
192.168.100.11: 192+168+100+11 = 471 % 3 = 0
192.168.100.12: 192+168+100+12 = 472 % 3 = 1

Үш арна арасында src.address бойынша трафикті динамикалық бөлу мысалы:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

#Таблица маршрутизации
/ip route
add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.30.30.1 dist=3 check-gateway=ping

add dst-address=0.0.0.0/0 gateway=10.10.10.1 dist=1 routing-mark=over-isp1
add dst-address=0.0.0.0/0 gateway=10.20.20.1 dist=1 routing-mark=over-isp2
add dst-address=0.0.0.0/0 gateway=10.30.30.1 dist=1 routing-mark=over-isp3

#Маркировка соединений и маршрутов
/ip firewall mangle
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/0 action=mark-connection new-connection-mark=conn-over-isp1
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/1 action=mark-connection new-connection-mark=conn-over-isp2
add chain=prerouting in-interface=br-lan dst-address-type=!local connection-state=new per-connection-classifier=src-address:3/2 action=mark-connection new-connection-mark=conn-over-isp3

add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp1 action=mark-routing new-routing-mark=over-isp1
add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp2 action=mark-routing new-routing-mark=over-isp2
add chain=prerouting in-interface=br-lan connection-mark=conn-over-isp3 action=mark-routing new-routing-mark=over-isp3

Маршруттарды белгілеу кезінде қосымша шарт бар: in-interface=br-lan, астында онсыз action=mark-routing Интернеттен жауап трафик алады және маршруттау кестелеріне сәйкес провайдерге қайта оралады.

Байланыс арналарын ауыстыру

Check ping - бұл жақсы құрал, бірақ ол тек ең жақын IP теңімен қосылымды тексереді, провайдер желілері әдетте маршрутизаторлардың үлкен санынан тұрады және байланыс үзілуі ең жақын құрдастың сыртында орын алуы мүмкін, содан кейін магистральдық байланыс операторлары да бар. проблемалар бар, жалпы тексеру пингі жаһандық желіге кіру туралы жаңартылған ақпаратты әрдайым көрсетпейді.
Егер провайдерлер мен ірі корпорацияларда BGP динамикалық маршруттау протоколы болса, үй және кеңсе пайдаланушылары белгілі бір байланыс арнасы арқылы Интернетке кіруді қалай тексеруге болатынын дербес анықтауы керек.

Әдетте, белгілі бір байланыс арнасы арқылы сенімді нәрсені таңдай отырып, Интернетте IP мекенжайының бар-жоғын тексеретін сценарийлер пайдаланылады, мысалы, google dns: 8.8.8.8. 8.8.4.4. Бірақ Mikrotik қауымдастығында бұл үшін қызықты құрал бейімделген.

Рекурсивті маршруттау туралы бірнеше сөз
Рекурсивті маршруттау Multihop BGP пирингін құру кезінде қажет және статикалық маршруттау негіздері туралы мақалаға тек айлакер MikroTik пайдаланушыларының арқасында қосылды, олар байланыс арналарын қосымша сценарийлерсіз ауыстыру үшін тексеру шлюзімен жұптастырылған рекурсивті маршруттарды қалай пайдалану керектігін түсінді.

Жалпы мағынада аумақты/мақсатты ауқым опцияларын және маршруттың интерфейске қалай байланыстырылғанын түсіну уақыты келді:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  1. Бағыт ауқым мәніне және негізгі кестедегі мақсатты ауқым мәндерінен аз немесе тең барлық жазбаларға негізделген пакетті жіберу үшін интерфейсті іздейді.
  2. Табылған интерфейстерден пакетті көрсетілген шлюзге жіберуге болатын интерфейс таңдалады
  3. Табылған қосылған жазбаның интерфейсі пакетті шлюзге жіберу үшін таңдалады

Рекурсивті маршрут болған кезде бәрі бірдей болады, бірақ екі кезеңде:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

  • 1-3 Қосылған маршруттарға тағы бір маршрут қосылды, ол арқылы көрсетілген шлюзге жетуге болады
  • 4-6 «Аралық» шлюз үшін қосылған маршрутты табу

Рекурсивті іздеумен барлық манипуляциялар RIB-де орын алады және тек соңғы нәтиже FIB-ге беріледі: 0.0.0.0/0 via 10.10.10.1 on ether1.

Бағыттарды ауыстыру үшін рекурсивті маршруттауды пайдалану мысалы
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Конфигурация:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route
add dst-address=0.0.0.0/0 gateway=8.8.8.8 check-gateway=ping distance=1 target-scope=10
add dst-address=8.8.8.8 gateway=10.10.10.1 scope=10
add dst-address=0.0.0.0/0 gateway=10.20.20.1 distance=2

Пакеттердің 10.10.10.1 жіберілетінін тексеруге болады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Тексеру шлюзі рекурсивті маршруттау туралы ештеңе білмейді және жай ғана 8.8.8.8 пингтерін жібереді, ол (негізгі кесте негізінде) 10.10.10.1 шлюзі арқылы қол жетімді.

10.10.10.1 және 8.8.8.8 арасындағы байланысты жоғалту болса, онда маршрут ажыратылады, бірақ 8.8.8.8 дейінгі пакеттер (сынақ пингтерін қоса) 10.10.10.1 арқылы өтуді жалғастырады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Ether1 сілтемесі жоғалса, 8.8.8.8-ге дейінгі пакеттер екінші провайдер арқылы өткенде жағымсыз жағдай орын алады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

8.8.8.8 қол жетімді болмаған кезде сценарийлерді іске қосу үшін NetWatch қолданбасын пайдалансаңыз, бұл мәселе. Егер сілтеме бұзылса, NetWatch сақтық көшірме байланыс арнасы арқылы жұмыс істейді және бәрі жақсы деп есептейді. Қосымша сүзгі жолын қосу арқылы шешілді:

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

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Хабреде бар мақала, мұнда NetWatch-пен жағдай толығырақ қарастырылады.

Иә, мұндай резервтеуді пайдаланған кезде 8.8.8.8 мекенжайы провайдерлердің біріне жалғанатын болады, сондықтан оны DNS көзі ретінде таңдау жақсы идея емес.

Виртуалды бағыттау және бағыттау (VRF) туралы бірнеше сөз

VRF технологиясы бір физикалық бірінде бірнеше виртуалды маршрутизаторларды жасауға арналған, бұл технологияны байланыс операторлары (әдетте MPLS-пен бірге) ішкі желі мекенжайлары қабаттасатын клиенттерге L3VPN қызметтерін ұсыну үшін кеңінен пайдаланады:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Бірақ Mikrotik-тегі VRF маршруттау кестелері негізінде ұйымдастырылған және бірқатар кемшіліктері бар, мысалы, маршрутизатордың жергілікті IP мекенжайлары барлық VRF-де қол жетімді, сіз толығырақ оқи аласыз. байланыс.

vrf конфигурациясының мысалы:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route vrf
add interfaces=ether1 routing-mark=vrf1
add interfaces=ether2 routing-mark=vrf2

/ip address
add address=192.168.100.1/24 interface=ether1 network=192.168.100.0
add address=192.168.200.1/24 interface=ether2 network=192.168.200.0

Ether2-ге қосылған құрылғыдан біз пинг басқа vrf-тен маршрутизатордың мекенжайына өтетінін көреміз (және бұл мәселе), ал ping Интернетке өтпейді:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Интернетке кіру үшін негізгі кестеге кіретін қосымша маршрутты тіркеу керек (vrf терминологиясында бұл маршруттың ағып кетуі деп аталады):
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip route
add distance=1 gateway=172.17.0.1@main routing-mark=vrf1
add distance=1 gateway=172.17.0.1%wlan1 routing-mark=vrf2

Маршрутты ағып кетудің екі жолы бар: маршруттау кестесін пайдалану: 172.17.0.1@main және интерфейс атауын пайдалану: 172.17.0.1%wlan1.

Және кері кіретін трафик үшін таңбалауды орнатыңыз [PREROUTING|Mangle]:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

/ip firewall mangle
add chain=prerouting in-interface=ether1 action=mark-connection new-connection-mark=from-vrf1 passthrough=no
add chain=prerouting connection-mark=from-vrf1 routing-mark=!vrf1 action=mark-routing new-routing-mark=vrf1 passthrough=no 
add chain=prerouting in-interface=ether2 action=mark-connection new-connection-mark=from-vrf2 passthrough=no
add chain=prerouting connection-mark=from-vrf2 routing-mark=!vrf1 action=mark-routing new-routing-mark=vrf2 passthrough=no 

Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Бір мекенжайы бар ішкі желілер
VRF және netmap көмегімен бір маршрутизаторда бірдей адресті ішкі желілерге қол жеткізуді ұйымдастыру:
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Негізгі конфигурация:

/ip route vrf
add interfaces=ether1 routing-mark=vrf1
add interfaces=ether2 routing-mark=vrf2

/ip address
add address=192.168.100.1/24 interface=ether1 network=192.168.100.0
add address=192.168.100.1/24 interface=ether2 network=192.168.100.0
add address=192.168.0.1/24 interface=ether3 network=192.168.0.0

брандмауэр ережелері:

#Маркируем пакеты для отправки в правильную таблицу маршрутизации
/ip firewall mangle
add chain=prerouting dst-address=192.168.101.0/24 in-interface=ether3 action=mark-routing new-routing-mark=vrf1 passthrough=no
add chain=prerouting dst-address=192.168.102.0/24 in-interface=ether3 action=mark-routing new-routing-mark=vrf2 passthrough=no

#Средствами netmap заменяем адреса "эфимерных" подсетей на реальные подсети
/ip firewall nat
add chain=dstnat dst-address=192.168.101.0/24 in-interface=ether3 action=netmap to-addresses=192.168.100.0/24
add chain=dstnat dst-address=192.168.102.0/24 in-interface=ether3 action=netmap to-addresses=192.168.100.0/24

Кері трафикті маршруттау ережелері:

#Указание имени интерфейса тоже может считаться route leaking, но по сути тут создается аналог connected маршрута
/ip route
add distance=1 dst-address=192.168.0.0/24 gateway=ether3 routing-mark=vrf1
add distance=1 dst-address=192.168.0.0/24 gateway=ether3 routing-mark=vrf2

dhcp арқылы алынған маршруттарды берілген маршруттау кестесіне қосу
Белгілі бір маршруттау кестесіне динамикалық маршрутты (мысалы, dhcp клиентінен) автоматты түрде қосу қажет болса, VRF қызықты болуы мүмкін.

vrf интерфейсіне қосу:

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

Кесте арқылы трафикті (шығыс және транзиттік) жіберу ережелері артық isp1:

/ip firewall mangle
add chain=output out-interface=!br-lan action=mark-routing new-routing-mark=over-isp1 passthrough=no
add chain=prerouting in-interface=br-lan dst-address-type=!local action=mark-routing new-routing-mark=over-isp1 passthrough=no

Жұмыс істеу үшін шығыс бағыттаудың қосымша, жалған бағыты:

/interface bridge
add name=bare

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

Бұл маршрут тек жергілікті шығыс пакеттер Маршруттау шешімінен (2) бұрын өтуі үшін қажет [OUTPUT|Mangle] және маршруттау белгісін алыңыз, егер негізгі кестеде 0.0.0.0/0 дейін маршрутизаторда басқа белсенді маршруттар болса, бұл қажет емес.
Mikrotik RouterOS жүйесіндегі статикалық маршруттау негіздері

Желілер connected-in и dynamic-in в [Routing] -> [Filters]

Маршрутты сүзгілеу (кіретін және шығыс) әдетте динамикалық маршруттау протоколдарымен бірге пайдаланылатын құрал (сондықтан пакетті орнатқаннан кейін ғана қолжетімді болады) бағыттау), бірақ кіріс сүзгілерінде екі қызықты тізбек бар:

  • қосылған — қосылған маршруттарды сүзу
  • dynamic-in - PPP және DCHP қабылдайтын динамикалық маршруттарды сүзу

Сүзгілеу маршруттарды алып тастауға ғана емес, сонымен қатар бірқатар опцияларды өзгертуге мүмкіндік береді: қашықтық, бағыттау белгісі, түсініктеме, ауқым, мақсатты аумақ, ...

Бұл өте дәл құрал және егер сіз маршруттау сүзгілерінсіз (бірақ сценарийлер емес) бірдеңе жасай алсаңыз, маршруттау сүзгілерін пайдаланбаңыз, өзіңізді және сізден кейін маршрутизаторды конфигурациялайтындарды шатастырмаңыз. Динамикалық маршруттау контекстінде Маршруттау сүзгілері әлдеқайда жиі және өнімдірек пайдаланылады.

Динамикалық бағыттар үшін маршруттау белгісін орнату
Үй маршрутизаторынан мысал. Менде екі VPN қосылымы конфигурацияланған және олардағы трафик маршруттау кестелеріне сәйкес оралуы керек. Сонымен қатар, интерфейс іске қосылған кезде маршруттардың автоматты түрде жасалуын қалаймын:

#При создании vpn подключений указываем создание default route и задаем дистанцию
/interface pptp-client
add connect-to=X.X.X.X add-default-route=yes default-route-distance=101 ...
add connect-to=Y.Y.Y.Y  add-default-route=yes default-route-distance=100 ...

#Фильтрами отправляем маршруты в определенные таблицы маршрутизации на основе подсети назначения и дистанции
/routing filter
add chain=dynamic-in distance=100 prefix=0.0.0.0/0 action=passthrough set-routing-mark=over-vpn1
add chain=dynamic-in distance=101 prefix=0.0.0.0/0 action=passthrough set-routing-mark=over-vpn2

Неге екенін білмеймін, қате болуы мүмкін, бірақ егер сіз ppp интерфейсі үшін vrf жасасаңыз, 0.0.0.0/0 маршруты әлі де негізгі кестеге түседі. Әйтпесе, бәрі оңайырақ болар еді.

Қосылған маршруттарды өшіру
Кейде бұл қажет:

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

Түзету құралдары

RouterOS маршруттауды түзету үшін бірқатар құралдарды ұсынады:

  • [Tool]->[Tourch] - интерфейстерде пакеттерді көруге мүмкіндік береді
  • /ip route check - пакеттің қай шлюзге жіберілетінін көруге мүмкіндік береді, маршруттау кестелерімен жұмыс істемейді
  • /ping routing-table=<name> и /tool traceroute routing-table=<name> - көрсетілген маршруттау кестесін пайдаланып пинг және бақылау
  • action=log в [IP]->[Firewall] - пакеттің ағыны бойынша пакеттің жолын қадағалауға мүмкіндік беретін тамаша құрал, бұл әрекет барлық тізбектер мен кестелерде қол жетімді

Ақпарат көзі: www.habr.com

пікір қалдыру