Böyük şəbəkələrdə marşrutların digər avadanlıqlara ötürülməsi üçün dinamik marşrutlama protokollarından istifadə olunur. Cisco şirkəti tərəfəindən işlənib hazırlanan EIGRP (Extended Interior Gateway Protocol) Cisco avadanlıqları olan şəbəkələrdə daha çox istifadə olunur. Bu yazıda adıçəkilən protokol haqqında ətraflı danışmayacam, bu səbəbdən oxucunun CCNA səviyyəsində şəbəkə biliyinin olması vacibdir.
İndi isə keçək mətləbə. Fərz edək ki, yüzlərlər serveri, onlarla filialı olan böyük bir şirkətdə işləyirik. Şəbəkəni sazlamışıq, dinamik marşrutlama protokollarını qurmuşuq və vicdan rahatlığı ilə Counter-Strike oynayırıq. Günlərin birində təhlükəsizlik inzibatçıları gəlir, oyunumuzu yarımçıq kəsir və deyir ki, filialdakı routerlarda istehsalat şöbəsinin şəbəkələri görünməməlidir. Şəkildə uydurma şəbəkənin sadələşdirilmiş sxemi ilə tanış ola bilərsiniz.

Misallar üçün GNS3 şəbəkə emulyatorundan istifadə edilib. Bütün avadanlıqların konfiqurasiyalarını buradan yükləyə bilərsiniz.
Düzdür, həmin şəbəkə prefikslərini EIGRP-nin altından çıxara bilərik, amma bu halda baş ofisdən də istehsalat bölməsinə marşrutlar olmayacaq. Məhz belə hallar üçün marşrutların filtrlənməsi mexanizmi hazırlanıb. EIGRP-də bu EIGRP konfiqurasiya rejimində distribute-list komandası yazmaqla həyata keçirilir.
distribute-list-in (paylaşma siyahısı) iş prinsipi sadədir: distibute-list icazələr siyahısı (ACL), prefikslər siyahısı (prefix-list) və ya marşrut xəritələri (route-map) ilə işləyir. Məhz bu üç alət göstərilən şəbəkə prefikslərinin EIGRP elanlarında yer alıb-almayacağını müəyyən edir. distribute-list komandasına hansı istiqamətdə, daxil olan və ya çıxan, marşrutların filtrləməli olduğunu da göstərmək olur. Bundan əlavə filtrlənmənin tətbiq olacağı interfeysi də qeyd etmək mümkündür. Tam olara komdan aşağıdakı kimi ola bilər:
distribute-list acl [in | out][interface-type interface-number]
Marşrutların ACL vasitəsi ilə filtrlənməsi
İlk olaraq icazələr siyahısı və ya Access Control List vasitəsi ilə filtrləməyə nəzər salaq. Bu üsulun iş prinsipi ACL-in permit və ya deny komandaların əsaslanıb. Yəni marşrutun EIGRP elanlarında yer alması üçün permit komandası olmalıdır, əks halda isə – deny. Filtrləmə zamanı EIGRP ACL-da qeyd olunan mənbə IP-ni hər marşrutun prefiksi ilə, yəni şəbəkə ünvanı ilə müqayisə edir və ACL-da göstərilən komandaya uyğun hərəkət edir.
İş prinispini daha yaxşı başa düşmək üçün misallara baxaq:

Şəkildə göstərilən şəbəkələrin filtrlənməsi üçün yeni ACL yaratmaq lazımdır, ACL-da isə hər şəbəkə prefiksini deny komandası müşayət edir, sonda isə permit any komandası yazılır ki, digər şəbəkə prefiksləri elan edilsin:
access-list 2 deny 10.17.32.0 0.0.1.255
access-list 2 deny 10.17.34.0 0.0.0.255
access-list 2 deny 10.17.35.0 0.0.0.127
access-list 2 deny 10.17.35.128 0.0.0.127
access-list 2 deny 10.17.36.0 0.0.0.63
access-list 2 deny 10.17.36.64 0.0.0.63
access-list 2 permit any
EIGRP-nin altında isə bu komandanı yazırıq:
distribute-list 2 out s4/0
Gəlin dəyişiklikləri tətbiq etməzdən əvvəl və sonra marşrut cədvəlini yoxlayaq. Filtrləmə WAN routerlərdə aparılacaq.

Göründüyü kimi, filialın routerində İstehsalat bölməsinə aid bütün şəbəkələr var. Gəlin yuxarıda yazdığımız filteri tətbiq edək:

Filial routreində marşrut cədvəlinə yenidən baxaq:

Gördüyümüz kimi istehsalat şöbəsinə olan bütün şəbəkə marşrutları cədvəldən silindi. Düzdür, bunu ACL-də cəmi bir sətrlik komanda ilə də etmək olardı, amma daha aydın olsun deyə bütün şəbəkələri qeyd etdim. Yeri gəlmişkən, filtrləməni biz konkret interfeysdə etdik. Bütün interfeyslərdə etmək üçün distribute-list komandasını sadəcə out parametlri ilə yazmaq lazımdır.
distribute-list 2 out
Nəzərə alın ki, bizim topologiyada filtrləmənin düzgün işləməsi üçün eyni dəyişikliklər WAN2-də də yazılmalıdır.
Prefiks siyahıları ilə filtrləmə
Prefiks-list nədir?
Cisco IOS-da marşrutların filtrasiyası üçün daha bir alət var – prefix-list-lər. Sual yarana bilər ki, ACL-lərin nəyi pisdir? Məsələ burasındadır ki, ACL-lar məhz paketləri filtrləmək üçün hazırlanıb və bir neçə səbəbdən marşrutların filtrlənməsi üçün o qədər də optimal deyil:
- prefix-list-lər şəbəkə prefiksinin uzunluğunu nəzərə almağa imkan verir, ACL isə yox;
- ACL-lər daha böyük olur və daha çox resurs tələb edə bilər;
- Standart ACL istifadə edərkən maska üzrə uyğunluğu təyin etmək olmur;
- ACL elan edilən hər marşrutu yoxlayır, bu səbəbdən daha ləng işləyir.
Əvvəl prefiks siyahısnın işləmə prinsipi ilə tanış olaq. Bu akət marşrutun iki tərkib hissəsini müqayisə etməyə imkan verir:
- şəbəkə ünvanını (şəbəkə nömrəsi);
- prefiksin uzunluğunu (şəbəkə maskası);
Nömrələnmiş ACL və prefiks siyahıları arasında ortaq cəhətlər var. Nömrələnmiş ACL-da olduğu kimi, prefiks siyahıları da bir və ya bir neçə komandadan ibarət ola bilər və bu komandalar qlobal konfiqurasiya rejimində daxil edilir, yəni ayrıca konfiqurasiya rejimi yoxdur. Adlı ACL-da olduğu kimi isə prefiks siyahısında sətrin nömrəsini qeyd etmək olur. Ümumilikdə komanda aşağıdakı formada ola bilər:
ip prefix-list list-name [ seq seq-value ] { deny | permit prefix / prefix-length } [ ge ge-value ] [ le le-value ]
Prefikslər siyahısnın işini qısaca belə izah etmək olar:
- Marşrutun şəbəkə ünvanı ip prefix-list … prefix/prefix-length komandasında göstərilən aralıqda olmalıdır.
- Marşrutun şəbəkə maskası prefix-length, ge, le parametrlərində göstərilən dəyərlərə uyğun olmalıdır.
Birinci bənd ACL-da olduğu kimi işləyir. Məsələn, ip prefix-list TESTLIST 10.0.0.0/8 … yazmaqla routerə deyirik ki, şəbəkə ünvanı 10-la başlamalıdır. Lakin prefikslər siyahısı həmişə şəbəkə maskasını göstərilən dəyərlərə uyğun olub olmadığını da yoxlayır. Məsələn, fərz edək ki, A routeri B routerinə 10.10.1.0/24-dən 10.10.31.0/24-dək və 10.10.0.0/19 şəbəkələrini elan edir. B routeri isə yalnız 10.10.0.0/19 prefiksini almaq istəyir. ACL ilə bunu etmək mümkün deyil. Çünki permit ip 10.10.0.0 0.0.31.255 yazsaq router həm /19, həm də /24 şəbəkələrini elan edəcək. Yəni standart ACL yalnız şəbəkə nömrəsini yoxlayır, maska hissəsini isə nəzərə almır. Prefikslər siyahısı isə hər iki məqamı yoxlayır. Cədvəldə prefikslər siyahısının parametrlərinin mənaları izah olunur:
| prefix-list-in parametri | İzahı |
| Parametr yoxdur 10.0.0.0/8; | Şəbəkə maskası prefix/prefix-length parametrində göstərilən uzunluqda olmalıdır. Bu misalda 10-la başlayan bütün şəbəkələr. |
| ge və le (birinci dəyərdən böyük və ikinci dəyərdən kiçik); 10.0.0.0/8 ge 16 le 24 | Maskanın uzunluğu 16 bitdən çox, lakin 24 bitdən az olmalıdır. Şəbəkən ünvanın ilk baytı isə 10-a bərabər olmalıdır. |
| le (kiçik); 10.0.0.0/8 le 24 | Maskanın uzunluğu 8-24 bit arası olmalıdır 24-də daxil olmaqla. |
| ge (dəyərdən böyük) 10.0.0.0/8 ge 24 | Maskanın uzunluğu 24-bitlə 32-bit arasında olmalıdır. 32-də daxil. |
Cisco-nun tələbinə əsasən, prefix-length, ge и le parametrləri göstərilən tənliyə uyğun olmalıdır: prefix-length <= ge-value <= le-value (8<=10<=24). Yəni 192.168.1.0/24 ge 26 le 25 ola bilməz.
Prefiks siyahılarının tətbiqi
İndi isə prefikslərlə filtrləmənin sazlanmasına keçək. Bunun üçün EIGRP altında distribute-list prefix prefix-name komandasını yazmalıyıq.
Elə həmin topologiyadan test edəcəyik. WAN1 routerində bəzi dəyişikliklər etmək lazımdır. Eyni dəyişikliklər WAN2-də də olmalıdır. Qarşıda duran vəzifə:
- 10.17.35.0 и 10.17.36.0 şəbəkələrinə gedən marşrutları filtrləmək;
- Filial routerləri və core kommutatorların (Core1 və Core2) maskası /30 bit olan şəbəkələri görməməsi üçün point-to-point şəbəkə ünvanlarına olan marşrutları filtrləmək. Səbəb isə sadədir: istifadəçilərdən bu şəbəkələrə trafik getmədiyi üçün həmin marşrutları elan etməyə də lüzum yoxdur.
Bunun üçün FILTER-EIGRP adlı prefiks siyahısı yaradıb lazım olan şəbəkələri əlavə edirik.
ip prefix-list FILTER-EIGRP seq 5 deny 10.17.35.0/24 ge 25 le 25
ip prefix-list FILTER-EIGRP seq 10 deny 10.17.36.0/24 ge 26 le 26
ip prefix-list FILTER-EIGRP seq 15 deny 0.0.0.0/0 ge 30 le 30
ip prefix-list FILTER-EIGRP seq 20 permit 0.0.0.0/0 le 32
WAN1-də əvvəldə yazdığımız ACL ilə filtrləməni silib marşrut cədvəlinə baxaq:

İndi də filteri tətbiq edək və marşrut cəvdəlini yenidən yoxlayaq:


Şəkildən də göründüyü kimi, 10.17.35.0, 10.17.36.0 şəbəkələrinə və point-to-point bağlantılar üçün istifadə olunan şəbəkələrə marşrut yoxdur. İndi də yazdığımız prefikslər siyahısını izah edim:
ip prefix-list FILTER-EIGRP seq 5 deny 10.17.35.0/24 ge 25 le 25
10.17.35-lə başlayan və maskasl 25-bit olan bütün şəbəkə prefikslərini qadağan edirik. Bu şərtə 10.17.35.0/25 və 10.17.35.128/25 şəbəkələri uyğun gəlir. /25 bit prefiksinə uyğun maska: 255.255.255.128.
ip prefix-list FILTER-EIGRP seq 10 deny 10.17.36.0/24 ge 26 le 26
10.17.36-la başlayan və maskanın uzunluğu 26 bit olan bütün şəbəkələri qadağan edirik. 10.17.36.0/26 və 10.17.36.64/26 şəbəkə ünvanları bu şərtə cavab verir. 255.255.255.192 maskası isə /26 prefiksini bildirir .
ip prefix-list FILTER-EIGRP seq 15 deny 0.0.0.0/0 ge 30 le 30
Prefiks uzunluğu 30 olan bütün şəbəkələri qadağan edirik. Bizim topologiyada bu şərtə 10.1.1.0/30, 10.1.1.4/30, 10.1.2.0/30, 10.1.2.4/30 şəbəkələri və 10.9.2 ilə başlayan bütün şəbəkə ünvanları uyğun gəlir.
ip prefix-list FILTER-EIGRP seq 20 permit 0.0.0.0/0 le 32
Prefiks uzunluğu 32 bitə qədər olan bütün şəbəkələrə icazə veririk. Yerdə qalan bütün şəbəkə ünvanları bu şərtimizə cavab verir.
route-map-dan istifadə
Nəhayət gəldik route-map alətinə, yaxud da marşrut xəritələrinə. Ümumiyyətlə bu alətdən şəbəkədə tez-tez istifadə olunur. Bu çevik alət korportativ şəbəkədə marşrutları daha dəqiq tənzimləməyə imkan verir. Bu səbəbdən marşrut xəritələrinin iş prinsipini yaxşı öyrənmək lazımdır. Ona görə oncə onların iş prinisipini izah edib, ardınca da marşrutların filtrlənməsində istifadəsini göstərəcəyəm.
Route-map-lar proqramlaşdırma dillərindəki if, else, then məntiqinə bənzər məntiq işlədirlər. Bir marşrut xəritəsi özündə bir neçə route-map komandası cəmləyə bilər və router həmin komandaları sətrin nömrəsinə uyğun yerinə yetirir. Sətr nömrələri əlavə olunmadığı halda sistem tərəfindən əlavə edilir. Sistem verilən şərtə uyğun marşrut tapıb icazə və qadağa barədə qərar verdikdən sonra, əlavə şərt olsa belə həmin marşrut üçün route-map komandasının icrasını dayandırır. Hər route-map match komandası ilə uyğunluq kriteriyası təyin olunur. route-map-ın sintaksisi aşağıdakı kimidir:
route-map route-map-name {permit | deny} seq sequence-number
match (1st set of criteria)
ACL-də və ya prefix-list-lərdə olduğu kimi, route-map-da da yeni qayda əlavə edən və ya silən zaman sıra nömrələrindən isitfadə etmək olar.
match komandasına ACL və ya prefikslər siyahısı vermək olar. Lakin burada çaşqınlıq yarana bilər ki, bu da Cisco IOS-un marşrut xəritəsini emal etməyi ilə əlaqədardır. Məsələ burasındadır ki, marşrutun elan edilib edilməməsinə qərar verən zaman route-map komandasında göstərilə permit və ya deny komandaları əsas götürülür. Başqa sözlə, marşrut yalnız ACL və ya prefikslər siyahısında permit komandası ilə müşayət edildiyi halda marşrut xəritəsi tərəfindən emal ediləcək. Əks halda isə həmin marşrutu nəzərə almayıb route-map komandasında yazılan başqa şərtlərin yoxlanılmasına keçəcək. Misal ilə izah edim:
access-list 101 permit 10.17.37.0 0.0.0.255
access-list 102 deny 10.17.35.0 0.0.0.127
route-map Test permit 5
match ip-address 101
route-map Test deny 10
match ip-address 102
Bu halda 10.17.37.0 marşrutu 5 nömrəli route-map emal edəcək, 10.17.35.0 şəbəkəsi isə nəzərə alınmayacaq. Çünki 102 saylı ACL-da həmin şəbəkə deny komandası ilə yazılıb və route-mapın təsiri altına düşməyəcək.
Marşrut xəritələrinin filtrasiya zamanı gördüyü işin əsas məqamlarına nəzər salaq:
- permit opsiyalı route-map marşrut match komandasında göstərilən kriteriyaya cavab verdiyi halda ya onun elan olunmasına icazə verir, ya da emal üçün növbəti bəndə ötürür;
- deny opsiyalı route-map marşrut match komandasında göstərilən kriteriyaya cavab verdiyi halda ya onun elan olunmasına icazə verir, ya da emal üçün növbəti bəndə ötürür;
- match komandası ACL və ya prefikslər siyahısına əsaslanırsa, marşrut isə həmin siyahılarda deny komandası ilə müşayət olunursa, həmin marşrut filtrlənməyəcək. Bu o deməkdir ki, həmin marşrut match komandasında göstərilən kriteriyaya uyğun deyil və emal edilməsi üçün növbəti bəndə buraxılmalıdır;
- hər route-map-ın sonunda aşkar imtina (explicit deny) komandası var; bu səbəbdən heç bir kriteriyaya uyğun gəlməyən marşrutların elan edilməsi üçün sonda permit opsiyalı, lakin match komandasız route-map yazmaq lazımdır.
Marşrut xəritələrinin filtrlənmədə istifadə etmək üçün distribute-list komandası və route-map route-map-name parametri istifadə edilir. Gəlin WAN1 routerda bəzi konfiqurasiyaları dəyişək. Eyni dəyişikliklər WAN2-də də edilməlidir. Əvvəlki misalda istifadə etdiyim prefikslər siyahısından yararlanacağıq, lakin cüzi dəyişikliklər ediləcək:
ip prefix-list MANUFACTURING seq 5 permit 10.17.35.0/24 ge 25 le 25
ip prefix-list MANUFACTURING seq 10 permit 10.17.36.0/24 ge 26 le 26
ip prefix-list POINT-TO-POINT seq 5 permit 0.0.0.0/0 ge 30 le 30

