31 روز قبل آزمون CCNAسیسکو

پیاده‌سازی ACL – روز 9

پیکربندی و تأیید فهرست‌های کنترل دسترسی (ACLs)

در پست قبلی، مبحث مفاهیم ACL را مرور کردیم. امروز، بر پیاده‌سازی ACL، تأیید و عیب‌یابی ACLهای IPv4 و IPv6 تمرکز می‌کنیم. ACLهای استاندارد IPv4، که در بازه‌های 1 تا 99 و 1300 تا 1999 شماره‌گذاری شده‌اند یا به‌صورت نام‌گذاری‌شده هستند، بسته‌ها را بر اساس آدرس مبدأ و ماسک فیلتر می‌کنند. این فهرست‌ها می‌توانند کل TCP/IP protocol suite را مجاز یا مسدود کنند. پیکربندی یک ACL شامل دو مرحله است:

  • مرحله ۱: ایجاد ACL
  • مرحله ۲: اعمال ACL

در ادامه، از توپولوژی ساده در شکل زیر استفاده می‌کنیم تا نحوه‌ی پیاده‌سازی ACL های استاندارد و Extended در IPv4 را نشان دهیم.

توپولوژی پیاده‌سازی ACL در IPv4

IPv4 ACL Configuration Topology

ACL استاندارد شماره‌گذاری‌شده IPv4: مجاز کردن یک شبکه خاص

برای جلوگیری از عبور ترافیک‌هایی که بخشی از شبکه داخلی (172.16.0.0/16) نیستند و خروج آنها از Gigabit Ethernet interfaces، یک ACL ایجاد کنید.

مرحله ۱: ایجاد ACL

از دستور access-list در حالت global configuration برای ایجاد یک ورودی در یک ACL استاندارد IPv4 استفاده کنید:

R1(config)# access-list 1 permit 172.16.0.0 0.0.255.255

این دستور، هر آدرسی که با 172.16.x.x شروع شود را تطبیق می‌دهد. می‌توانید از گزینه remark برای اضافه کردن توضیحات به ACL استفاده کنید.

مرحله ۲: اعمال ACL

از دستور interface configuration برای انتخاب یک اینترفیس جهت اعمال ACL استفاده کنید. سپس، دستور ip access-group را در حالت interface configuration اجرا کنید تا ACL ایجادشده را برای یک جهت خاص (in یا out) فعال کنید:

R1(config)# interface gigabitethernet 0/0  
R1(config-if)# ip access-group 1 out  
R1(config)# interface gigabitethernet 0/1  
R1(config-if)# ip access-group 1 out  

این تنظیمات ACL 1 استاندارد را روی هر دو اینترفیس به‌عنوان یک فیلتر خروجی فعال می‌کند.

این ACL فقط اجازه می‌دهد ترافیک از منبع 172.16.0.0 از طریق G0/0 و G0/1 ارسال شود. ترافیک از سایر شبکه‌ها به‌طور ضمنی مسدود خواهد شد.

ACL استاندارد شماره‌گذاری‌شده IPv4: مسدود کردن یک میزبان خاص

برای جلوگیری از عبور ترافیکی که از میزبان 172.16.4.13 منشأ می‌گیرد و از G0/0 خارج می‌شود، یک ACL ایجاد کنید. مثال زیر نحوه‌ی ایجاد و اعمال این ACL را نشان می‌دهد.

جلوگیری از عبور ترافیک منشأ گرفته از یک میزبان خاص

R1(config)# access-list 1 deny 172.16.4.13 0.0.0.0  
R1(config)# access-list 1 permit 0.0.0.0 255.255.255.255  
R1(config)# interface gigabitethernet 0/0  
R1(config-if)# ip access-group 1 out  

این ACL به‌منظور مسدود کردن ترافیک از آدرس خاص 172.16.4.13 و اجازه‌ی عبور سایر ترافیک‌ها از اینترفیس G0/0 طراحی شده است. دستور اول را می‌توان با استفاده از کلیدواژه host به‌صورت زیر نوشت:

R1(config)# access-list 1 deny host 172.16.4.13  

در Cisco IOS Software Release 12.3 به بعد، می‌توان از دستور زیر نیز استفاده کرد:

R1(config)# access-list 1 deny 172.16.4.13  

دستور دوم را می‌توان با کلیدواژه any جایگزین کرد تا تمام آدرس‌های منبع مجاز شوند:

R1(config)# access-list 1 permit any  

ACL استاندارد شماره‌گذاری‌شده IPv4: مسدود کردن یک زیرشبکه خاص

برای جلوگیری از عبور ترافیک منشأ گرفته از زیرشبکه 172.16.4.0/24 از طریق اینترفیس G0/0، ACL را مطابق مثال زیر ایجاد و اعمال کنید.

جلوگیری از عبور ترافیک منشأ گرفته از یک زیرشبکه خاص

R1(config)# access-list 1 deny 172.16.4.0 0.0.0.255  
R1(config)# access-list 1 permit any  
R1(config)# interface g0/0  
R1(config-if)# ip access-group 1 out  

این ACL برای مسدود کردن ترافیک از زیرشبکه 172.16.4.0 طراحی شده است و به سایر ترافیک‌ها اجازه عبور از G0/0 را می‌دهد.

ACL استاندارد شماره‌گذاری‌شده IPv4: مسدود کردن دسترسی Telnet یا SSH به روتر

برای کنترل ورود و خروج ترافیک از روتر (نه از طریق روتر)، می‌توان دسترسی Telnet و SSH را از طریق اعمال ACL روی پورت‌های vty محدود کرد. محدودسازی دسترسی vty روشی مؤثر برای افزایش امنیت شبکه و تعیین آدرس‌هایی است که مجاز به دسترسی Telnet به فرآیند EXEC در روتر هستند. مثال زیر نحوه‌ی ایجاد و اعمال ACL را نشان می‌دهد.

لیست کنترل دسترسی برای مجاز کردن یک میزبان به‌عنوان تنها دسترسی از راه دور به R1

R1(config)# access-list 12 permit host 172.16.4.13  
R1(config)# line vty 0 15  
R1(config-line)# access-class 12 in  

در این مثال، فقط میزبان 172.16.4.13 مجاز به دسترسی Telnet به R1 است و تمام آدرس‌های IP دیگر به‌صورت ضمنی مسدود می‌شوند.

پیکربندی ACLهای شماره‌گذاری‌شده Extended در IPv4

برای کنترل دقیق‌تر فیلترینگ ترافیک، از ACLهای Extended در IPv4 استفاده کنید. این ACLها می‌توانند نام‌گذاری‌شده یا شماره‌گذاری‌شده باشند و در بازه‌های 100 تا 199 و 2000 تا 2699 تعریف شوند. ACLهای Extended آدرس‌های IP مبدأ و مقصد را بررسی می‌کنند. علاوه بر این، در انتهای دستور ACL Extended ، می‌توانید پروتکل و در صورت لزوم، برنامه‌های TCP یا UDP را برای فیلتر کردن دقیق‌تر مشخص کنید.

برای پیکربندی ACLهای شماره‌گذاری‌شده Extended در IPv4 روی یک روتر Cisco، یک ACL Extended ایجاد کنید و آن را روی یک اینترفیس فعال کنید. فرمت دستور ACL Extended در IPv4 برای آزمون CCNA به شرح زیر است:

Router(config)# access-list access-list-number {permit | deny} protocol source source-wildcard [operator port] destination destination-wildcard [operator port] [established] [log]

پارامترهای دستور ACL Extended شماره‌گذاری‌شده در IPv4

پارامتر دستور توضیحات
access-list-number شماره‌ای بین 100-199 یا 2000-2699 را مشخص می‌کند.
**permit deny**
protocol اگر مشخص شود، پروتکل TCP، UDP، ICMP، EIGRP، OSPF یا IP را فیلتر می‌کند.
source و destination آدرس‌های IP مبدأ و مقصد را تعیین می‌کند.
source-wildcard و destination-wildcard ماسک Wildcard که مشخص می‌کند کدام بخش‌ها باید مطابقت داشته باشند و کدام بخش‌ها اهمیتی ندارند.
operator [port | app_name] عملگر می تواند lt (کمتر از)، gt (بزرگتر از)، eq (برابر با) یا neq (نه برابر) باشد. بسته به اینکه در ACL شماره پورت در کجا پیکربندی شده است، شماره پورت ارجاع شده می تواند پورت مبدا یا درگاه مقصد باشد. به عنوان جایگزینی برای شماره پورت، می توان از نام برنامه های شناخته شده مانند Telnet، FTP و SMTP استفاده کرد.
established فقط برای اتصالات ورودی TCP، ترافیک را در صورتی که یک نشست از قبل برقرار شده باشد، مجاز می‌کند. این نوع ترافیک دارای بیت تأیید (ACK) است.
log یک پیام ثبت در کنسول ارسال می‌کند.

