فیلترینگ مسیر چیست و چه کاربردی دارد؟

همه با ابزار Access-List که فیلترینگ ترافیک انجام می دهد، آشنا هستیم. با این ابزار می توان کنترل کاملی روی ترافیک شبکه داشت.

توجه داشته باشید که این ابزار کنترل ترافیک شبکه را در زمان ارسال ترافیک انجام می دهد و به اصطلاح گفته می شود که این ابزار در لایه Data Plane کار می کند. این ابزار قادر است ترافیک را بر اساس هر یک از فیلدهای لایه 2، لایه 3 و لایه 4 کنترل نماید. با ابزارهای پیشرفته تر که فایروال نامیده می شوند، کنترل ترافیک تا لایه 7 نیز امکان پذیر است

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

در همه پروتکل های مسیریابی، فیلترینگ مسیر در دو زمان قابل اعمال است

  •  زمان ارسال و دریافت مسیر از روی اینترفیس
  • در زمان Redistribution و یا خروج مسیر از یک پروتکل به پروتکل دوم

در این بخش فقط حالت اول فیلترینگ، یعنی موقع ورود و خروج از اینترفیس مورد نظر می باشد.

در پروتکل های مختلف ابزارهای مختلفی برای فیلترینگ وجود دارد. در EIGRP ابزار فیلترینگ، distribute-list است. با استفاده از این ابزار، هم موقع ورود به اینترفیس و هم موقع خروج از اینترفیس فیلترینگ امکان پذیر خواهد بود. در پروتکل OSPF نمی توان از این ابزار برای فیلترینگ مسیر در زمان خروج از اینترفیس استفاده نمود و فقط موقع ورود به اینترفیس قابل بکارگیری است که در فصل OSPF به دلیل آن اشاره می کنیم.

در دستور distribute-list می توان از دو ابزار access-list و prefix-list برای انتخاب شبکه هایی که قصد فیلترینگ آنها را دارید، استفاده کرد. در صورت استفاده از ابزار access-list روی شماره subnet کنترل کامل دارید اما روی mask کنترل کافی وجود ندارد. به عبارت دیگر می توانید بگویید شبکه هایی که شماره subnet آن با 192.168.x.x شروع می شود را فیلتر کن اما نمی توانید بگویید شبکه هایی که شماره subnet آن با 192.168.x.x شروع می شود و mask آن /24 تا /25 است را فیلتر کنید. اگر از ابزار prefix-list به جای access-list در distribute-list استفاده کنید، کنترل کاملی هم روی شماره subnet و هم mask وجود دارد.

قبل از معرفی ابزار distribute-list مروری بر access-list و prefix-list خواهیم داشت. البته باید توجه کرد که access-list ای که در distribute-list استفاده می شود، عمدتا از نوع استاندارد است و نیازی به access-list توسعه یافته نیست.

اگر access-list زیر را در distribute-list صدا بزنیم، پروتکل EIGRP غیر از شبکه هایی که با 192.168.1.x و 172.16.1.x شروع شود، بقیه مسیرها را فیلتر می کند. کلمه permit مجاز نمودن مسیر شبکه و کلمه deny مجاز نبودن و یا فیلتر شدن مسیر شبکه ها را اعلام می کند.

access-list 1 permit 192.168.1.0 0.0.0.255

access-list 1 permit 172.16.1.0 0.0.0.255

مثال اول: چگونگی بکارگیری access-list در کنترل مسیرهای شبکه

در مثال زیر در صورت بکارگیری access-list در distribute-list، فقط مسیر شبکه هایی که با 192.168.1.x شروع می شوند، فیلتر می گردد. مسیر دیگر شبکه ها یاد داده شده و یاد گرفته می شوند.

access-list 2 deny   192.168.1.0 0.0.0.255

access-list 2 permit any

مثال دوم: چگونگی بکارگیری access-list در کنترل مسیرهای شبکه

در مثال زیر، prefix-list به مسیر 192.168.1.0/24 اشاره می کند. توجه کنید که هم شماره subnet و هم mask در prefix-list قابل تعیین است. مسیر 192.168.1.0/24 در EIGRP فیلتر نمی گردد. اما بقیه مسیرها فیلتر می شوند.

ip prefix-list PF2 permit 192.168.1.0/24

مثال اول: چگونگی بکار گیری prefix-list در کنترل مسیرهای شبکه

در Prefix-list این قابلیت وجود دارد که با بکارگیری عبارات ge و le محدوده mask را هم مشخص نماییم. ge به معنی بزرگتر مساوی و le به معنای کوچکتر مساوی است.

!!! در مثال زیر مسیر شبکه 192.168.1.x با mask در محدوده /24 تا /28 مورد نظر است

ip prefix-list PF2 permit 192.168.1.0/24 le 28

!!! در مثال زیر مسیر شبکه 192.168.x.x با mask در محدوده /28 تا /32 مورد نظر است

ip prefix-list PF3 permit 192.168.0.0/16 ge 28

!!! در مثال زیر مسیر شبکه 192.168.1.x با mask در محدوده /26 تا /28 مورد نظر است

ip prefix-list PF4 permit 192.168.1.0/24 ge 26 le 28

!!! در مثال زیر مسیر شبکه default مورد نظر است

ip prefix-list PF5 permit 0.0.0.0/0

!!! در مثال زیر مسیر همه شبکه ها مورد نظر است

ip prefix-list PF6 permit 0.0.0.0/0 le 32

مثال دوم: چگونگی بکارگیری prefix-list در کنترل مسیرهای شبکه

البته پرواضح است که همانند access-list کلمه permit در prefix-list به معنی فیلتر نشدن مسیر و کلمه deny نیز فیلتر شدن مسیر را خواستار است.

حال به بحث distribute-list برگردیم. برای کنترل مسیرهای شبکه از دستور زیر استفاده می کنیم.

!!! اجرای distribute-list در زمان ورود به اینترفیس

distribute-list {access-list-number | prefix prefix-list-name} in [interface-type interface-number]

 

 

!!! اجرای distribute-list در زمان خروج از اینترفیس

distribute-list {access-list-number | prefix prefix-list-name} out [interface-name | routing-process | as-number]

چگونگی بکارگیری دستور distribute-list در کنترل مسیرهای شبکه

دستور distribute-list را در محیط router eigrp وارد می نماییم. در انتهای دستور نام و شماره اینترفیسی که قصد کنترل مسیر روی آن دارید، را وارد می نمایید. با توجه به جهت کنترل مسیر، یکی از دو کلمه in و یا out را وارد می نماییم. همانطور که در دستور فوق دیده می شود، در این ابزار می توان access-list و یا prefix-list را صدا زد. بدیهی است که prefix-list انعطاف پذیری بیشتری در اختیار ما قرار می دهد.

در مثال زیر سعی شده است هم از access-list و هم از prefix-list برای کنترل مسیرهای شبکه استفاده شود. در IOU1 مسیر شبکه 172.16.2.0/25 را موقع خروج از اینترفیس و مسیر شبکه 172.17.4.0/22 را در زمان ورود به اینترفیس فیلتر می کنیم. در IOU2 نیز مسیر شبکه 172.17.2.0/25 را در زمان خروج از اینترفیس و مسیر شبکه 172.16.4.0/22 را در زمان ورود به اینترفیس فیلتر می کنیم. در ذیل خروجی جدول مسیریابی قبل و بعد از فیلترینگ نشان داده شده است.

کتترل مسیرهای شبکه با ابزار distribute-list در EIGRP

کتترل مسیرهای شبکه با ابزار distribute-list در EIGRP

!!! در ابتدا خروجی جدول مسیریابی قبل از هر گونه فیلترینگ در دو روتر IOU1 و IOU2 نشان داده شده است

IOU1#sh ip route eigrp

!!! بخشی از خروجی حذف شده است

      172.17.0.0/16 is variably subnetted, 4 subnets, 3 masks

D        172.17.1.0/24 [90/409600] via 10.1.1.2, 00:00:15, Ethernet0/0

D        172.17.2.0/25 [90/409600] via 10.1.1.2, 00:00:15, Ethernet0/0

D        172.17.3.0/24 [90/409600] via 10.1.1.2, 00:00:15, Ethernet0/0

D        172.17.4.0/30 [90/409600] via 10.1.1.2, 00:00:15, Ethernet0/0

IOU2#sh ip route eigrp

!!! بخشی از خروجی حذف شده است

      172.16.0.0/16 is variably subnetted, 4 subnets, 3 masks

D        172.16.1.0/24 [90/409600] via 10.1.1.1, 00:02:42, Ethernet0/0

D        172.16.2.0/25 [90/409600] via 10.1.1.1, 00:02:42, Ethernet0/0

D        172.16.3.0/24 [90/409600] via 10.1.1.1, 00:02:42, Ethernet0/0

D        172.16.4.0/22 [90/409600] via 10.1.1.1, 00:02:42, Ethernet0/0

!!! در IOU1، از ابزار prefix-list در کنترل مسیرهای ارسالی و دریافتی استفاده می کنیم. در زمان ارسال فقط مسیرهایی را فیلتر می کنیم که با 172.16.x.x شروع می شوند و mask آنها نیز از /25 بزگتر و یا مساوی باشد. در مثال ما فقط مسیر شبکه 172.16.2.0/25 با این مشخصات مطابقت دارد. در زمان ورود نیز مسیر شبکه 172.16.4.0/22 فیلتر می شود که در آن، هم شماره subnet شبکه و هم شماره mask دقیقا ذکر شده است

!!! IOU1

ip prefix-list OUT seq 5 deny 172.16.0.0/16 ge 25

ip prefix-list OUT seq 10 permit 0.0.0.0/0 le 32

!

ip prefix-list IN seq 5 deny 172.17.4.0/22

ip prefix-list IN seq 10 permit 0.0.0.0/0 le 32

!

router eigrp 1

 distribute-list prefix IN in Ethernet0/0

 distribute-list prefix OUT out Ethernet0/0

 

!!! در IOU2، از access-list استاندارد برای کنترل ترافیک در هر دو جهت ورود و خروج از اینترفیس استفاده شده است. در زمان خروج از اینترفیس فقط مسیر شبکه هایی که با 172.17.2.0xxx xxxx شروع می شوند، فیلتر شده است که در مثال ما فقط با 172.17.2.0/25 مطابقت دارد. در زمان ورود به اینترفیس نیز مسیر شبکه هایی فیلتر شده است که با 172.16.0000 01xx.x شروع شده است. در مثال ما فقط شبکه 172.16.4.0/22 با این مشخصات مطابقت دارد

!!! IOU2

 

ip access-list standard OUTACL

 deny   172.17.2.0 0.0.0.127

 permit any

!

ip access-list standard INACL

 deny   172.16.4.0 0.0.3.255

 permit any

!

router eigrp 1

 distribute-list INACL in Ethernet0/0

 distribute-list OUTACL out Ethernet0/0

 

!!! IOU1, IOU2

IOU1#sh ip route eigrp

      172.17.0.0/24 is subnetted, 2 subnets

D        172.17.1.0 [90/409600] via 10.1.1.2, 00:17:07, Ethernet0/0

D        172.17.3.0 [90/409600] via 10.1.1.2, 00:17:07, Ethernet0/0

 

IOU2#sh ip route eigrp

      172.16.0.0/24 is subnetted, 2 subnets

D        172.16.1.0 [90/409600] via 10.1.1.1, 00:17:36, Ethernet0/0

D        172.16.3.0 [90/409600] via 10.1.1.1, 00:17:36, Ethernet0/0

مثالی از بکارگیری distribute-list در کنترل مسیرهای شبکه در EIGRP

بنابراین در EIGRP هم موقع ورود و خروج از اینترفیس امکان فیلترینگ وجود دارد که در این بخش به جزئیات آن پرداختیم. علاوه بر آن در زمان redistribution به پروتکل EIGRP نیز امکان فیلترینگ وجود دارد که در فصل redistribution به تفصیل به آن خواهیم پرداخت. اما روش های غیر مشهور دیگری نیز در فیلترینگ وجود دارد. به عنوان مثال تغییر distance پروتکل مسیریابی به 255 برای مسیر هر شبکه ای که مد نظر داشته باشید، آن مسیر را از جدول مسیریابی حذف می کند. چگونگی تغییر distance را نیز در فصل redistribution مورد بررسی قرار می دهیم.

نوشتن دیدگاه


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