درس هجدهم – کار با اکسس لیست (Access List)

از Access List برای مدیریت ترافیک در شبکه استفاده می‌شود، مثلاً شما می‌توانید به یک یا چند کامپیوتر اجازه دسترسی به منابع خاصی از شبکه را ندهید که یکی از مهم‌ترین بخش‌های کار در شبکه است.

در کل دو نوع Access List در شبکه داریم که با شماره‌های مختلف مشخص شده‌اند.

  • Access List استاندارد با شماره‌های ۱ تا ۹۹ و ۱۳۰۰ تا ۱۹۹۹.
  • Access List پیشرفته با شماره­های ۱۰۰ تا ۱۹۹ و ۲۰۰۰ تا ۲۶۹۹.

Access List استاندارد

این نوع از Access List ها از شماره‌های ذکرشده در بالا استفاده می‌کنند و فقط ترافیک‌های مربوط به مبدأ را مورد بررسی قرار می‌دهند. با نحوه­ی کار این Access List آشنا می‌شویم.

Deny: این دستور در access List برای جلوگیری از دسترسی یک Node خاص به یک شبکه­ی دیگر است که بسیار پرکاربرد و خطرناک است، به دلیل اینکه با یک اشتباه، نصف یا کل شبکه از کار می‌افتد.

Permit: این دستور ضد دستور Deny است و برای دسترسی به شبکه کاربرد دارد.

در این مثال می‌خواهیم از دسترسی pc1 به Pc3 و Pc4 جلوگیری کنیم.

وارد روتر می­شویم و دستورات زیر را به ترتیب وارد می­کنیم:

Router(config)#ip access-list standard dpc1

در قسمت اول باید access List را تعریف کنیم؛ هم می‌توانیم با نام و هم می‌توانیم با شماره تعریف کنیم که در این قسمت از نام dpc1 استفاده کردیم. شما می‌توانید هر اسم دیگری در این قسمت قرار دهید و یا از شماره استفاده کنید، اما همیشه سعی کنید از نام استفاده کنید که مدیریت آن آسان باشد.

Router(config-std-nacl)#deny 192.168.1.2 0.0.0.0

با این دستور، ip address مربوط به pc1 را Deny می‌کنیم. اگر توجه کنید در قسمت اول، دستور Deny و بعد، ip address مربوط بهpc1 و بعد از آن که مهم است از Wildcard Mask تأکیدی استفاده کردیم، یعنی استفاده از ۴ تا صفر که تأکید بر Deny کردن همین ip را دارد. اگر wild Card Mask را به صورت ۰.۰.۰.۲۵۵ وارد کنیم، یعنی تمام ip address ها در رنج ۱۹۲.۱۶۸.۱.۰ فیلتر شود، پس سعی کنید از Wild card Mask تأکیدی استفاده کنید.

Router(config-std-nacl)#permit any

بعد از Deny حتماً از Permit استفاده کنید، چون هر زمان که از Deny استفاده می‌کنید، بقیه­ی شبکه هم deny می‌شود و به خاطر همین از Permit Any استفاده می‌کنیم تا بقیه­ی شبکه اجازه­ی دسترسی داشته باشند.

بعد از تعریف کامل access List باید به روتر بگوییم که این فیلترینگ را روی کدام پورت انجام بدهد، پس وارد روتر می‌شویم. اگر توجه کنید می‌خواهیم دسترسی pc1 به pc3 و pc4 جلوگیری کنیم، پس باید در پورت Fa0/1 روتر دستور زیر را وارد کنیم:

Router(config)# int f0/1
Router(config-if)#ip access-group dpc1 out

به دستور توجه کنید،ip Access-group  را تعریف و بعد از آن، نام Access List که ایجاد کرده­ایم را وارد می‌کنیم.  گفتیم ترافیک این access List در زمان خروج از اینترفیس فیلتر شود. اگر به جای out، گزینه­ی in را انتخاب می­کردید، این بدان معنا بود که شما access List را برای شبکه­ی ۱۹۲.۱۶۸.۲.۰ نوشتید که این امر اشتباه است و این access list عمل نمی‌کند.

و حالا اگر ازpc1  به pc3 و pc4، Ping کنید، با پیام زیر مواجه می‌شوید:

PC>ping 192.168.2.3
Pinging 192.168.2.3 with 32 bytes of data:
Reply from 192.168.1.1: Destination host unreachable.
Reply from 192.168.1.1: Destination host unreachable.
Reply from 192.168.1.1: Destination host unreachable.
Reply from 192.168.1.1: Destination host unreachable.

و حالا اگر از طریق pc2 بخواهید pc3 و pc4 را Ping کنید، جواب خواهید گرفت.

PC>ping 192.168.2.3
Pinging 192.168.2.3 with 32 bytes of data:
Reply from 192.168.2.3: bytes=32 time=1ms TTL=127
Reply from 192.168.2.3: bytes=32 time=0ms TTL=127
Reply from 192.168.2.3: bytes=32 time=0ms TTL=127
Reply from 192.168.2.3: bytes=32 time=0ms TTL=127
Ping statistics for 192.168.2.3:

    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),

Approximate round trip times in milli-seconds:

    Minimum = 0ms, Maximum = 1ms, Average = 0ms

برای قرار دادن توضیحات روی یک Access List، باید از دستور Remark استفاده کرد:

Router(config-std-nacl)# remark Access List Deny Pc1

برای مشاهده­ی این دستور باید وارد Running-config شوید تا این پیام را مشاهده کنید.

Router# show Running-Config
access-list 20 remark Access List Deny Pc1

Access List پیشرفته

این نوع Access List از شماره‌های ۱۰۰ تا ۱۹۹ و ۲۰۰۰ تا ۲۶۹۹ تشکیل شده است و می‌تواند ترافیک مربوط به مبدأ و مقصد را مورد بررسی قرار دهد، حتی می‌توانید پروتکل‌ها یا برنامه‌های خاص را Deny یا Permit کنید.

مثال۵: در این مثال می‌خواهیم Telnet را روی روتر راه‌اندازی کنیم و accessList بنویسیم که از دسترسی Pc2 به Telnet جلوگیری کند.

وارد روتر می‌شویم و به صورت زیر عمل می‌کنیم:

Router(config)#ip access-list extended Dpc2tel

یک access List extended با نام Dpc2tel را ایجاد کردیم که شما می‌توانید به جای این نام از نام دلخواه یا از شماره‌های ذکرشده در قسمت قبل استفاده کنید.

Router(config-ext-nacl)# deny tcp 192.168.2.0 0.0.0.255 any eq 23

 در این قسمت برای Deny کردن pc2 برای جلوگیری از Telnet، باید از پروتکل Tcp و پورت ۲۳ که مربوط به Telnet است را Deny کنید. در زیر جدول مربوط به پروتکل‌ها و شماره­ی پورت‌ها مشخص شده است.

Router(config-ext-nacl)# deny tcp 192.168.2.0 0.0.0.255 any eq 23

چون در اینجا قرار است که Telnet را برایpc2  ببندیم، از پروتکل TCP طبق جدول و از پورت ۲۳ که مربوط به Telnet است، استفاده می‌کنیم، پس به این صورت بخوانیم که Deny کن، پروتکل TCP را برای شبکه­ی ۱۹۲.۱۶۸.۲.۰ با Wild Card mask، ۰.۰.۰.۲۵۵ و با پورت ۲۳ که مربوط به Telnet است.

نکته: بعد از این کار، تمام ترافیک مربوط به شبکه­ی ۱۹۲.۱۶۸.۲.۰ فیلتر می‌شود، به خاطر این باید از دستور زیر در آخر کار برای Permit دادن به بقیه­ی شبکه استفاده کرد.

Router(config-ext-nacl)#permit ip any any

با این کار، pc2 می‌تواند با روتر ارتباط داشته باشد و فقط پروتکل Telnet بسته شده است. اگر یادتان باشد در access List standard همه­ی ترافیک مربوط به یک دستگاه فیلتر می‌شد و حق دسترسی به هیچ عنوان نداشت، اما در accesslist Extended این چنین نیست و فقط pc2 نمی‌تواند Telnet کند، اما می‌تواند روتر را ping  کند.

در ادامه باید این access List را روی پورت روتر فعال کنیم:

Router(config-if)#ip access-group Dpc2tel in

پس این دستور به این صورت خوانده می‌شود که Ip access-group Dpc2tel را بر روی این پورت به صورت ورودی فعال کن، ورودی یعنی این­که Pc2 در حال ورود به روتر است. اگر از Pc2 به روتر Telnet کنیم، جواب نمی‌دهد.

PC>telnet 192.168.2.1
Trying 192.168.2.1 ...
% Connection timed out; remote host not responding

اما اگر به روتر ping کنیم، جواب می‌گیریم:

PC>ping 192.168.2.1
Pinging 192.168.2.1 with 32 bytes of data:
Reply from 192.168.2.1: bytes=32 time=1ms TTL=255
Reply from 192.168.2.1: bytes=32 time=0ms TTL=255
Reply from 192.168.2.1: bytes=32 time=0ms TTL=255
Reply from 192.168.2.1: bytes=32 time=0ms TTL=255
Ping statistics for 192.168.2.1:
   Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
   Minimum = 0ms, Maximum = 1ms, Average = 0ms

دستورShow access-lists

این دستور، تعداد Access List های موجود در روتر را با جزئیات نمایش می‌دهد:

Router(config)#do sh ip access-list
Extended IP access list Dpc2tel

دوستان توجه داشته باشید که دستورات به صورت خلاصه‌شده وارد شده است و چون در مد Global هستیم، در اول دستور از do استفاده کردیم.

دستورshow access-list

با این دستور می‌توانیم جزئیات یک access-list را مشاهده کنیم:

Router#show access-lists Dpc2tel
Extended IP access list Dpc2tel
deny tcp 192.168.2.0 0.0.0.255 any eq telnet (24 match(es))
permit ip any any (8 match(es))

در ادامه از access-List بسیار استفاده می‌کنیم و این دستور یک دستوراساسی در سیسکو است.

استفاده از Access-List در پورت مجازی VTY

شما می‌توانید با تعریف یک ACCESS List و فعال کردن آن در پورت  Vtyبه یک ip اجازه­ی Telnet بدهید یا ندهید. برای انجام این کار به مثال زیر توجه کنید:

مانند شکل بالا، یک روتر و دو pc به صفحه اضافه و به هم متصل کنید و به پورت‌های مورد نظرip  دهید.

وارد روتر شوید و access-List زیر را وارد کنید:

Router(config)#ip access-list standard 10
Router(config-std-nacl)#permit 192.168.1.0 0.0.0.255

در دستورات بالا، یکaccess-list  استاندارد با شماره­ی ۱۰ تعریف کردیم و بعد از آن به شبکه­ی ۱۹۲.۱۶۸.۱.۰ اجازه دسترسی داد‌یم و زمانی که یک Permit برای یک شبکه تعریف می‌کنیم، بقیه­ی شبکه‌هاDeny  می‌شوند.

بعد از ایجاد Access-list، وارد پورتLine Vty  می‌شویم و telnet را روی پورت‌ها فعال می‌کنیم:

Router(config)#line vty 0 15
Router(config-line)#password 123
Router(config-line)#login
Router(config-line)#access-class 10 in

در دستور اول وارد پورت ۰ ۱۵  VTYمی‌شویم و بعد، رمز عبور را بر روی پورت‌ها قرار می‌دهیم، سپس با دستور login می­گوییم که در زمان telnet شدن، رمز عبور را درخواست کند و بعد از آن، با دستور access-class به این پورت می­گوییم که در زمان telnet شدن، فقط ip address هایی را قبول کن که access-list 10 می‌گوید.

بعد از اتمام کار، اگر از طریق pc1 به روتر telnet کنید، جواب می‌گیرید، اما از طریق pc2 این امکان وجود ندارد.

کتاب‌های جدید

کتاب آموزشی CCNP ENARSI 300-410
زبان فارسی
۱۲۲۲ صفحه
نسخه PDF

کتاب آموزشی CCNA 200-301
زبان فارسی
۷۱۵ صفحه
نسخه PDF

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Scroll to Top