ابزار Route Map یکی از مهمترین، انعطاف پذیرترین و در عین حال پیچیده ترین ابزار دستکاری و فیلترینگ مسیر به شمار می آید که در ادامه با آن بسیار سروکار خواهیم داشت. لذا در این بخش قصد داریم این ابزار را مورد بررسی قرار دهیم و بیشتر با جزئیات آن آشنا شویم.

اگر به قالب کلی ابزار route map در ذیل توجه کنید، متوجه خواهید شد که این ابزار از چندین بخش اصلی تشکیل شده است.

  • ابزار route-map همانند access-list از چندین rule تشکیل می شود که همه rule ها نام یکسانی دارند.
  • هر rule در route-map همانند access-list با کلمات permit و یا deny همراه است که permit به معنی فیلتر نکردن و deny به معنی فیلتر کردن است. که کاربرد آن را در ادامه خواهیم دید.
  • همانند access-list ترتیب rule ها در این ابزار اهمیت دارد و لذا هر rule شماره ای دارد که اولویت یکی را نسبت به دیگری تعیین می کند. افزایش 10 تایی شماره rule ها ضروری نیست و به دلخواه شما قابل تغییر است.
  • هر rule با دستور match همراه است که مسیرهایی که قرار است فیلتر شوند و یا عبور داده شوند را جدا می کند.
  • یکی از مهمترین خصوصیات route-map دستور set در ادامه دستور match است. این بدان معنی است که route-map علاوه بر فیلترینگ مسیر، قابلیت دستکاری مسیر را نیز داراست. دستکاری پارامترهایی مانند metric، metric-type و tag با ابزار route-map امکان پذیر است. به این نکته نیز توجه کنیم در صورتی که هدف از بکارگیری route-map دستکاری مسیر (و نه فیلترینگ مسیر) باشد،  آنگاه استفاده از کلمات deny در دستورات route-map معنی نخواهد داشت و همواره از کلمه permit استفاده می گردد.
  • آخرین rule در route-map به صورت ضمنی deny است. بدین معنی که مسیرهایی که با هیچ یک از rule های route-map مطابقت نداشته باشند، فیلتر خواهند شد.
  • همانطور که بعدا خواهیم دید route-map در کاربردهای مختلفی بکار گرفته می شود. چنانچه route-map در PBR (در فصل آینده بحث خواهد شد) استفاده شود، کلمه deny به معنی فیلتر کردن نخواهد بود.  

route-map TEST {permit|deny} 10

 match X1

 set Y1

route-map TEST {permit|deny} 20

 match X2

 set Y2

route-map TEST {permit|deny} 30

 match X2

 set Y2

ابزار route-map

خوب این سوال پیش می آید که چگونه مسیرها با دستور match جدا می شوند. پاسخ به این سوال یکی از مباحث مهم ما خواهد بود که در ادامه به آن می پردازیم. خواهیم دید که جدا کردن مسیرها با انواع روش ها امکان پذیر است اما در اینجا اجازه بدهیم بگوییم که مسیرها را تا اطلاع ثانوی با access-list جدا می کنیم. به عبارت دیگر جلوی دستور match شماره و یا نام access-list را صدا می زنیم. هدف از ارائه این بحث این است که بپرسیم route-map و access-list چگونه در کنار هم قرار می گیرند در شرایطی که هم در access-list و هم در route-map از کلمات permit و deny استفاده می کنند؟ چگونه در کنار هم معنی پیدا می کنند؟

در پاسخ به سوال فوق باید گفت که کلمه permit و deny در access-list (چنانچه آن access-list در route-map صدا زده شود)، بدین معناست که آیا آن مسیر مد نظر ما هست و یا خیر. در صورتی که کلمه permit و deny در route-map به معنی فیلتر کردن و یا نکردن مسیر است. به عبارت دیگر کلمه permit و deny در access-list برای انتخاب و یا عدم انتخاب مسیر کاربرد دارد در حالی که کلمه permit و deny در route-map با هدف فیلترینگ مسیر مورد استفاده قرار می گیرد.

برای درک بهتر به این مثال توجه کنید که قصد داریم از بین مسیرهای زیرمجموعه 172.16.0.0/16، فقط مسیرهای 172.16.1.0/24 و 172.16.2.0/24 را فیلتر نماییم. به دو شیوه این مثال را حل می کنیم تا بهتر مفهوم permit و deny در access-list و route-map را از هم تفکیک کنیم. البته منظور از access-list صرفا access-list ای است که در route-map صدا زده می شود.

روش اول

 

!!!! access-list

access-list 1 permit 172.16.1.0 0.0.0.255

access-list 1 permit 172.16.2.0 0.0.0.255

!!! route-map

route-map TEST deny 10

 match ip address 1

route-map TEST permit 20

بکارگیری access-list در route-map و معنای کلمات permit و deny در این دو ابزار (مثال اول)

در access-list فوق دو شبکه 172.16.1.0/24 و 172.16.2.0/24 را permit کردیم و access-list را در route-map صدا می زنیم. این دقیقا بدین معناست که این دو مسیر مد نظر ماست و ما در مورد این مسیر صحبت می کنیم. اما در route-map و rule ای که این access-list را صدا می زنیم، از کلمه deny استفاده شده است. بدین معنی که مسیرهای مربوط به دو شبکه مورد نظر را فیلتر می نماییم. rule دوم route-map همه دیگر مسیرها را permit می کند. این بدان دلیل است که از دستور match در rule دوم استفاده نشده است و لذا با همه دیگر مسیرهایی که با rule اول match نشده اند، match خواهد شد.

روش دوم:

!!!! access-list

access-list 1 deny 172.16.1.0 0.0.0.255

access-list 1 deny 172.16.2.0 0.0.0.255

access-list 1 permit any

!!! route-map

route-map TEST permit 10

 match ip address 1

بکارگیری access-list در route-map و معنای کلمات permit و deny در این دو ابزار (مثال دوم)

در روش دوم مسیر دو شبکه 172.16.1.0/24 و 172.16.2.0/24 را در access-list بر خلاف مثال قبل deny می کنیم و بقیه شبکه ها را permit می کنیم. بدین معنی که هر شبکه ای غیر از دو شبکه فوق مد نظر است. اما در route-map و در rule ای که access-list را صدا می زنیم، از کلمه permit استفاده نمودیم. بدین معنی که همه شبکه ها غیر از دو شبکه فوق که مد نظر ما هستند، اجازه عبور دارند و فیلتر نمی شوند. اما از آنجایی که آخرین rule در route-map به صورت ضمنی deny است، بقیه مسیرها را فیلتر می کند و بنابراین دو شبکه 172.16.1.0/24 و 172.16.2.0/24 فیلتر خواهند شد.

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید