X
تبلیغات
نماشا
رایتل
پشم سنگ عایق الاستومری
دوشنبه 14 آذر‌ماه سال 1390
توسط: آلفا پک

چگونگی استفاده از ACL (Access list ) ها در IOS سیسکو

یک ACL در ios سیسکو برای مدیریت کردن ترافیک شبکه مورد استفاده قرار میگیرد .زمانیکه شما ترافیک یک شبکه رو مشخص میکنید میتوانید آنرا به روش های گوناگونی مدیریت کنید برای مثال شما میتوانید به آن اجازه ، رد ،محدود یا آز آن برای محدود کردن به روز شدن مسیر یابی (Routing Update ( استفاده نمایید .


چند نوع ACL داریم؟
Access-List میتواند یک از دو نوع زیر باشد:
استاندارد (Standard) یا توسعه یافته (Extended )
شماره گذاری ACL ها بین رنج اعداد زیر میبایستی باشد
1 تا 99 و 1300 تا 1999 برای ACL IP های استاندارد
100 تا 199 و 2000 تا 2699 برای ACL IP های توسعه یافته

یک ACL استاندارد فقط میتواند ترافیک را بر اساس IP مبداء (Source Ip ) تعیین کند این در حالی است که یک ACL توسعه یافته (Extended Access-list ) مبتواند ترافیک را بر اساس مبداء و مقصد و همچنین با شماره های پورت مبداء و مقصد تعیین کند
قابل ذکر است که با یک Standard ACL فقط ترافیک IP را میتوانیم تعیین کنیم حال آنکه با یک Extended ACL میتوانیم ترافیک های TCP, UDP, ICMP, IP, AHP, EIGRP, IGRP, ESP, IGMP, OSPF, و PIM را مشخص کنیم .
در پایین یک نمونه مثال در مورد تعریف کردن یک standard IP access-list را با هم میبینیم


در این access-list که با شماره 1 نام گذاری شده است به ترافیک که از آدرس IP مبداء 1.1.1.1 می آید اجازه عبور داده میشود .
پردازش ACL از بالا به پایین :

پردازش ACL از بالا به پایین :
خطهای یک access-list از بالا به پایین مورد پردازش قرار میگیرد .

به عنوان مثال ما access-list زیر را داریم :


این access-list برای فیلتر کردن ترافیک ورودی به یک روتر مورد استفاده قرار میگیرد . زمانی که یک پکت با ip مبداء 1.1.1.1 میخواهد وارد روتر میشود به access-list نگاه میکند . که آیا این ترافیک مجوز عبور دارد یا خیر ؟
به خاطر اینکه همانطوری که قبلا اشاره شد در access-list پردازش از بالا به پایین انجام میگیرد در این مثال از عبور ترافیک جلوگیری به عمل می آید و وقتی که ترافیک deny میشود میشود عمل پردازش access-list هم متوقف میشود.هر چند که در ادامه access-list همانطور که میبیند به پکتهای با مبداء 1.1.1.1 مجوز عبور permit)) داده شده است .

نکته :شما میتوانید یک access-list رو به سه آیتم اعمال کنید به PROTOCOL ، DIRECTION و INTERFACE بنابراین شما میتوانید یک access-list برای هر پروتکل از قبیل (IP, IPX, Appletalk, bridging و ... ) داشته باشید شما میتوانید یک ACL برای هر دو جهت IN یا OUT داشته باشید و همچنین شما میتوانید یک ACL برای هر اینترفیس (FastEthernet0/0, Serial0/0, Serial1/0و ...) داشته باشید.
نا گفته نماند که شما نمیتوانید دو تا IN-BOUND، IP access-lists برای اینترفیس یکسان داشته باشید.


Wildcard Mask:

یکی از مهمترین آیتم هایی که در نوشتن یک ACL استفاده میشود Wildcard Mask میباشد که برای تعیین رنج host های یک شبکه یا یک شبکه کامل استفاده میشود .

Wildcard Mask یک subnetmask معکوس میباشد

که برای یادگیری مفهوم Wildcard Mas میتوانید از پست های زیر استفاده نمایید




Deny ضمنی :

یکی دیگر از قوانین مهمی که در باره access-list میبایستی بدانیم این است که یک Deny ضمنی همیشه در انتهای یک ACL وجود دارد.معنی این جمله این است که در انتهای هر access-list عبارت access-list X deny ANY( اگر standard access-list باشد ) یا access-list X ip deny ANY ANY ( اگر یک extended access-list باشد ) یعنی اینکه اگر ترافیک شما بوسیله ACL که نوشته اید مجوز داده نشده باشد ترافیک شما deny میشود . اگر که شما به صورت دستی در ACL خود عبارت deny anyرا تایپ کنید این دستور زمان دیدن ACL ظاهر میشود و حتی اگر هم تایپ نکنید بازهم این دستور وجود دارد .

به مثال زیر را توجه کنید :

چه ترافیکی اجازه عبور دارد ؟


جواب این است که هیچ ترافیکی اجازه عبور از این ACL را ندارد چرا ؟
چون در این ACL فقط یک خط وجود دارد که ترافیک وب را deny میکند و بعد از آن هر چند که دستور دیگری قرار ندارد ولی همانطور که اشاره شد deny به صورت ضمنی در ACL ما اعمال میشود به همین دلیل هیچ ترافیکی اجازه عبور ندارد.

در ادامه بحث ما به نحوه چگونگی ایجاد و اعمال ACL خواهیم پرداخت .

مثالی برای فیلتر کردن ترافیک با استفاده از access-list :


همانطوری که در تصویر مشاهده می فرمائید . ما دو روتر داریم که میخواهیم در روترMashhad تنظیمی انجام دهیم که فقط به ترافیک ورودی وب یا www که از سمت روتر Tehran وارد روتر Mashhad میشود اجازه عبور دهیم . رنج آی *پی Tehran ، 10.10.1.0 با subnet mask، 255.255.255.0 میباشد . ما همچنین می خواهیم هر ترافیکی که مجوز عبور ندارد را log بگیریم برای این کار دوکار را انجام میدهیم ابتدا access-list را ایجاد میکنیم مطابق زیر :


MASHHAD (config)#access-list 120 permit tcp 10.10.1.0 0.0.0.255 any eq www
MASHHAD (config)#access-list 120 deny ip any any log


نکته : هما نطوری که میبینید در خط دوم access-list همه ترافیک deny شده است و همچنین در خط اول به جای استفاده از subnet mask ما از wildcard mask استفاده کرده ایم .و اینکه دانستن جهت یک ترافیک موضوع مهمی در ایجاد ACL است .(درایجاد ACL بالا همانطوری که میبینیم ابتدا ترافیک source یا مبداء و سپس destination یا مقصد را مشخص میکنیم ) و مبحث بعدی تشخیص نوع ترافیکی که عبور میکند (http یا WWW) میباشد که در این مثال محتوی ترافیک web server باپورت مقصد 80 یا WWW میتوانیم تعیین کنیم.

در مرحله بعد ACL ایجاد شده را به اینترفیس مورد نظر اعمال میکینیم.

MASHHAD(config)#interface Serial0
MASHHAD (config-if)#ip access-group 120 in


همانطوری که میبینید عبارت IN در انتهای دستور نوشته شده است که acl رابرروی ترافیک ورودی که از خط T1 WAN به داخل اینترفیس serial می اید اعمال میشود (در این مثال ترافیکی که از روترTehran می اید )

در انتها میتوانیم با دو دستور show ip access-lists و show ip interface serial0 تنظیمات خود را چک کنیم که در واقع دستور show ip access-lists به شما ACL که ایجاد کرده ایم نمایش میدهد و دستور show ip interface serial0 میتوانید که acl شما کجا و در چه جهتی اعمال شده است و در واقع با دستور show running-config هر دو مورد را میتوانید چک کنید .

محدود کردن دسترسی telnet با استفاده از access-list :

اجازه بدید یک مثال دیگه برای استفاده acl با هم بررسی کنیم . به عنوان مثال شما در روتر Mashshad میخواهید که یک سیستم با ip خاص از تهران بتواند به روتر Mashhad مجوزTelent زدن داشته باشد برای این کار بعد از ایجاد ACL میبایستی به جای اعمال کردن روی اینترفیس آنرا با توسط دستور access-class روی خطوط vty اعمال کنید . برای این کار شما نیاز به یک access-list استاندارد نیاز دارید . به عنوان مثال اگر آی پی سیستمی که می خواهید مجوز telnet بدهید 10.10.2.100 باشد به صورت زیر عمل میکنیم:

MASHHAD(config)#access-list 50 permit host 10.10.1.100


مرحله بعدی اعمال کردن این ACL به همه 5 خط vty میباشد :

MASHHAD(config)#line vty 0 4
MASHHAD(config-line)#access-class 50 in




موفق و مؤید باشید.
محسن عفیف پور