ACL Extended شماره‌گذاری‌شده IPv4: مسدود کردن FTP از زیرشبکه‌ها

یک ACL برای مسدود کردن ترافیک FTP که از زیرشبکه 172.16.4.0/24 منشأ گرفته و به زیرشبکه 172.16.3.0/24 ارسال می‌شود، ایجاد می‌کنیم. در زیر نحوه‌ی ایجاد و اعمال این ACL را نشان می‌دهد.

جلوگیری از ترافیک FTP از زیرشبکه‌های خاص

R1(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21  
R1(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 20  
R1(config)# access-list 101 permit ip any any  
R1(config)# interface g0/0  
R1(config-if)# ip access-group 101 out  

دستورات deny ترافیک FTP را که از 172.16.4.0 به 172.16.3.0 می‌رود، مسدود می‌کند.

  • پورت 21: برای ایجاد نشست و مدیریت اتصال FTP استفاده می‌شود.
  • پورت 20: برای انتقال داده‌های FTP استفاده می‌شود.
  • دستور permit اجازه می‌دهد سایر ترافیک‌های IP از G0/0 عبور کنند.

ACL Extended شماره‌گذاری‌شده IPv4: مسدود کردن فقط Telnet از زیرشبکه

برای مسدود کردن ترافیک Telnet که از زیرشبکه 172.16.4.0/24 منشأ گرفته و از طریق اینترفیس G0/0 خارج می‌شود، یک ACL ایجاد کنید.

جلوگیری از عبور ترافیک Telnet از یک زیرشبکه خاص

R1(config)# access-list 101 deny tcp 172.16.4.0 0.0.0.255 any eq 23  
R1(config)# access-list 101 permit ip any any  
R1(config)# interface g0/0  
R1(config-if)# ip access-group 101 out  

این ACL ترافیک Telnet را که از 172.16.4.0 منشأ گرفته و از G0/0 ارسال می‌شود، مسدود می‌کند.
تمامی ترافیک‌های دیگر از هر مبدأ به هر مقصدی از طریق G0/0 مجاز خواهند بود.

پیکربندی ACLهای نام‌گذاری‌شده در IPv4

با استفاده از ACLهای نام‌گذاری‌شده، می‌توان ACLهای استاندارد و Extended را با یک نام الفبایی (name) به‌جای شماره‌های عددی فعلی شناسایی کرد.

از آنجا که در ACLهای نام‌گذاری‌شده امکان حذف ورودی‌های فردی بدون نیاز به پاک کردن و پیکربندی مجدد کل ACL وجود دارد، می‌توانید ACL را ویرایش کنید. در نسخه‌های Cisco IOS 12.3 و جدیدتر، می‌توان ورودی‌های جداگانه را با استفاده از شماره ترتیب مشخص ویرایش کرد.

مراحل و نحوه‌ی نوشتن ACL استاندارد نام‌گذاری‌شده

مراحل و سینتکس زیر برای ایجاد یک ACL استاندارد نام‌گذاری‌شده استفاده می‌شود:

مرحله ۱: نام‌گذاری ACL

از حالت global configuration، دستور ip access-list standard را اجرا کنید تا یک ACL استاندارد نام‌گذاری‌شده ایجاد شود. نام ACL باید یکتا باشد:

Router(config)# ip access-list standard name

مرحله ۲: ایجاد ACL

در حالت configuration مخصوص ACL استاندارد نام‌گذاری‌شده، از permit یا deny برای تعیین شرایط فیلترینگ بسته‌ها استفاده کنید:

Router(config-std-nacl)# [sequence-number] {permit | deny} source source-wildcard
  • اگر شماره ترتیب مشخص نشود، Cisco IOS به‌طور خودکار مقدار آن را با افزایش 10 برای هر دستور اضافه‌شده تنظیم می‌کند.

مرحله ۳: اعمال ACL

از دستور ip access-group name برای فعال کردن ACL نام‌گذاری‌شده روی یک اینترفیس استفاده کنید:

Router(config-if)# ip access-group name {in | out}

ACL استاندارد نام‌گذاری‌شده: مسدود کردن یک میزبان خاص از یک زیرشبکه

برای توپولوژی نمایش‌داده‌شده در شکل توپولوژی خودمان، یک ACL نام‌گذاری‌شده با نام TROUBLEMAKER ایجاد کنید که ترافیک میزبان 172.16.4.13 را از خروج از اینترفیس G0/0 مسدود کند.

جلوگیری از عبور ترافیک یک میزبان خاص با استفاده از ACL نام‌گذاری‌شده

R1(config)# ip access-list standard TROUBLEMAKER  
R1(config-std-nacl)# deny host 172.16.4.13  
R1(config-std-nacl)# permit 172.16.4.0 0.0.0.255  
R1(config)# interface g0/0  
R1(config-if)# ip access-group TROUBLEMAKER out  

مراحل و نحوه‌ی نوشتن ACL Extended نام‌گذاری‌شده

مراحل و سینتکس زیر برای ایجاد یک ACL Extended نام‌گذاری‌شده استفاده می‌شود:

مرحله ۱: نام‌گذاری ACL

از حالت global configuration، دستور ip access-list extended را اجرا کنید تا یک ACL Extended نام‌گذاری‌شده ایجاد شود:

Router(config)# ip access-list extended name

مرحله ۲: ایجاد ACL

در حالت configuration مخصوص ACL Extended نام‌گذاری‌شده، از permit یا deny برای تعیین شرایط فیلترینگ بسته‌ها استفاده کنید:

Router(config-ext-nacl)# [sequence-number] {deny | permit} protocol source source-wildcard [operator port] destination destination-wildcard [operator port] [established] [log]

مرحله ۳: اعمال ACL

از دستور ip access-group name برای فعال کردن ACL Extended نام‌گذاری‌شده روی یک اینترفیس استفاده کنید:

Router(config-if)# ip access-group name {in | out}

افزودن توضیحات به ACLهای نام‌گذاری‌شده یا شماره‌گذاری‌شده در IPv4

می‌توانید به ACLها توضیحات (comments) اضافه کنید. برای این کار، از گزینه‌ی remark در دستورات permit یا deny استفاده کنید.

توضیحات، عباراتی توصیفی هستند که درک و عیب‌یابی ACLها را آسان‌تر می‌کنند. مثال زیر نحوه‌ی افزودن توضیح به یک ACL شماره‌گذاری‌شده را نشان می‌دهد.

افزودن توضیحات به یک ACL شماره‌گذاری‌شده

R1(config)# access-list 101 remark Permitting host to Telnet to Server  
R1(config)# access-list 101 permit tcp host 172.16.4.13 host 172.16.3.10 eq telnet  

افزودن توضیحات به یک ACL نام‌گذاری‌شده

R1(config)# ip access-list standard PREVENTION  
R1(config-std-nacl)# remark To allow Jones subnet through  
R1(config-std-nacl)# deny 172.16.4.0 0.0.0.255  

بررسی ACLهای IPv4

پس از پیکربندی یک ACL، از دستورات show برای بررسی تنظیمات استفاده کنید. از دستور show access-lists برای نمایش محتوای تمام ACLها استفاده کنید. با وارد کردن نام یا شماره ACL در این دستور، می‌توان یک ACL خاص را نمایش داد.

بررسی پیکربندی ACL

R1# show access-lists  
Standard IP access list SALES  
  10 permit 10.3.4.1  
  20 permit 10.4.4.1  
  30 permit 10.5.5.1  
  40 deny 10.1.1.0, wildcard bits 0.0.0.255  
  50 permit any  

Extended IP access list ENG  
  10 permit tcp host 10.22.2.1 any eq telnet (25 matches)  
  20 permit tcp host 10.33.3.1 any eq ftp  
  30 permit tcp host 10.33.3.1 any eq ftp-data  

در خروجی دستور show access-lists مشاهده می‌شود که شماره‌های ترتیب (sequence numbers) به مقدار 10 افزایش می‌یابند، زیرا مدیر شماره ترتیب خاصی تعیین نکرده است.

همچنین این دستور نشان می‌دهد که چند بار Cisco IOS یک بسته را با یک دستور تطبیق داده است—برای مثال، در بیانیه اول ACL نام‌گذاری‌شده ENG، تعداد 25 بار یک بسته با این قانون تطبیق داده شده است.

بررسی ACL روی یک اینترفیس خاص

دستور show ip interface اطلاعات مربوط به اینترفیس‌های IP را نمایش می‌دهد و مشخص می‌کند که آیا ACLهای IP روی اینترفیس فعال شده‌اند یا خیر. در مثال زیر، دستور show ip interface g0/0 اجرا شده است که نشان می‌دهد ACL IN در اینترفیس G0/0 پیکربندی شده است.

بررسی پیکربندی ACL روی یک اینترفیس خاص

R1# show ip interface g0/0  
GigabitEthernet0/0 is up, line protocol is up  
  Internet address is 10.1.1.1/24  
  Broadcast address is 255.255.255.255  
  Address determined by setup command  
  MTU is 1500 bytes  
  Helper address is not set  
  Directed broadcast forwarding is disabled  
  Outgoing access list is not set  
  Inbound access list is 1  
  Proxy ARP is enabled  
  <output omitted>

بررسی ایجاد و اعمال ACL در تنظیمات در حال اجرا (Running Configuration)

در نهایت، می‌توانید از دستور show running-config برای بررسی ایجاد و اعمال ACL استفاده کنید.

بررسی ایجاد و اعمال ACL در تنظیمات در حال اجرا

R1# show running-config  
Building configuration...  
!  
<output omitted>  
!  
interface GigabitEthernet0/0  
  ip address 10.44.44.1 255.255.255.0  
  ip access-group ENG out  
!  
<output omitted>  
!  
interface Serial0/0/0  
  ip address 172.16.2.1 255.255.255.252  
  ip access-group SALES in  
!  
<output omitted>  
!  
ip access-list standard SALES  
  permit 10.3.4.1  
  permit 10.4.4.1  
  permit 10.5.5.1  
  deny 10.1.1.0 0.0.0.255  
  permit any  
!  
ip access-list extended ENG  
  permit tcp host 10.22.2.1 any eq telnet  
  permit tcp host 10.33.3.1 any eq ftp  
  permit tcp host 10.33.3.1 any eq ftp-data  
!  
<output omitted>

مقایسه ACLهای IPv4 و IPv6

ACLهای IPv4 و IPv6 تفاوت‌های جزئی با یکدیگر دارند، همان‌طور که در جدول زیر نشان داده شده است.

مقایسه ACLهای IPv4 و IPv6

ویژگی فقط در IPv4 فقط در IPv6 هر دو
مقایسه آدرس‌های مبدأ و/یا مقصد
مقایسه آدرس‌های میزبان یا زیربخش‌ها/پیشوندها
اعمال ACL به‌صورت جهت‌دار روی یک اینترفیس
مقایسه شماره پورت‌های TCP یا UDP مبدأ و/یا مقصد
مقایسه کدهای ICMP
شامل دستور ضمنی deny در انتهای ACL
اعمال فقط روی بسته‌های IPv4
اعمال فقط روی بسته‌های IPv6
استفاده از شماره‌ها برای شناسایی ACL
استفاده از نام‌ها برای شناسایی ACL
شامل دستور ضمنی permit در انتهای ACL

پیکربندی ACL در IPv6

مراحل اصلی پیکربندی ACLهای IPv6 مشابه ACLهای نام‌گذاری‌شده در IPv4 است:

  • مرحله ۱: نام‌گذاری ACL
  • مرحله ۲: ایجاد ACL
  • مرحله ۳: اعمال ACL

مرحله ۱: نام‌گذاری ACL در IPv6

برای نام‌گذاری یک ACL در IPv6، دستور ipv6 access-list را در حالت global configuration اجرا کنید:

Router(config)# ipv6 access-list name

توجه: نحو (syntax) این دستور برای نام‌گذاری ACL در IPv6 در ACLهای استاندارد و Extended یکسان است. با این حال، ACLهای استاندارد و Extended در IPv6 از نظر عملکرد با ACLهای استاندارد و Extended در IPv4 تفاوت دارند.

مرحله ۲: ایجاد ACL در IPv6

یک ACL استاندارد در IPv6 شامل اطلاعات مربوط به آدرس‌های مبدأ و مقصد است، اما شامل TCP، UDP یا ICMPv6 نمی‌شود. نحو (syntax) یک ACL استاندارد در IPv6 به‌صورت زیر است:

Router(config-ipv6-acl)# {permit | deny} ipv6 {source-ipv6-prefix/prefix-length | any | host source-ipv6-address} {destination-ipv6-prefix/prefix-length | any | host destination-ipv6-address} [log]

ACLهای Extended در IPv6

ACLهای Extended در IPv6 می‌توانند بسیاری از فیلدهای هدر بسته‌های IPv6، پیام‌های TCP، UDP و ICMPv6 و هدرهای توسعه‌یافته IPv6 را شامل شوند. نحو (syntax) ACL Extended در IPv6 به‌صورت زیر است:

Router(config-ipv6-acl)# {permit | deny} protocol {source-ipv6-prefix/prefix-length | any | host source-ipv6-address} [operator [port]] {destination-ipv6-prefix/prefix-length | any | host destination-ipv6-address} [operator [port]] [dscp value] [fragments] [routing-type [routing-value]] [log] [sequence number]

توضیح پارامترها:

  • اگر icmp، tcp یا udp را به‌عنوان پروتکل مشخص کنید، گزینه‌های اضافی برای فیلتر کردن بسته‌ها در دسترس خواهند بود.
    • icmp: تعیین نوع خاصی از ICMPv6 برای فیلتر کردن.
    • tcp: امکان فیلتر کردن شش پرچم TCP (ACK, FIN, PSH, RST, SYN, URG).
    • udp: فیلتر کردن هدرهای توسعه‌یافته در IPv6 مانند IPsec.

مرحله ۳: اعمال ACL در IPv6

برای اعمال ACL در IPv6 روی یک اینترفیس، از نحو (syntax) زیر استفاده کنید:

Router(config-if)# ipv6 traffic-filter access-list-name {in | out}

برای اعمال ACL IPv6 روی خطوط vty (مشابه IPv4)، کافی است ipv6 را جایگزین کنید:

Router(config-line)# ipv6 access-class access-list-name

ACL استاندارد IPv6: مجاز کردن دسترسی از راه دور SSH

توپولوژی موجود در شکل زیر برای سناریوهای پیکربندی ACL در IPv6 استفاده شده است.

توپولوژی پیکربندی ACL در IPv6

IPv6 ACL Configuration Topology

مثال زیر نحوه‌ی ایجاد و اعمال ACL در IPv6 را نشان می‌دهد که فقط به میزبان 2001:DB8:1:4::13 اجازه اتصال از راه دور به خطوط vty در R1 را می‌دهد.

فهرست دسترسی برای مجاز کردن تنها یک میزبان به R1

R1(config)# ipv6 access-list SSH-HOST  
R1(config-ipv6-acl)# permit ipv6 host 2001:DB8:1:4::13 any  
R1(config-ipv6-acl)# deny ipv6 any any  
R1(config-ipv6-acl)# exit  
R1(config)# line vty 0 4  
R1(config-line)# ipv6 access-class SSH-HOST in  
  • دستور permit فقط به میزبان 2001:DB8:1:4::13 اجازه دسترسی می‌دهد.
  • تمامی ترافیک‌های دیگر IPv6 مسدود خواهند شد.
  • این ACL در خطوط vty اعمال شده است با استفاده از دستور ipv6 access-class.

ACL Extended IPv6: مجاز کردن فقط ترافیک وب

مثال زیر نحوه‌ی ایجاد و اعمال ACL در IPv6 را نشان می‌دهد که فقط ترافیک وب ورودی را از زیرشبکه 2001:DB8:1:4::/64 به مقصد 2001:DB8:1:3::/64 مجاز می‌کند.

فهرست دسترسی برای جلوگیری از ترافیک وب از زیرشبکه‌های خاص

R1(config)# ipv6 access-list WEB-ONLY  
R1(config-ipv6-acl)# permit tcp 2001:DB8:1:4::/64 2001:DB8:1:3::/64 eq www  
R1(config-ipv6-acl)# deny ipv6 2001:DB8:1:4::/64 2001:DB8:1:3::/64  
R1(config-ipv6-acl)# permit ipv6 2001:DB8:1:4::/64 any  
R1(config-ipv6-acl)# exit  
R1(config)# interface g0/1  
R1(config-if)# ipv6 traffic-filter WEB-ONLY in  
  • دستور permit اول: اجازه دسترسی به سرویس‌های وب را از 2001:DB8:1:4::/64 به 2001:DB8:1:3::/64 می‌دهد.
  • دستور deny: تمامی ترافیک‌های دیگر از 2001:DB8:1:4::/64 به 2001:DB8:1:3::/64 را مسدود می‌کند.
  • دستور permit آخر: سایر ترافیک‌های ورودی از 2001:DB8:1:4::/64 به هر مقصدی را مجاز می‌کند.

بررسی ACLهای IPv6

همانند ACLهای IPv4، می‌توان پیکربندی و اعمال ACLهای IPv6 را با استفاده از دستور show run بررسی کرد. (نگاه کنید به مثال 9-14)

بررسی ACLها در پیکربندی

R1# show run  
Building configuration...  
<some output omitted>  
!  
interface GigabitEthernet0/1  
  ipv6 traffic-filter WEB-ONLY in  
  ipv6 address FE80::1 link-local  
  ipv6 address 2001:DB8:1:4::1/64  
!  
ipv6 access-list WEB-ONLY  
  permit tcp 2001:DB8:1:4::/64 2001:DB8:1:3::/64 eq www  
  deny ipv6 2001:DB8:1:4::/64 2001:DB8:1:3::/64  
  permit ipv6 2001:DB8:1:4::/64 any  
!  
ipv6 access-list SSH-HOST  
  permit ipv6 host 2001:DB8:1:4::13 any  
  deny ipv6 any any  
!  
line vty 0 4  
  ipv6 access-class SSH-HOST in  
  login local  
  transport input ssh  
!
R1#  

بررسی تمام ACLهای پیکربندی‌شده

در بسیاری از موارد، پیکربندی روترهای عملیاتی طولانی و پیچیده است. در آزمون CCNA، ممکن است دسترسی به show run نداشته باشید. بنابراین، می‌توان از دستور show access-lists استفاده کرد که تمام ACLهای IPv4 و IPv6 پیکربندی‌شده روی دستگاه را نمایش می‌دهد.

بررسی تمام ACLهای پیکربندی‌شده

R1# show access-lists  
Standard IP access list SALES  
  10 permit 10.3.3.1  
  20 permit 10.4.4.1  
  30 permit 10.5.5.1  
  40 deny 10.1.1.0, wildcard bits 0.0.0.255  
  50 permit any  

Extended IP access list ENG  
  10 permit tcp host 10.22.2.1 any eq telnet  
  20 permit tcp host 10.33.3.1 any eq ftp  
  30 permit tcp host 10.33.3.1 any eq ftp-data  

IPv6 access-list SSH-HOST  
  permit ipv6 host 2001:DB8:1:4::13 any sequence 10  
  deny ipv6 any any sequence 20  

IPv6 access-list WEB-ONLY  
  permit tcp 2001:DB8:1:4::/64 2001:DB8:1:3::/64 eq www sequence 10  
  deny ipv6 2001:DB8:1:4::/64 2001:DB8:1:3::/64 sequence 20  
  permit ipv6 2001:DB8:1:4::/64 any sequence 30  
R1#  

نکته: در Cisco IOS، شماره‌های ترتیب (sequence numbers) در IPv6 ACLها در انتهای هر دستور اضافه می‌شوند، برخلاف IPv4 ACLها که شماره‌ها در ابتدای دستورات قرار می‌گیرند.

بررسی آمار (Match Statistics) برای ACLهای IPv6

نحوه‌ی بررسی آمار مطابقت بسته‌ها (Match Statistics) را برای ACLهای IPv6 نشان می‌دهد.

بررسی آمار تطبیق ACL در IPv6

R1# show ipv6 access-list  
IPv6 access list SSH-HOST  
  permit ipv6 host 2001:DB8:1:4::13 any (1 match(es)) sequence 10  
  deny ipv6 any any (5 match(es)) sequence 20  

IPv6 access list WEB-ONLY  
  permit tcp 2001:DB8:1:4::/64 2001:DB8:1:3::/64 eq www (5 match(es)) sequence 10  
  deny ipv6 2001:DB8:1:4::/64 2001:DB8:1:3::/64 (4 match(es)) sequence 20  
  permit ipv6 2001:DB8:1:4::/64 any (75 match(es)) sequence 30  

توضیح:

  • مقدار match(es) نشان می‌دهد چند بار بسته‌ها با این ACL تطبیق داده شده‌اند.
  • شماره‌های ترتیب (sequence numbers) در پایان هر خط مشخص شده‌اند.

بررسی اعمال (Placement) ACL IPv6 روی یک اینترفیس

برای بررسی اعمال یک ACL IPv6 روی اینترفیس، از دستور show ipv6 interface استفاده کنید. این دستور نشان می‌دهد که ACL WEB-ONLY روی اینترفیس g0/1 اعمال شده است.

بررسی اعمال ACL IPv6 روی یک اینترفیس

R1# show ipv6 interface g0/1  
GigabitEthernet0/1 is up, line protocol is up  
  IPv6 is enabled, link-local address is FE80::1  
  No Virtual link-local address(es):  
  Global unicast address(es):  
    2001:DB8:1:4::1, subnet is 2001:DB8:1:4::/64  
  Joined group address(es):  
    FF02::1  
    FF02::2  
    FF02::1:FF00:1  
  MTU is 1500 bytes  
  ICMP error messages limited to one every 100 milliseconds  
  ICMP redirects are enabled  
  ICMP unreachables are sent  
  Input features: Access List  
  **Inbound access list: WEB-ONLY**  
  ND DAD is enabled, number of DAD attempts: 1  
  ND reachable time is 30000 milliseconds (using 30000)  
  ND advertised reachable time is 0 (unspecified)  
  ND advertised retransmit interval is 0 (unspecified)  
  ND router advertisements are sent every 200 seconds  
  ND router advertisements live for 1800 seconds  
  ND advertised default router preference is Medium  
  Hosts use stateless autoconfig for addresses  
R1#

توضیح:

  • مقدار Inbound access list: WEB-ONLY نشان می‌دهد که ACL WEB-ONLY روی اینترفیس g0/1 اعمال شده است.
  • می‌توان از این دستور برای تأیید اعمال هر ACL IPv6 روی هر اینترفیس استفاده کرد.

عیب‌یابی (Troubleshooting) ACLها

شبکه‌ی شما ممکن است به‌درستی پیکربندی شده باشد، به‌طوری‌که تمام میزبان‌ها آدرس‌دهی DHCP را دریافت کنند، جدول‌های مسیریابی کاملاً پر شده باشند و لایه‌ی فیزیکی به‌طور کامل کار کند، اما ممکن است یک ACL در مسیر داده‌ها باعث ایجاد مشکل شود. عیب‌یابی مشکلات ناشی از یک ACL می‌تواند کار شما را دشوارتر کند.

ACLها ممکن است ابزارهای عیب‌یابی معمول مانند ping و traceroute را مسدود کنند، درحالی‌که همچنان اجازه‌ی عبور ترافیک عادی را بدهند. بنابراین، یک مدیر شبکه ممکن است نیاز به استفاده از ابزارهای دیگر برای یافتن مشکل داشته باشد.

مراحل عیب‌یابی ساختاریافته ACLها

اگر تشخیص داده‌اید که مشکل مربوط به پیکربندی ACL است، می‌توانید از سه مرحله‌ی زیر برای یافتن علت مشکل استفاده کنید:

مرحله ۱:

از آنجا که ACLها تا زمانی که اعمال نشوند، مشکلی ایجاد نمی‌کنند، باید تعیین کنید که کدام اینترفیس‌ها تحت تأثیر ACLها قرار دارند. برای این کار، از دستورات show run یا show ip interface استفاده کنید.

مرحله ۲:

پیکربندی ACL را بررسی کنید. برای این کار، از دستورات show access-lists، show ip access-lists یا show run استفاده کنید.

مرحله ۳:

تحلیل کنید که کدام بسته‌ها با ACL تطبیق پیدا می‌کنند. دستورات show access-lists و show ip access-lists کمک می‌کنند تا مشخص شود چند بار بسته‌ها با یک بیانیه (statement) مطابقت داشته‌اند.

خطاهای رایج در پیکربندی ACLها

برخی از اشتباهات متداول در پیکربندی ACLها شامل موارد زیر هستند:

  • دستورات ACL به‌هم‌ریخته هستند (ترتیب نادرست دارند).
  • آدرس‌های مبدأ و مقصد و/یا شماره‌های پورت جابه‌جا شده‌اند.
  • ACL در جهت اشتباه اعمال شده است.
  • خطاهای نحوی یا املایی باعث تأثیر نادرست یا عدم تأثیر ACL می‌شوند.
  • ACLهای استاندارد خیلی نزدیک به مبدأ به‌جای مقصد قرار گرفته‌اند.

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا