تا %60 تخفیف خرید برای 7 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

بررسی و پیکربندی Access List ها در سیسکو - قسمت دوم

در مقاله قبل به این نکته اشاره کردیم که Access Listها در سیسکو به دو نوع Standard Access List و Extended Access List تقسیم می شوند. در این مقاله به شما ضمن معرفی و تشریح این Access List ها به بررسی روش پیکیربندی آن بر روی Router ها نیز اشاره خواهیم کرد. در ادامه توضیحاتی در خصوص روش کارکرد هر یک از این Access List ها را ارائه خواهیم کرد.

Standard Access List: توسط این ACLها می توانید اقدام به کنترل ترافیک ورودی و خروجی براساس source ip address یا آدرس فرستنده نمایید و این نوع ACL قادر به کنترل ترافیک ورودی و خروجی براساس پروتکل ها و پورت ها و همچنین براساس آدرس مقصد نمی باشد. این ACLها از طریق شماره شناسایی می شوند. شماره های 99 – 1 و 1999 – 1300 مربوط به Standard Access Listها می باشد.

Extended Access List: این ACLها قادر به کنترل ترافیک ورودی و خروجی براساس پروتکل های لایه 3 مانند IP و همچنین پروتکل های TCP، UDP و همچنین براساس پورت ها و سایر پروتکل های شبکه مانند ICMP، IGMP، OSPF، EIGRP و ... می باشند. این ACLها از طریق شماره شناسایی می شوند. شماره های 199 – 100 و 2699 – 2000 مربوط به Extended Access Listها می باشد.

  • ACLهای استاندارد ساده ترین نوع ACLها می باشند و عمل فیلتر کردن ترافیک ها را فقط براساس آدرس IP منبع فرستنده پیام انجام می دهند. دستور زیر را می توان برای ایجاد یک ACL استاندارد به کار برد:
Router(config)#access-list 1-99| 1600-1999 permit| deny source_IP_address [wildcard_mask] [log]

برای درک بهتر و آسانتر از طریق یک سناریو پیکربندی Standard Access List بر روی یک روتر را نشان می دهیم:

آموزش ایجاد Access Control List در تجهیزات سیسکو

(نکته: به طور اشتباه gateway سرور، 192.168.1.1 نوشته شده که اصلاح میکنم: 192.168.2.1.... ،gateway شبکه سمت چپ 192.168.1.1 می باشد)

مرحله 1: پیکربندی IP Address روی اینترفیس های روتر:

Router(config)# interface fastEthernet 0/0
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)#exit
Router(config)# interface fastEthernet 0/1
Router(config-if)# ip address 192.168.2.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)#exit

مرحله 2: پیکربندی Standard Access List بر روی روتر:

Router(config)#access-list 1 deny host 192.168.1.3
Router(config)#access-list 1 permit any

در این مرحله ما یک access list نوع standard تعریف خواهیم نمود و شماره 1 را برای آن انتخاب می کنیم، همانطور که در دستور مشاهده می کنید، با این ACL مانع از دسترسی کامپیوتر PC2 به سرور خواهیم شد.

مرحله سوم: اعمال Access List به اینترفیس

در این مرحله ما می خواهیم این ACL شماره 1 را که در مرحله 2 ایجاد نموده ایم، به اینترفیس F0/0 برای Inbound اعمال نماییم. این عمل باعث می شود که هر ترافیکی که می خواهد به این اینترفیس وارد شود با قوانین داخل ACL شماره 1 بررسی شود که آیا اجازه عبور دارد یا خیر.

Router(config)#access-list 1 deny host 192.168.1.3        دستور اول

در این خط ما با دستور access list 1 یک ACL نوع استاندارد با شماره 1 تعیین نموده ایم. در ادامه همین دستور عبارت deny ذکر شده است که برای مانع شدن ترافیک استفاده می شود. در ادامه دستور کلمه host ذکر شده است، اشاره به تعریف یک host خاص با IP مشخص را دارد که آدرس این Host در این مثال 192.168.1.3 می باشد.نتیجه اعمال ACL: این خط از ACL مانع از عبور ترافیکی که مبدا آن pc-2 باشد، خواهد شد.

Router(config)#access-list 1 permit any         دستور دوم

در خط بعد، قانون دوم را به ACL 1 اضافه می کنیم که این بار به جای deny از عبارت permit استفاده شده است یعنی صدور اجازه عبور ترافیک و به جای تعیین شبکه یا host خاص به همه host اجازه داده شده است عبارت Any اشاره به کل آدرس های مبدا دارد. نتیجه اعمال ACL: این خط از ACL اجازه عبور ترافیک از هر آدرس مبدایی را که باشد خواهد داد.

مرحله 4: تصدیق پیکربندی ACL

