در مقاله قبلی با مفاهیم و عملکرد Access Control List یا ACL آشنا شدیم در این آموزش یکی از انواع ACL را معرفی و نحوی تنظیم و استفاده از آن را بیان می کنیم ، سیسکو دو نوع Access list با نام های Standard ACL و Extended ACL معرفی کرده است. Standard ACL قدیمی ترین و ساده ترین نوع Access List است که در نسخه IOS 8.3 سیسکو ارائه شده است.
Standard ACL ترافیک را به وسیله مقایسه آدرس مبدا بسته ها با آدرس تعریف شده در ACL کنترل می کند. در همه نسخه ها ، برای Standard ACL می توان یک عدد از 1 تا 99 در نظر گرفت. از نسخه IOS 11.2 سیسکو امکان تعریف Standard ACL به وسیله نام فراهم شد و همچنین از نسخه IOS 12.0.1 سیسکو محدود عددی بین 1300 تا 1999 برای Standard ACL اضافه شد.نحوی تعریف Standard ACL در حالت عددی:
access-list access-list-number {permit|deny} {host|source-wildcard|any}
- access-list-number : عدد بین 1 تا 99 یا 1300 تا 1999
- permit|deny : عملی که در هنگام تطبیق بسته با َACL نسبت با آن گرفته می شود(اجازه عبور یا عدم اجازه)
- host-source-wildcard-any : مشخص کردن IP به یکی از سه روش زیر:
- Host : یک ادرس IP مشخص می کنیم مانند Host 192.168.1.1
- Any : هر IP آدرسی
- source source-wildcard : تعیین یک IP به همراه Wildcard Mask
دوره آموزشی CCNA Routing&Switching
نحوی تعریف Standard ACL با استفاده از نام :
IP Access-list {standard|extended} name {permit|deny} {host|source source-wildcard|any}
نحوی تخصیص به Standard ACL اینترقیس:
Ip access-group {number|name} {in|out}
یک مثال عملی برای درک بهتر Standard ACL :
با توجه به تصویر زیر ، می خواهیم به وسیله Standard ACL امکان دسترسی PC1 را به سرور قطع کنیم:
دوره آموزشي CCNP Enterprise ENCOR
برای اینکار با استفاده از IP آدرس PC1 یک ACL در Global Mode به صورت زیر تعریف می کنیم:
تعریف به صورت عددی:
Router(config)#access-list 10 deny host 192.168.1.1 Router(config)#access-list 10 permit any
تعریف با استفاده از نام:
Router(config)#ip access-list standard itpro Router(config-std-nacl)#deny host 192.168.1.1 Router(config-std-nacl)#permit any
سپس آنرا به اینترفیس مورد نظر با استفاده از دستور زیر اختصاص می دهیم:
Router(config)#interface fastEthernet 0/1 Router(config-if)#ip access-group 10 out
- نکته : برای هر یک از جهت های ترافیک تنها یک ACL می توان در نظر گرفت در نتیجه حداکثر به یک اینترفیس می توان دو ACL اختصاص داد.
اگر در یادگیری سیسکو مشکل دارید ، به شما پیشنهاد می کنیم از طریق دوره های آموزش سیسکو حرفه ای سایت توسینسو و با دوره آموزش CCNA روتینگ و سویچینگ شروع کنید ، فراموش نکنید که پیشنیاز همه این دوره های آموزش شبکه ، دوره آموزش نتورک پلاس است ، فراموش نکنید توسینسو اولین و بهترین انتخاب شما در حوزه آموزش فناوری اطلاعات فارسی است.
ببینید توی شبکه معمول ارتباط بین کلاینت و سرورها را توسط فایروال مدیریت می کنن و و بخاطر مکانیزم فایروال که stateful هست اینکار به راحتی انجام میشه. اما در برخی شرایط که ما به دلایل مختلف فایروال نداریم و می خوایم با ACL اینکار را بکنیم باید از extended ACL استفاده کنیم که علاوه بر IP میتونیم port را هم کنترل کنیم و براساس port و IP بتونیم فیلترینگ مورد نظرمون را انجام بدیم.
مرسی ولی الان چیکار کنیم که سرور به پیسی دسترسی داشته باشه ولی پیسی به سرور نه یعنی قطع بودن ارتباط دو طرفه نباشه؟
فقط می خواستم تشکر کنم برای مطالب تون خیلی مفیدن
زمانی که شما یک acl می نویسید از خط اول بررسی انجام میشه و اولین خطی که مطابقت پیدا کنه در نظر گرفته حالا اگه permit مشخص کرده باشید که permit میشه و اگه deny مشخص کرده باشید اونو deny می کنه و اگه با هیچ کدوم از مواردی که شما مشخص کردید مطابقت پیدا نکرد اونو deny می کرد
توی مثلا شما 192.168.10.10 که مشخص کردید permit میشه و مابقی deny میشن
توی قسمت دوره های سایت یک دوره رایگان در مورد ACL ها گذاشتم اونو ببینید کامل متوجه عملکرد acl ها میشید
سلام خسته نباشید ببخشید اگه ما مثلا تو هر سناریویی مثلا میگیم
permit 192.168.10.10
چی میشه ؟ همه رو deny میکنه یا همه رو permit میکنه تو خط بعدش؟
با سلام
مرسی از مقاله خوبتون
سوالی در مورد سناریو بالا داشتم:
اگر این acl را روی fast0/0 اعمال میکردیم باز هم جواب میگرفتیم ؟
,وچرا زمانی که روی fas0/1 اعمال می کنم ولی از in استفاده می کنم دسترسی داره به سرور؟
ممنون میشم اگه راهنمایی کنید
با سلام
مرسی از مقاله خوبتون
سوالی در مورد سناریو بالا داشتم:
اگر این acl را روی fast0/0 اعمال میکردیم باز هم جواب میگرفتیم ؟
,وچرا زمانی که روی fas0/1 اعمال می کنم ولی از in استفاده می کنم دسترسی داره به سرور؟
ممنون میشم اگه راهنمایی کنید
توی دستورات یک خط کد permit any جا افتاده بود که توی متن اصلاحش کردم الان کد های بالا را استفاده کنید باید درست کار کنه
باتشکر ازشما..من تمام این کارایی رو گفتین کردم ولی کامپیوترشماره2 هم نمیتونه به سرور وصل بشه..مگه فقط برا کامپیوتر1 اعمال نکردین؟