Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Marşrutlaşdırma TCP/IP şəbəkələri üzərindən paketlərin ötürülməsi üçün ən yaxşı yolun tapılması prosesidir. IPv4 şəbəkəsinə qoşulmuş istənilən cihaz proses və marşrut cədvəllərini ehtiva edir.

Bu məqalə NECƏ deyil, RouterOS-da statik marşrutlaşdırmanı misallarla təsvir edir, mən qəsdən qalan parametrləri buraxdım (məsələn, İnternetə daxil olmaq üçün srcnat), ona görə də materialı başa düşmək şəbəkələr və RouterOS haqqında müəyyən səviyyədə bilik tələb edir.

Kommutasiya və marşrutlaşdırma

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Kommutasiya bir Layer2 seqmentində (Ethernet, ppp, ...) paketlərin mübadiləsi prosesidir. Cihaz paketin alıcısının onunla eyni Ethernet alt şəbəkəsində olduğunu görsə, arp protokolundan istifadə edərək mac ünvanını öyrənir və marşrutlaşdırıcıdan yan keçərək paketi birbaşa ötürür. Ppp (nöqtədən nöqtəyə) əlaqədə yalnız iki iştirakçı ola bilər və paket həmişə bir ünvana göndərilir 0xff.

Marşrutlaşdırma Layer2 seqmentləri arasında paketlərin ötürülməsi prosesidir. Əgər cihaz alıcısı Ethernet seqmentindən kənarda olan paketi göndərmək istəyirsə, o, öz marşrutlaşdırma cədvəlinə baxır və paketi daha sonra hara göndərəcəyini bilən (və ya paketin orijinal göndəricisini bilməyən) şlüzə ötürür. bundan xəbəri yoxdur).

Router haqqında düşünməyin ən asan yolu, iki və ya daha çox Layer2 seqmentinə qoşulmuş və marşrutlaşdırma cədvəlindən ən yaxşı marşrutu müəyyən edərək, onların arasında paketləri ötürə bilən bir cihazdır.

Hər şeyi başa düşürsənsə və ya artıq bilirsənsə, oxumağa davam et. Qalanları üçün kiçik, lakin çox tutumlu ilə tanış olmağı tövsiyə edirəm məqalə.

RouterOS və PacketFlow-da marşrutlaşdırma

Statik marşrutlaşdırma ilə bağlı demək olar ki, bütün funksionallıq paketdə var sistem. Plastik torba marşrutlaşdırma dinamik marşrutlaşdırma alqoritmləri (RIP, OSPF, BGP, MME), marşrutlaşdırma filtrləri və BFD üçün dəstək əlavə edir.

Marşrutlaşdırmanın qurulması üçün əsas menyu: [IP]->[Route]. Mürəkkəb sxemlər paketlərin marşrut işarəsi ilə əvvəlcədən etiketlənməsini tələb edə bilər: [IP]->[Firewall]->[Mangle] (zəncirlər PREROUTING и OUTPUT).

PacketFlow-da IP paket marşrutlaşdırma qərarlarının verildiyi üç yer var:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  1. Router tərəfindən qəbul edilən marşrutlaşdırma paketləri. Bu mərhələdə paketin lokal prosesə keçəcəyi və ya daha sonra şəbəkəyə göndəriləcəyi qərara alınır. Tranzit paketləri qəbul edir Çıxış Interface
  2. Yerli gedən paketlərin yönləndirilməsi. Gedən paketlər qəbul edilir Çıxış Interface
  3. Gedən paketlər üçün əlavə marşrutlaşdırma addımı, marşrutlaşdırma qərarını dəyişdirməyə imkan verir [Output|Mangle]

  • 1, 2-ci bloklardakı paket yolu qaydalardan asılıdır [IP]->[Route]
  • 1, 2 və 3-cü bəndlərdəki paket yolu bənddəki qaydalardan asılıdır [IP]->[Route]->[Rules]
  • 1, 3-cü bloklardakı paket yolu istifadə edərək təsirlənə bilər [IP]->[Firewall]->[Mangle]

RIB, FIB, Routing Cache

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Marşrut məlumat bazası
Dinamik marşrutlaşdırma protokollarından, ppp və dhcp-dən marşrutlardan, statik və əlaqəli marşrutlardan marşrutların toplandığı baza. Bu verilənlər bazası administrator tərəfindən süzülənlərdən başqa bütün marşrutları ehtiva edir.

Şərti olaraq, bunu güman edə bilərik [IP]->[Route] RIB göstərir.

Yönləndirmə məlumat bazası
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

RIB-dən ən yaxşı marşrutların toplandığı baza. FIB-dəki bütün marşrutlar aktivdir və paketləri yönləndirmək üçün istifadə olunur. Marşrut qeyri-aktiv olarsa (inzibatçı (sistem) tərəfindən söndürülürsə və ya paketin göndərilməli olduğu interfeys aktiv deyilsə), marşrut FIB-dən silinir.

Marşrutlaşdırma qərarı vermək üçün FIB cədvəli IP paketi haqqında aşağıdakı məlumatlardan istifadə edir:

  • Mənbə ünvanı
  • Təyinat ünvanı
  • mənbə interfeysi
  • Marşrut nişanı
  • ToS (DSCP)

FIB paketinə daxil olmaq aşağıdakı mərhələlərdən keçir:

  • Paket yerli marşrutlaşdırıcı prosesi üçün nəzərdə tutulub?
  • Paket sistem və ya istifadəçi PBR qaydalarına tabedirmi?
    • Əgər belədirsə, o zaman paket müəyyən edilmiş marşrutlaşdırma cədvəlinə göndərilir
  • Paket əsas cədvələ göndərilir

Şərti olaraq, bunu güman edə bilərik [IP]->[Route Active=yes] FIB göstərir.

Marşrutlama Keşi
Marşrut keşləmə mexanizmi. Router paketlərin hara göndərildiyini xatırlayır və oxşarları varsa (ehtimal ki, eyni əlaqədən) FIB-də yoxlamadan onlara eyni marşrutla getməyə imkan verir. Marşrut keşi vaxtaşırı təmizlənir.

RouterOS administratorları üçün onlar Marşrutlaşdırma Keşinə baxmaq və idarə etmək üçün alətlər yaratmadılar, lakin onu söndürmək mümkün olduqda. [IP]->[Settings].

Bu mexanizm linux 3.6 nüvəsindən çıxarıldı, lakin RouterOS hələ də kernel 3.3.5-dən istifadə edir, bəlkə də Routing cahce səbəblərdən biridir.

Marşrut dialoqu əlavə edin

[IP]->[Route]->[+]
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  1. Marşrut yaratmaq istədiyiniz alt şəbəkə (defolt: 0.0.0.0/0)
  2. Paketin göndəriləcəyi Gateway IP və ya interfeys (bir neçə ola bilər, aşağıda ECMP-yə baxın)
  3. Gateway mövcudluğunun yoxlanılması
  4. Qeyd növü
  5. Marşrut üçün məsafə (metrik).
  6. Marşrut cədvəli
  7. Bu marşrut vasitəsilə yerli gedən paketlər üçün IP
  8. Əhatə dairəsinin məqsədi və Hədəf Scope məqalənin sonunda yazılmışdır.

Marşrut bayraqları
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  • X - Marşrut administrator tərəfindən deaktiv edilib (disabled=yes)
  • A - marşrut paketləri göndərmək üçün istifadə olunur
  • D - Marşrut dinamik olaraq əlavə edildi (BGP, OSPF, RIP, MME, PPP, DHCP, Qoşulmuş)
  • C - Alt şəbəkə birbaşa marşrutlaşdırıcıya qoşulur
  • S - Statik marşrut
  • r,b,o,m - Dinamik marşrutlaşdırma protokollarından biri tərəfindən əlavə edilən marşrut
  • B,U,P - Filtrləmə marşrutu (ötürmək əvəzinə paketləri buraxır)

Şlüzdə nəyi təyin etmək lazımdır: ip-ünvan və ya interfeys?

Sistem hər ikisini təyin etməyə imkan verir, eyni zamanda and içmir və səhv bir şey etmisinizsə, göstərişlər vermir.

IP ünvanı
Şlüz ünvanı Layer2 üzərindən əlçatan olmalıdır. Ethernet üçün bu o deməkdir ki, marşrutlaşdırıcının aktiv ip interfeyslərindən birində eyni alt şəbəkədən ünvanı olmalıdır, ppp üçün, şlüz ünvanı alt şəbəkə ünvanı kimi aktiv interfeyslərdən birində göstərilmişdir.
Layer2 üçün əlçatanlıq şərti yerinə yetirilməzsə, marşrut qeyri-aktiv hesab olunur və FIB-ə düşmür.

interface
Hər şey daha mürəkkəbdir və marşrutlaşdırıcının davranışı interfeys növündən asılıdır:

  • PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN *) əlaqəsi yalnız iki iştirakçını nəzərdə tutur və paket həmişə ötürülmə üçün şlüzə göndəriləcək, əgər şluz alıcının özü olduğunu aşkar edərsə, paketi digərinə köçürür. onun yerli prosesi.
    Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları
  • Ethernet çoxlu iştirakçıların olmasını nəzərdə tutur və paketin alıcısının ünvanı ilə arp interfeysinə sorğular göndərəcək, bu, gözlənilən və bağlı marşrutlar üçün olduqca normal davranışdır.
    Ancaq interfeysdən uzaq alt şəbəkə üçün marşrut kimi istifadə etməyə çalışdığınız zaman aşağıdakı vəziyyəti alacaqsınız: marşrut aktivdir, şlüzə ping keçir, lakin göstərilən alt şəbəkədən alıcıya çatmır. Sniffer vasitəsilə interfeysə baxsanız, uzaq alt şəbəkədən ünvanları olan arp sorğularını görəcəksiniz.
    Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Mümkün olduqda IP ünvanını şluz kimi göstərməyə çalışın. İstisna qoşulmuş marşrutlar (avtomatik yaradılmış) və PPP (Async, PPTP, L2TP, SSTP, PPPoE, OpenVPN*) interfeysləridir.

OpenVPN-də PPP başlığı yoxdur, lakin siz marşrut yaratmaq üçün OpenVPN interfeys adından istifadə edə bilərsiniz.

Daha Xüsusi Marşrut

Əsas marşrutlaşdırma qaydası. Kiçik alt şəbəkəni (ən böyük alt şəbəkə maskası ilə) təsvir edən marşrut paketin marşrutlaşdırma qərarında üstünlük təşkil edir. Marşrutlaşdırma cədvəlindəki qeydlərin mövqeyi seçimə uyğun deyil - əsas qayda Daha Xüsusidir.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Göstərilən sxemdən bütün marşrutlar aktivdir (FIB-də yerləşir). müxtəlif alt şəbəkələrə işarə edir və bir-biri ilə ziddiyyət təşkil etmir.

Şlüzlərdən biri əlçatmaz olarsa, əlaqəli marşrut qeyri-aktiv hesab ediləcək (FIB-dən silinəcək) və qalan marşrutlardan paketlər axtarılacaq.

0.0.0.0/0 alt şəbəkəsi olan marşruta bəzən xüsusi məna verilir və “Defolt Marşrut” və ya “Son müraciət qapısı” adlanır. Əslində, bunda sehrli heç nə yoxdur və o, sadəcə olaraq bütün mümkün IPv4 ünvanlarını ehtiva edir, lakin bu adlar onun vəzifəsini yaxşı təsvir edir - bu, başqa, daha dəqiq marşrutlar olmayan paketlərin hara yönləndiriləcəyi şlüzünü göstərir.

IPv4 üçün maksimum mümkün alt şəbəkə maskası /32-dir, bu marşrut xüsusi hosta işarə edir və marşrutlaşdırma cədvəlində istifadə edilə bilər.

Daha Xüsusi Marşrutu Anlamaq istənilən TCP/IP cihazı üçün əsasdır.

Ünvan

Məsafələr (və ya Metriklər) çoxsaylı şlüzlər vasitəsilə əldə edilə bilən tək alt şəbəkəyə marşrutların inzibati filtrasiyası üçün tələb olunur. Daha aşağı göstəriciyə malik marşrut prioritet hesab edilir və FIB-ə daxil ediləcək. Daha aşağı metrik olan marşrut aktiv olmağı dayandırarsa, o zaman FIB-də daha yüksək metrik olan marşrutla əvəz olunacaq.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Eyni metrik ilə eyni alt şəbəkəyə bir neçə marşrut varsa, marşrutlaşdırıcı daxili məntiqini rəhbər tutaraq onlardan yalnız birini FIB cədvəlinə əlavə edəcəkdir.

Metrik 0-dan 255-ə qədər qiymət ala bilər:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  • 0 - Qoşulmuş marşrutlar üçün metrik. 0 məsafəsi administrator tərəfindən təyin edilə bilməz
  • 1-254 - Marşrutları təyin etmək üçün idarəçi üçün mövcud olan ölçülər. Daha aşağı dəyəri olan göstəricilər daha yüksək prioritetə ​​malikdir
  • 255 - Metrik marşrutları təyin etmək üçün idarəçi üçün əlçatandır. 1-254-dən fərqli olaraq, metrik 255 olan marşrut həmişə qeyri-aktiv qalır və FIB-ə düşmür.
  • xüsusi ölçülər. Dinamik marşrutlaşdırma protokollarından əldə edilən marşrutlar standart metrik dəyərlərə malikdir

şluzunu yoxlayın

Check Gateway icmp və ya arp vasitəsilə şlüzün mövcudluğunu yoxlamaq üçün MikroTik RoutesOS uzantısıdır. Hər 10 saniyədə bir dəfə (dəyişdirilə bilməz) şlüzə sorğu göndərilir, iki dəfə cavab alınmazsa, marşrut əlçatmaz sayılır və FIB-dən silinir. Yoxlama şluzunu söndürübsə, yoxlama marşrutu davam edir və bir uğurlu yoxlamadan sonra marşrut yenidən aktivləşəcək.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Check gateway konfiqurasiya edildiyi girişi və göstərilən şlüzlə bütün digər girişləri (bütün marşrutlaşdırma cədvəllərində və ecmp marşrutlarında) qeyri-aktiv edir.

Ümumiyyətlə, şlüzdə paket itkisi ilə bağlı heç bir problem olmadığı müddətcə yoxlama şlüzü yaxşı işləyir. Check Gateway yoxlanılan şlüzdən kənar rabitə ilə nə baş verdiyini bilmir, bunun üçün əlavə alətlər tələb olunur: skriptlər, rekursiv marşrutlaşdırma, dinamik marşrutlaşdırma protokolları.

Əksər VPN və tunel protokollarında əlaqə fəaliyyətini yoxlamaq üçün daxili alətlər var, onlar üçün yoxlama şlüzünü təmin etmək şəbəkə və cihazın işinə əlavə (lakin çox kiçik) yükdür.

ECMP marşrutları

Equal-Cost Multi-Path - Round Robin alqoritmindən istifadə etməklə eyni vaxtda bir neçə şlüzdən istifadə edərək paketlərin alıcıya göndərilməsi.

ECMP marşrutu administrator tərəfindən bir alt şəbəkə üçün çoxlu şlüzlər təyin etməklə yaradılır (və ya iki ekvivalent OSPF marşrutu varsa avtomatik olaraq).
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

ECMP iki kanal arasında yük balansı üçün istifadə olunur, nəzəri olaraq, ecmp marşrutunda iki kanal varsa, hər bir paket üçün çıxan kanal fərqli olmalıdır. Lakin Marşrutlaşdırma keş mexanizmi paketləri ilk paketin götürdüyü marşrut üzrə əlaqədən göndərir, nəticədə biz əlaqələrə əsaslanan bir növ balanslaşdırma əldə edirik (əlaqə başına yükləmə balansı).

Marşrutlaşdırma Keşini söndürsəniz, ECMP marşrutunda paketlər düzgün paylaşılacaq, lakin NAT ilə bağlı problem var. NAT qaydası əlaqədən yalnız birinci paketi emal edir (qalanları avtomatik emal olunur) və məlum olur ki, eyni mənbə ünvanı olan paketlər müxtəlif interfeyslərdən ayrılır.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Şluzun yoxlanılması ECMP marşrutlarında işləmir (RouterOS səhvi). Lakin siz ECMP-də girişləri aradan qaldıracaq əlavə yoxlama marşrutları yaratmaqla bu məhdudiyyəti aradan qaldıra bilərsiniz.

Marşrutlaşdırma vasitəsi ilə filtrləmə

Növ seçimi paketlə nə edəcəyini müəyyənləşdirir:

  • unicast - müəyyən edilmiş şlüzə göndərin (interfeys)
  • qara dəlik - paketi atın
  • qadağan et, əlçatmaz - paketi atın və göndərənə icmp mesajı göndərin

Filtrləmə adətən paketlərin yanlış yolla göndərilməsini təmin etmək lazım olduqda istifadə olunur, əlbəttə ki, bunu firewall vasitəsilə süzgəcdən keçirə bilərsiniz.

Bir-iki misal

Marşrutlaşdırma ilə bağlı əsas şeyləri birləşdirmək üçün.

Tipik ev marşrutlaşdırıcısı
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

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

  1. 0.0.0.0/0-a statik marşrut (defolt marşrut)
  2. Provayderlə interfeysdə qoşulmuş marşrut
  3. LAN interfeysində qoşulmuş marşrut

PPPoE ilə tipik ev marşrutlaşdırıcısı
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  1. Defolt marşruta statik marşrut, avtomatik əlavə olunur. əlaqə xassələrində göstərilmişdir
  2. PPP bağlantısı üçün qoşulmuş marşrut
  3. LAN interfeysində qoşulmuş marşrut

İki provayderi və ehtiyatı olan tipik ev marşrutlaşdırıcısı
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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. Metrik 1 və şlüz əlçatanlığının yoxlanılması ilə ilk provayder vasitəsilə defolt marşruta statik marşrut
  2. Metrik 2 ilə ikinci provayder vasitəsilə defolt marşruta statik marşrut
  3. Birləşdirilmiş marşrutlar

Bu şlüz mövcud olduğu müddətdə 0.0.0.0/0 trafiki 10.10.10.1-dən keçir, əks halda 10.20.20.1-ə keçir

Belə bir sxem bir kanal rezervasiyası hesab edilə bilər, lakin çatışmazlıqlar olmadan deyil. Əgər provayderin şlüzündən kənarda (məsələn, operatorun şəbəkəsində) fasilə baş verərsə, marşrutlaşdırıcınız bundan xəbəri olmayacaq və marşrutu aktiv hesab etməyə davam edəcək.

İki provayder, ehtiyat və ECMP ilə tipik ev marşrutlaşdırıcısı
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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. Çak şlüzünü yoxlamaq üçün statik marşrutlar
  2. ECMP marşrutu
  3. Birləşdirilmiş marşrutlar

Yoxlanılacaq marşrutlar mavidir (qeyri-aktiv marşrutların rəngi), lakin bu, yoxlama şluzuna mane olmur. RoS-un cari versiyası (6.44) ECMP marşrutuna avtomatik üstünlük verir, lakin digər marşrutlaşdırma cədvəllərinə sınaq marşrutlarını əlavə etmək daha yaxşıdır (seçim). routing-mark)

Speedtest və digər oxşar saytlarda sürət artımı olmayacaq (ECMP trafiki paketlərə görə deyil, bağlantılara bölür), lakin p2p proqramları daha sürətli yüklənməlidir.

Marşrutlaşdırma vasitəsilə filtrləmə
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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. Defolt marşruta statik marşrut
  2. İpip tuneli üzərindən 192.168.200.0/24-ə statik marşrut
  3. ISP router vasitəsilə 192.168.200.0/24-ə statik marşrutun qadağan edilməsi

İpip interfeysi söndürüldükdə tunel trafikinin provayderin marşrutlaşdırıcısına getməyəcəyi bir filtrləmə seçimi. Belə sxemlər nadir hallarda tələb olunur, çünki firewall vasitəsilə bloklamağı həyata keçirə bilərsiniz.

Marşrutlama döngəsi
Marşrutlaşdırma dövrəsi - paketin ttl müddəti bitməzdən əvvəl marşrutlaşdırıcılar arasında işlədiyi vəziyyət. Adətən bu, konfiqurasiya xətasının nəticəsidir, böyük şəbəkələrdə dinamik marşrutlaşdırma protokollarının tətbiqi ilə, kiçik şəbəkələrdə isə ehtiyatla müalicə olunur.

Belə görünür:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Bənzər bir nəticə əldə etməyin nümunəsi (ən sadə):
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Routing loop nümunəsi praktiki istifadəyə malik deyil, lakin bu göstərir ki, marşrutlaşdırıcılar qonşularının marşrutlaşdırma cədvəli haqqında heç bir təsəvvürə malik deyillər.

Siyasət bazası marşrutlaşdırma və əlavə marşrutlaşdırma cədvəlləri

Marşrut seçərkən, marşrutlaşdırıcı paket başlığından (Dst. Address) yalnız bir sahəni istifadə edir - bu, əsas marşrutlaşdırmadır. Mənbə ünvanı, trafik növü (ToS), ECMP olmadan balanslaşdırma kimi digər şərtlərə əsaslanan marşrutlaşdırma Siyasət Baza Yönləndirməsinə (PBR) aiddir və əlavə marşrutlaşdırma cədvəllərindən istifadə edir.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Daha Xüsusi Marşrut marşrutlaşdırma cədvəli daxilində əsas marşrut seçimi qaydasıdır.

Varsayılan olaraq, bütün marşrutlaşdırma qaydaları əsas cədvələ əlavə olunur. Administrator ixtiyari sayda əlavə marşrutlaşdırma cədvəlləri yarada və onlara paketləri yönləndirə bilər. Müxtəlif cədvəllərdəki qaydalar bir-biri ilə ziddiyyət təşkil etmir. Əgər paket göstərilən cədvəldə uyğun qayda tapmasa, o, əsas cədvələ keçəcək.

Firewall vasitəsilə paylama nümunəsi:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  • 192.168.100.10 -> 8.8.8.8
    1. 192.168.100.10-dan gələn trafik etiketlənir vasitəsilə-isp1 в [Prerouting|Mangle]
    2. Cədvəldə Marşrutlaşdırma mərhələsində vasitəsilə-isp1 8.8.8.8-ə marşrut axtarır
    3. Marşrut tapıldı, trafik 10.10.10.1 şluzuna göndərilir
  • 192.168.200.20 -> 8.8.8.8
    1. 192.168.200.20-dan gələn trafik etiketlənir vasitəsilə-isp2 в [Prerouting|Mangle]
    2. Cədvəldə Marşrutlaşdırma mərhələsində vasitəsilə-isp2 8.8.8.8-ə marşrut axtarır
    3. Marşrut tapıldı, trafik 10.20.20.1 şluzuna göndərilir
  • Şlüzlərdən biri (10.10.10.1 və ya 10.20.20.1) əlçatmaz olarsa, paket masaya gedəcək. Elanlar və orada uyğun marşrut axtaracaq

Terminologiya məsələləri

RouterOS-da müəyyən terminologiya problemləri var.
Qaydalarla işləyərkən [IP]->[Routes] marşrutlaşdırma cədvəli göstərilir, baxmayaraq ki, etiketdə yazılır:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

В [IP]->[Routes]->[Rule] hər şey düzgündür, cədvəl hərəkətindəki etiket vəziyyətində:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Paketi müəyyən bir marşrutlaşdırma cədvəlinə necə göndərmək olar

RouterOS bir neçə alət təqdim edir:

  • Qaydalar [IP]->[Routes]->[Rules]
  • Marşrut işarələri (action=mark-routing) içində [IP]->[Firewall]->[Mangle]
  • VRF

qayda [IP]->[Route]->[Rules]
Qaydalar ardıcıllıqla işlənir, paket qaydanın şərtlərinə uyğun gəlirsə, daha keçmir.

Marşrutlaşdırma Qaydaları yalnız alıcının ünvanına deyil, həm də paketin qəbul edildiyi mənbə ünvanına və interfeysinə əsaslanaraq marşrutlaşdırma imkanlarını genişləndirməyə imkan verir.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Qaydalar şərtlərdən və hərəkətlərdən ibarətdir:

  • Şərtlər. FIB-də paketin yoxlanıldığı əlamətlərin siyahısını praktiki olaraq təkrarlayın, yalnız ToS yoxdur.
  • Aktivlik
    • axtarış - paketi cədvələ göndərin
    • yalnız cədvəldə axtarın - paketi cədvəldə kilidləyin, marşrut tapılmadıqda, paket əsas cədvələ getməyəcək
    • buraxmaq - paketi buraxmaq
    • əlçatmaz - göndərici bildirişi ilə paketi atın

FIB-də yerli proseslərə trafik qaydalardan yan keçməklə işlənir [IP]->[Route]->[Rules]:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Markalama [IP]->[Firewall]->[Mangle]
Marşrutlama etiketləri demək olar ki, istənilən Firewall şərtlərindən istifadə edərək paket üçün şlüz təyin etməyə imkan verir:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Praktiki olaraq, çünki onların hamısı məna vermir və bəziləri qeyri-sabit işləyə bilər.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Paketin etiketlənməsinin iki yolu var:

  • Dərhal qoyun marşrut işarəsi
  • Birinci qoyun əlaqə nişanı, sonra əsaslanır əlaqə nişanı qoy marşrut işarəsi

Firewalllar haqqında bir məqalədə ikinci varianta üstünlük verildiyini yazdım. marşrutları qeyd edərkən cpu-dakı yükü azaldır - bu tamamilə doğru deyil. Bu işarələmə üsulları həmişə ekvivalent olmur və adətən müxtəlif problemləri həll etmək üçün istifadə olunur.

İstifadə nümunələri

Policy Base Routing istifadə nümunələrinə keçək, bütün bunların nə üçün lazım olduğunu göstərmək daha asandır.

MultiWAN və geri gedən (Çıxış) trafiki
MultiWAN konfiqurasiyası ilə bağlı ümumi problem: Mikrotik İnternetdən yalnız "aktiv" provayder vasitəsilə əldə edilə bilər.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Router sorğunun hansı ip-dən gəldiyinə əhəmiyyət vermir, cavab yaradarkən o, marşrutlaşdırma cədvəlində isp1 vasitəsilə marşrutun aktiv olduğu marşrutu axtaracaq. Bundan əlavə, belə bir paket çox güman ki, alıcıya gedən yolda süzüləcək.

Başqa bir maraqlı məqam. Ether1 interfeysində "sadə" mənbə nat konfiqurasiya edilibsə: /ip fi nat add out-interface=ether1 action=masquerade paket src ilə onlayn olacaq. ünvan=10.10.10.100, bu da vəziyyəti daha da pisləşdirir.

Problemi həll etməyin bir neçə yolu var, lakin onlardan hər hansı biri əlavə marşrutlaşdırma cədvəllərini tələb edəcək:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

Istifadə [IP]->[Route]->[Rules]
Göstərilən Mənbə IP ilə paketlər üçün istifadə ediləcək marşrutlaşdırma cədvəlini təyin edin.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

Siz istifadə edə bilərsiniz action=lookup, lakin yerli gedən trafik üçün bu seçim səhv interfeysdən əlaqələri tamamilə istisna edir.

  • Sistem Src ilə cavab paketi yaradır. Ünvan: 10.20.20.200
  • Marşrutlaşdırma Qərar (2) addımı yoxlayır [IP]->[Routes]->[Rules] və paket marşrutlaşdırma cədvəlinə göndərilir həddindən artıq isp2
  • Marşrutlaşdırma cədvəlinə uyğun olaraq, paket ether10.20.20.1 interfeysi vasitəsilə 2 şluzuna göndərilməlidir.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Bu üsul Mangle cədvəlindən fərqli olaraq işləyən Bağlantı İzləyicisi tələb etmir.

Istifadə [IP]->[Firewall]->[Mangle]
Bağlantı gələn paketlə başlayır, ona görə də onu qeyd edirik (action=mark-connection), işarələnmiş əlaqədən gedən paketlər üçün marşrutlaşdırma etiketini təyin edin (action=mark-routing).
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

Bir interfeysdə bir neçə ip konfiqurasiya edilərsə, şərtə əlavə edə bilərsiniz dst-address əmin olmaq.

  • Paket ether2 interfeysində əlaqəni açır. Paket içəri girir [INPUT|Mangle] bağlantıdan bütün paketləri kimi qeyd etməyi deyir from-isp2
  • Sistem Src ilə cavab paketi yaradır. Ünvan: 10.20.20.200
  • Routing Decision(2) mərhələsində marşrutlaşdırma cədvəlinə uyğun olaraq paket ether10.20.20.1 interfeysi vasitəsilə 1 şluzuna göndərilir. Bunu paketlərə daxil olmaqla yoxlaya bilərsiniz [OUTPUT|Filter]
  • Səhnədə [OUTPUT|Mangle] əlaqə etiketi yoxlanılır from-isp2 və paket marşrut etiketi alır həddindən artıq isp2
  • Routing Adjusment(3) addımı marşrutlaşdırma etiketinin mövcudluğunu yoxlayır və onu müvafiq marşrut cədvəlinə göndərir.
  • Marşrutlaşdırma cədvəlinə uyğun olaraq, paket ether10.20.20.1 interfeysi vasitəsilə 2 şluzuna göndərilməlidir.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

MultiWAN və dst-nat trafikini qaytarın

Bir nümunə daha mürəkkəbdir, əgər şəxsi alt şəbəkədə marşrutlaşdırıcının arxasında bir server (məsələn, veb) varsa nə etməli və hər hansı bir provayder vasitəsilə ona giriş təmin etməlisiniz.

/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

Problemin mahiyyəti eyni olacaq, həlli Firewall Mangle seçiminə bənzəyir, yalnız digər zəncirlər istifadə ediləcək:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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-da Statik marşrutlaşdırmanın əsasları
Diaqramda NAT göstərilmir, amma məncə hər şey aydındır.

MultiWAN və gedən bağlantılar

Siz müxtəlif marşrutlaşdırıcı interfeyslərindən çoxsaylı vpn (nümunədə SSTP) əlaqələri yaratmaq üçün PBR imkanlarından istifadə edə bilərsiniz.

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Əlavə marşrut cədvəlləri:

/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

Paket işarələri:

/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

Sadə NAT qaydaları, əks halda paket səhv Src ilə interfeysdən çıxacaq. ünvan:

/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

Təhlil:

  • Router üç SSTP prosesi yaradır
  • Marşrutlaşdırma Qərarının (2) mərhələsində əsas marşrutlaşdırma cədvəlinə əsasən bu proseslər üçün marşrut seçilir. Eyni marşrutdan paket Src alır. Ünvan ether1 interfeysinə bağlıdır
  • В [Output|Mangle] müxtəlif bağlantılardan gələn paketlər müxtəlif etiketlər alır
  • Paketlər marşrutlaşdırmanın tənzimlənməsi mərhələsində etiketlərə uyğun gələn cədvəllərə daxil olur və paketlərin göndərilməsi üçün yeni marşrut alır.
  • Amma paketlərdə hələ də Src var. Ether1-dən ünvan, səhnədə [Nat|Srcnat] ünvan interfeysə uyğun olaraq əvəz olunur

Maraqlıdır ki, marşrutlaşdırıcıda aşağıdakı əlaqə cədvəlini görəcəksiniz:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Bağlantı İzləyicisi daha əvvəl işləyir [Mangle] и [Srcnat], buna görə də bütün əlaqələr eyni ünvandan gəlir, əgər daha ətraflı baxsanız, onda Replay Dst. Address NAT-dan sonra ünvanlar olacaq:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

VPN serverində (test skamyasında biri var) bütün əlaqələrin düzgün ünvanlardan gəldiyini görə bilərsiniz:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Bir yol gözləyin
Daha asan bir yol var, sadəcə olaraq ünvanların hər biri üçün xüsusi bir şlüz təyin edə bilərsiniz:

/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

Amma bu cür marşrutlar təkcə gedən deyil, həm də tranzit trafikə təsir edəcək. Üstəlik, uyğun olmayan rabitə kanallarından keçmək üçün vpn serverinə trafikə ehtiyacınız yoxdursa, onda siz daha 6 qayda əlavə etməli olacaqsınız. [IP]->[Routes]с type=blackhole. Əvvəlki versiyada - 3 qayda [IP]->[Route]->[Rules].

İstifadəçi əlaqələrinin rabitə kanalları üzrə paylanması

Sadə, gündəlik tapşırıqlar. Yenə də əlavə marşrutlaşdırma cədvəllərinə ehtiyac olacaq:

/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

Istifadə [IP]->[Route]->[Rules]
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

Istifadə edin action=lookup, sonra kanallardan biri söndürüldükdə, trafik əsas masaya gedəcək və işçi kanaldan keçəcəkdir. Bunun lazım olub-olmaması vəzifədən asılıdır.

İşarələrdən istifadə edərək [IP]->[Firewall]->[Mangle]
IP ünvanlarının siyahıları ilə sadə bir nümunə. Prinsipcə, demək olar ki, hər hansı bir şərait istifadə edilə bilər. Layer7-nin yeganə xəbərdarlığı, hətta əlaqə etiketləri ilə birləşdirildikdə belə, hər şeyin düzgün işlədiyi görünə bilər, lakin trafikin bir hissəsi yenə də yanlış yolla gedəcək.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

İstifadəçiləri bir marşrutlaşdırma cədvəlində "kililə" bilərsiniz [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

Ya vasitəsilə [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 pro dst-address-type=!local
Əlavə şərt dst-address-type=!local istifadəçilərdən gələn trafikin marşrutlaşdırıcının yerli proseslərinə (dns, winbox, ssh, ...) çatması lazımdır. Routerə bir neçə yerli alt şəbəkə qoşulubsa, onların arasındakı trafikin İnternetə getməməsini təmin etmək lazımdır, məsələn, dst-address-table.

İstifadə nümunəsində [IP]->[Route]->[Rules] belə istisnalar yoxdur, lakin trafik yerli proseslərə çatır. Fakt budur ki, FIB paketinə daxil olmaq qeyd olunur [PREROUTING|Mangle] marşrut etiketinə malikdir və yerli interfeysin olmadığı əsasdan başqa marşrutlaşdırma cədvəlinə daxil olur. Marşrutlaşdırma Qaydaları vəziyyətində, əvvəlcə paketin lokal proses üçün nəzərdə tutulduğu yoxlanılır və yalnız İstifadəçi PBR mərhələsində o, müəyyən edilmiş marşrutlaşdırma cədvəlinə keçir.

Istifadə [IP]->[Firewall]->[Mangle action=route]
Bu əməliyyat yalnız işləyir [Prerouting|Mangle] və şluz ünvanını birbaşa göstərərək əlavə marşrutlaşdırma cədvəllərindən istifadə etmədən trafiki müəyyən edilmiş şlüzə yönəltməyə imkan verir:

/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

effekt route marşrutlaşdırma qaydalarından daha aşağı prioritetə ​​malikdir ([IP]->[Route]->[Rules]). Marşrut işarələri vəziyyətində, hər şey qaydaların mövqeyindən asılıdır, əgər qayda ilə action=route -dən çox dəyər action=mark-route, sonra istifadə olunacaq (bayraqdan asılı olmayaraq passtrough), əks halda marşrutun işarələnməsi.
Bu hərəkət haqqında vikidə çox az məlumat var və bütün nəticələr eksperimental olaraq əldə edilir, hər halda, bu variantdan istifadə edərkən başqalarına üstünlük verən variantlar tapmadım.

PPC əsaslı dinamik balanslaşdırma

Per Connection Classifier - ECMP-nin daha çevik analoqudur. ECMP-dən fərqli olaraq, o, trafiki əlaqələrə görə daha ciddi şəkildə bölür (ECMP əlaqələr haqqında heç nə bilmir, lakin Routing Cache ilə birləşdirildikdə oxşar bir şey əldə edilir).

PCC alır müəyyən sahələr ip başlığından onları 32 bit dəyərə çevirir və bölür məxrəc. Bölmənin qalan hissəsi göstərilənlə müqayisə edilir qalıq və əgər onlar uyğun gəlirsə, onda göstərilən hərəkət tətbiq edilir. daha. Dəli səslənir, amma işləyir.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Üç ünvanlı nümunə:

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

Üç kanal arasında src.address üzrə trafikin dinamik paylanması nümunəsi:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

#Таблица маршрутизации
/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

Marşrutları qeyd edərkən əlavə bir şərt var: in-interface=br-lan, altında olmadan action=mark-routing İnternetdən cavab trafiki alınacaq və marşrutlaşdırma cədvəllərinə uyğun olaraq provayderə qayıdacaq.

Rabitə kanallarının dəyişdirilməsi

Check ping yaxşı bir vasitədir, lakin o, yalnız ən yaxın IP peer ilə əlaqəni yoxlayır, provayder şəbəkələri adətən çoxlu sayda marşrutlaşdırıcıdan ibarətdir və əlaqə kəsilməsi ən yaxın həmyaşıddan kənarda baş verə bilər və sonra magistral telekommunikasiya operatorları da var. problemlər var, ümumiyyətlə, ping yoxlaması həmişə qlobal şəbəkəyə giriş haqqında ən son məlumatları göstərmir.
Provayderlər və böyük korporasiyalar BGP dinamik marşrutlaşdırma protokoluna malikdirlərsə, o zaman ev və ofis istifadəçiləri müstəqil olaraq müəyyən bir rabitə kanalı vasitəsilə İnternetə çıxışı necə yoxlamaq lazım olduğunu başa düşməlidirlər.

Tipik olaraq, müəyyən bir rabitə kanalı vasitəsilə etibarlı bir şey seçərkən İnternetdə bir IP ünvanının mövcudluğunu yoxlayan skriptlərdən istifadə olunur, məsələn, google dns: 8.8.8.8. 8.8.4.4. Ancaq Mikrotik icmasında bunun üçün daha maraqlı bir alət uyğunlaşdırılıb.

Rekursiv marşrutlaşdırma haqqında bir neçə söz
Multihop BGP peering qurarkən rekursiv marşrutlaşdırma zəruridir və statik marşrutlaşdırmanın əsasları haqqında məqaləyə yalnız əlavə skriptlər olmadan rabitə kanallarını keçmək üçün yoxlama şlüzü ilə qoşalaşmış rekursiv marşrutlardan necə istifadə edəcəyini anlayan hiyləgər MikroTik istifadəçiləri sayəsində əldə edilmişdir.

Ümumi mənada əhatə dairəsi / hədəf əhatə dairəsi variantlarını və marşrutun interfeysə necə bağlandığını başa düşməyin vaxtı gəldi:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  1. Marşrut əhatə dairəsi dəyərinə və hədəf əhatə dairəsi dəyərlərindən az və ya bərabər olan əsas cədvəldəki bütün qeydlərə əsasən paketi göndərmək üçün interfeys axtarır.
  2. Tapılan interfeyslərdən müəyyən edilmiş şlüzə paket göndərə biləcəyiniz biri seçilir
  3. Tapılan bağlı girişin interfeysi paketi şlüzə göndərmək üçün seçilir

Rekursiv marşrutun mövcudluğunda hər şey eyni olur, lakin iki mərhələdə:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

  • 1-3 Qoşulmuş marşrutlara daha bir marşrut əlavə edilir, onun vasitəsilə müəyyən edilmiş şlüzə çatmaq olar
  • 4-6 "Aralıq" şlüz üçün qoşulmuş marşrutun tapılması

Rekursiv axtarış ilə bütün manipulyasiyalar RIB-də baş verir və yalnız son nəticə FIB-ə ötürülür: 0.0.0.0/0 via 10.10.10.1 on ether1.

Marşrutları dəyişdirmək üçün rekursiv marşrutlaşdırmadan istifadə nümunəsi
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Konfiqurasiya:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

Paketlərin 10.10.10.1-ə göndəriləcəyini yoxlaya bilərsiniz:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Check gateway rekursiv marşrutlaşdırma haqqında heç nə bilmir və sadəcə olaraq 8.8.8.8-ə pingləri göndərir, bu (əsas cədvəl əsasında) 10.10.10.1 şlüz vasitəsilə əldə edilə bilər.

10.10.10.1 və 8.8.8.8 arasında rabitə itkisi olarsa, marşrut ayrılır, lakin 8.8.8.8-ə qədər olan paketlər (test pingləri daxil olmaqla) 10.10.10.1-dən keçməyə davam edir:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Ether1 ilə əlaqə itərsə, 8.8.8.8-dən əvvəlki paketlər ikinci provayderdən keçdikdə xoşagəlməz vəziyyət yaranır:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

8.8.8.8 mövcud olmadıqda skriptləri işə salmaq üçün NetWatch istifadə edirsinizsə, bu problemdir. Əgər keçid pozulursa, NetWatch sadəcə olaraq ehtiyat kommunikasiya kanalı vasitəsilə işləyəcək və hər şeyin qaydasında olduğunu güman edəcək. Əlavə filtr marşrutu əlavə etməklə həll edildi:

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

Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Habre var məqalə, burada NetWatch ilə vəziyyət daha ətraflı nəzərdən keçirilir.

Bəli, belə rezervasiyadan istifadə edərkən 8.8.8.8 ünvanı provayderlərdən birinə bağlanacaq, ona görə də onu dns mənbəyi kimi seçmək yaxşı fikir deyil.

Virtual Routing and Forwarding (VRF) haqqında bir neçə söz

VRF texnologiyası bir fiziki birində bir neçə virtual marşrutlaşdırıcı yaratmaq üçün nəzərdə tutulmuşdur, bu texnologiya telekommunikasiya operatorları tərəfindən (adətən MPLS ilə birlikdə) üst-üstə düşən alt şəbəkə ünvanları olan müştərilərə L3VPN xidmətləri göstərmək üçün geniş istifadə olunur:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Lakin Mikrotik-də VRF marşrutlaşdırma cədvəlləri əsasında təşkil olunub və bir sıra çatışmazlıqlara malikdir, məsələn, marşrutlaşdırıcının yerli IP ünvanları bütün VRF-lərdə mövcuddur, daha çox oxuya bilərsiniz. по ссылке.

vrf konfiqurasiya nümunəsi:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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-yə qoşulmuş cihazdan görürük ki, ping başqa vrf-dən marşrutlaşdırıcının ünvanına gedir (və bu problemdir), ping isə İnternetə getmir:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

İnternetə daxil olmaq üçün əsas cədvələ daxil olan əlavə marşrutu qeydiyyatdan keçirməlisiniz (vrf terminologiyasında buna marşrut sızması deyilir):
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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

Marşrutun sızmasının iki yolu var: marşrutlaşdırma cədvəlindən istifadə etməklə: 172.17.0.1@main və interfeys adından istifadə edərək: 172.17.0.1%wlan1.

Və geri qayıdan trafik üçün işarələmə qurun [PREROUTING|Mangle]:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

/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-da Statik marşrutlaşdırmanın əsasları

Eyni ünvana malik alt şəbəkələr
VRF və netmap-dan istifadə edərək eyni marşrutlaşdırıcıda eyni ünvanlı alt şəbəkələrə girişin təşkili:
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Əsas konfiqurasiya:

/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

firewall qaydaları:

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

Qayıdış trafiki üçün marşrut qaydaları:

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

Verilmiş marşrutlaşdırma cədvəlinə dhcp vasitəsilə alınan marşrutların əlavə edilməsi
Xüsusi marşrutlaşdırma cədvəlinə avtomatik olaraq dinamik marşrut (məsələn, dhcp müştərisindən) əlavə etmək lazımdırsa, VRF maraqlı ola bilər.

vrf-ə interfeys əlavə etmək:

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

Cədvəl vasitəsilə trafikin (gediş və tranzit) göndərilməsi qaydaları həddindən artıq 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

Çıxış marşrutunun işləməsi üçün əlavə, saxta marşrut:

/interface bridge
add name=bare

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

Bu marşrut yalnız yerli gedən paketlərin Marşrutlaşdırma qərarından (2) əvvəl keçə bilməsi üçün lazımdır [OUTPUT|Mangle] və marşrutlaşdırma etiketini əldə edin, əgər əsas cədvəldə 0.0.0.0/0-dan əvvəl marşrutlaşdırıcıda digər aktiv marşrutlar varsa, bu tələb olunmur.
Mikrotik RouterOS-da Statik marşrutlaşdırmanın əsasları

Zəncirlər connected-in и dynamic-in в [Routing] -> [Filters]

Marşrutun filtrasiyası (gələn və gedən) adətən dinamik marşrutlaşdırma protokolları ilə birlikdə istifadə olunan bir vasitədir (və buna görə də yalnız paketi quraşdırdıqdan sonra mövcuddur) marşrutlaşdırma), lakin gələn filtrlərdə iki maraqlı zəncir var:

  • qoşulmuş — qoşulmuş marşrutların süzülməsi
  • dynamic-in - PPP və DCHP tərəfindən qəbul edilən dinamik marşrutların süzülməsi

Filtrləmə yalnız marşrutları ləğv etməyə deyil, həm də bir sıra variantları dəyişdirməyə imkan verir: məsafə, marşrut işarəsi, şərh, əhatə dairəsi, hədəf əhatə dairəsi, ...

Bu, çox dəqiq alətdir və əgər siz Routing Filters (lakin skriptlər deyil) olmadan nəsə edə bilirsinizsə, o zaman Routing Filters istifadə etməyin, özünüzü və sizdən sonra routeri konfiqurasiya edənləri çaşdırmayın. Dinamik marşrutlaşdırma kontekstində Marşrutlaşdırma Filtrləri daha tez-tez və daha məhsuldar istifadə olunacaq.

Dinamik marşrutlar üçün marşrut nişanının təyin edilməsi
Ev marşrutlaşdırıcısından bir nümunə. Konfiqurasiya edilmiş iki VPN bağlantım var və onlarda olan trafik marşrutlaşdırma cədvəllərinə uyğun olaraq bükülməlidir. Eyni zamanda, interfeys aktivləşdirildikdə marşrutların avtomatik yaradılmasını istəyirəm:

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

Niyə bilmirəm, yəqin ki, səhvdir, ancaq ppp interfeysi üçün vrf yaratsanız, 0.0.0.0/0 marşrutu yenə də əsas cədvələ daxil olacaq. Əks halda, hər şey daha asan olardı.

Qoşulmuş marşrutların deaktiv edilməsi
Bəzən bu tələb olunur:

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

Sazlama Alətləri

RouterOS marşrutlaşdırmanın aradan qaldırılması üçün bir sıra alətlər təqdim edir:

  • [Tool]->[Tourch] - interfeyslərdə paketlərə baxmaq imkanı verir
  • /ip route check - paketin hansı şlüzə göndəriləcəyini görməyə imkan verir, marşrutlaşdırma cədvəlləri ilə işləmir
  • /ping routing-table=<name> и /tool traceroute routing-table=<name> - müəyyən edilmiş marşrutlaşdırma cədvəlindən istifadə edərək ping və izləyin
  • action=log в [IP]->[Firewall] - paket axını boyunca bir paketin yolunu izləməyə imkan verən əla vasitədir, bu hərəkət bütün zəncirlərdə və cədvəllərdə mövcuddur

Mənbə: www.habr.com

Добавить комментарий