Dəyişikliklər ediləndən sonra istehsalat şöbəsinin şəbəkəsinə gedən marşrutlar, eləcə də point-to-point bağlantılar üçün istifadə olunan şəbəkələr filialla routerlarında olmayacaq. Həmçinin Core1 komutatorda point-to-point şəbəkələrinə gedən marşrutlar olmayacaq:

Bu qədər. Bu yazıda EIGRP protokolunda marşrutların filtrlənməsinin üç yolu ilə tanış olduq. Tövsiyə olunan metod prefikslər siyahısıdır, çünki onlar məhz bu iş üçün hazırlanıb. Marşrut xəritələri isə konfiqurasiyaya sərf edilən zaman baxımından effektiv deyil.
Növbəti yazımızda isə OSPF domenində marşrutları filtrləməkdən danışacağıq.
netadmin.az IT haqqında Azərbaycan dilində
5 comments
Pingback: OSPF protokolunda marşrutların filtrlənməsi • netadmin.az
Pingback: EoMPLS üzərindən IPSec DMVPN qurulması • netadmin.az
Pingback: Virtual Port-channel nədir? • netadmin.az
Pingback: BPG - ilkin sazlama və marşrutların elanı • netadmin.az
Pingback: BGP - ilkin konfiqurasiya və marşrutların elanı • netadmin.az