مرحله بعد، ما از PC-2 که متصل به Switch1 می باشد، کامپیوتر Server، که متصل به Switch2 می باشد را ping میکنیم. همانطور که مشاهده می کنید، ارتباط بین PC2 و Server توسط ACL مسدود (deny) شده است.

بررسی و پیکربندی Access List ها در سیسکو - قسمت دوم

مرحله بعد ما از PC-1 کامپیوتر Server را ping می کنیم. همانطور که میبینید، ارتباط بین PC1 و Server توسط ACL اجازه یا permit داده شده است.

بررسی و پیکربندی Access List ها در سیسکو - قسمت دوم
  • در اینجا پیکربندی روتر را مشاهده می کنید*:

بررسی و پیکربندی Access List ها در سیسکو - قسمت دوم

اعمال محدودیت در دسترسی به طریق Telnet:

در کنار قابلیت ACLهای استاندارد برای کنترل ترافیک ورودی و خروجی از اینترفیس های روتر، می توان محدودیت هایی را در دسترسی از طریق telnet به روترها نیز اعمال کرد. مثلا می توان فقط مدیران را قادر ساخت که از طریق telnet با روتر شما اتصال برقرار نمایند.

اولین قدم، ایجاد یک ACL است که در لیست آن آدرس IP تمامی دستگاههایی که مدیران از طریق آن دستگاه ها به روتر ما ارتباط telnet را برقرار خواهند نمود مشخص کرده و اجازه دسترسی را به وسیله تایپ permit به آنها می دهیم. در مرحله بعدی ACL ایجادی خود را باید فعال سازیم، اما نه بر روی یکی از اینترفیس های روتر. در چنین وضعیتی ACL مربوطه را باید در Vty Line فعال سازیم.

به شکل زیر:

Router(config)# line VTY 0 4
Router(config)#access-class standard_ACL_# in|out

یادآوری این نکته ضروری است که به صورت پیش فرض 5 ارتباط همزمان telnet را می توان به یک روتر برقرار نمود که با مشخص کردن ارتباط اول، یعنی 0، و ارتباط آخر، یعنی 4، این ACL در روی تمامی 5 ارتباط فعال خواهند شد. اگر به خاطر دلایلی مثل فراموشی، ACL ایجاد شده را در روی تعدادی از ارتباطات telnet فعال نساخته باشیم، باعث بروز مشکلات امنیتی در شبکه خواهیم شد. پارامتر in باعث اعمال محدودیت بر روی ارتباطات telnet ورودی به روتر می شود. اما پارامتر out گزینه منحصر به فردی است. با به کار بردن این پارامتر می توان مشخص کرد که این روتر قادر به برقراری ارتباط telnet به وسیله دستورات telnet یا connect با چه دستگاههایی باشد. در ACLهای استاندارد این یک استثناء می باشد و روتر را مجبور می کند که آدرس های مشخص شده در قانون های ACL را به عنوان آدرس مقصد در نظر بگیرد. در این شرایط روتر قبل از اینکه اجازه برقراری telnet از طریق روتر خودمان به سوی دستگاههای دیگر را بدهد، ACL را بررسی کرده و در صورت لزوم اجازه را صادر خواهد کرد.


مثال ساده زیر ایجاد و فعال کردن یک ACL را برای یک ارتباط telnet نشان می دهد:

Router(config)#access-list 99 permit 192.168.1.0 0.0.0.255
Router(config)# line vty 0 4
Router(config-line)#access-class 99 in

در مثال بالا فقط دستگاههای موجود در شبکه 92.168.1.0/24 اجازه برقراری ارتباط به روتر ما را دارند. نیازی به نوشتن دستورات deny نداریم. زیرا که وجود implicit deny در آخر هریک از قانون های ACL بطور خود به خودی بقیه ترافیک ها به غیر از آنهایی که اجازه عبور دارند را حذف خواهند نمود.

در قسمت بعدی سری مقالات ACL مشاهده خواهید کرد که به وسیله استفاده از ACLهای extended نیز می توان در انتقال ترافیک روترها اعمال محدودیت نمود. اما مراحل این کار کمی پیچیده تر می باشد. ACLهای گستردهبر روی اینترفیس های روتر تاثیر می گذارند و نمی توان آنها را برای اعمال محدودیت در دسترسی telnet به دستگاههای دیگر مورد استفاده قرار داد. همچنین وقتی که یک ACL را در روی یک اینترفیس فعال می سازیم، کارایی آن اینترفیس کاهش خواهد یافت که بسته به مدل، نسخه نرم افزار IOS و امکانات دستگاه، این کاهش در کارایی و عملکرد دستگاه متفاوت خواهد بود. بنابراین اگر قصد اعمال محدودیت در دسترسی به طریق telnet را دارید، استفاده از ACLهای استاندارد و دستور access-list بهترین گزینه می باشد


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

Router(config)# access-list 2 deny 192.168.1.0
Router(config)# access-list 2 deny 172.16.0.0
Router(config)# access-list 2 permit 192.168.1.0
Router(config)# access-list 2 permit 0.0.0.0 255.255.255.255
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 1 out

مثال فوق دارای اشکالاتی می باشد. بنابراین به بررسی موارد آن می پردازیم.

قانون اول اجازه عبور به پیام های رسیده از سوی 192.168.1.0 را نخواهد داد. به دلیل اینکه wildcard mask مشخص نشده است، بنابراین ماسک فوق به صورت 0.0.0.0 بوده و نشان دهنده این است که باید مطابقت دقیق وجود داشته باشد. مشکل موجود در این قانون این است که ما اصولا این آدرس را نمی توانیم در شبکه به کار بگیریم.زیرا که آدرس 192.168.1.0/24 یک شماره شبکه می باشد و نه یک آدرس host.

  • نکته: اولین و آخرین آدرسی که در هر شبکه قرار می گیرد را نمی توان به hostها یا دستگاههای شبکه اختصاص داد. اولین آدرسی که در هر شبکه وجود دارد را به نام شماره شبکه یا Network Broadcast می نامیم.

قانون دوم نیز دچار همین مشکل است اما قانون های سوم و چهارم صحیح نوشته شده اند.

می بینید که تنظیم یک ACL می تواند کار زیرکانه ای باشد. به هر صورت، شکل صحیح تری از مثال بالا به صورت زیر خواهد بود:

Router(config)# access-list 2 deny 192.168.1.0 0.0.0.255
Router(config)# access-list 2 deny 172.16.0.0 0.0.255.255
Router(config)# access-list 2 permit 192.168.1.1
Router(config)# access-list 2 permit 0.0.0.0 255.255.255.255
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 1 out

همانطوریکه میبینید قانون اول اجازه عبور به ترافیک رسیده از کل شبکه 192.168.1.0/24 را نخواهد داد.

قانون دوم نیز به همین شکل اجازه عبور به ترافیک مربوط به شبکه 172.16.0.0/16 را نمی دهد.

قانون سوم این اجازه را به دستگاهی با آدرس 192.168.1.1 داده و قانون چهارم نیز همه ترافیک های رسیده را می پذیرد. اما هنوز مشکلی در دستورات فوق به چشم می خورد. به قانون های اول و سوم توجه کنید. آیا روتر قانون سوم را پردازش خواهد کرد یا نه؟ اگر جواب شما "نه" باشد درست حدس زده اید.گفته شد که در نوشتن قانون های یک ACL باید موارد اختصاصی تر را در اول قرار دهیم. در مثال بالا وقتی روتر قانون اول را می بیند، تمامی ترافیک مربوط به شبکه 192.168.1.024 را حذف خواهد نمود. در حالیکه در قانون سوم اجازه عبور به ترافیک دستگاه 192.168.1.1 که جزئی از 192.168.1.024 می باشد داده شده است. روتر با پردازش قانون اول، ترافیک رسیده از 192.168.1.1 را حذف خواهد نمود و دیگر فرصت برای بررسی قانون سوم نخواهد رسید. برای همین باید قانون سوم را در ابتدا و قبل از قانون اول بیاوریم. یعنی به شکل زیر:

Router(config)# access-list 2 permit 192.168.1.1
Router(config)# access-list 2 deny 192.168.1.0 0.0.0.255
Router(config)# access-list 2 deny 172.16.0.0 0.0.255.255
Router(config)# access-list 2 permit any
Router(config)# interface ethernet 0
Router(config-if)# ip access-group 1 out

بانگاه دقیق تر به دستورات بالا باز هم مشاهده خواهید کرد که یک مشکل دیگر هنوز باقی مانده و آن هم این است که ما شماره ACL را در موقع فعال کردن در روی Ethernet 0 به اشتباه روی عدد "2" تنظیم کرده ایم که این عدد باید برابر با "1" باشد.

بنابراین قسمت آخر دستور نوشته شده را به صورت زیر اصلاح می کنیم:

Router(config)# interface ethernet 0
Router(config-if)#  no ip access-group 1 out
Router(config-if)#  ip access-group 2 out

البته این نکته را از یاد نبرید که قبل از فعال کردن ACL جدید در ابتدا باید ACL قدیم را حذف کرده و سپس اقدام به آن کار نمایید

نویسنده: عاطفه حسین زاده

منبع: جزیره سیسکو وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع دارای اشکال اخلاقی می باشد

بررسی و پیکربندی Access List ها در سیسکو - قسمت دوم
نظر شما
برای ارسال نظر باید وارد شوید.
7 نظر
افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند