بخش 1: ACL چیست؟ و چرا از آن استفاده میکنیم؟
1.1. تعریف ACL
ACL (Access Control List) مجموعهای از قوانین و فیلترها است که برای کنترل ترافیک ورودی و خروجی روی روترها، سوئیچها و فایروالهای سیسکو استفاده میشود.
✅ ACLها به ما کمک میکنند که:
- دسترسیها را محدود کنیم (مثلاً کاربران غیرمجاز را مسدود کنیم).
- امنیت شبکه را افزایش دهیم (جلوگیری از حملات مانند DDoS).
- کنترل ترافیک را انجام دهیم (فیلتر کردن ترافیک ناخواسته).
- QoS (Quality of Service) را پیادهسازی کنیم (اولویتبندی ترافیک خاص).
1.2. نحوه عملکرد ACL
هنگامی که یک پکت (Packet) وارد یک روتر یا سوئیچ سیسکو میشود، ACL بررسی میکند که آیا این پکت اجازه عبور دارد یا باید مسدود شود.
🔹 ACL بر اساس قوانین زیر عمل میکند:
- از بالا به پایین بررسی میشود (اولین قانون مطابق با پکت اجرا میشود).
- در پایان هر ACL یک
implicit deny anyوجود دارد (هر چیزی که صراحتاً اجازه نداشته باشد، مسدود میشود).
بخش 2: انواع ACL در سیسکو
ACL در سیسکو چند نوع اصلی دارد که در ادامه بررسی میکنیم:
2.1. ACL استاندارد (Standard ACL)
🔹 این نوع ACL فقط بر اساس آدرس IP مبدا تصمیمگیری میکند.
🔹 فرمت دستورات:
access-list <ACL_Number> {permit | deny} <Source_IP> <Wildcard_Mask
🔹 مثال:
access-list 10 permit 192.168.1.0 0.0.0.255
access-list 10 deny any
✅ این ACL اجازه میدهد شبکه 192.168.1.0/24 عبور کند و بقیه را مسدود میکند.
🔹 اعمال ACL روی اینترفیس:
interface GigabitEthernet0/0
ip access-group 10 in
✅ in یعنی ACL روی ترافیک ورودی اعمال میشود.
2.2. ACL گسترده (Extended ACL)
🔹 ACL گسترده کنترل بیشتری دارد و میتواند IP مبدا و مقصد، پروتکلها و پورتها را بررسی کند.
🔹 فرمت دستورات:
access-list <ACL_Number> {permit | deny} <Protocol> <Source_IP> <Wildcard_Mask> <Destination_IP> <Wildcard_Mask> [Port]
🔹 مثال:
access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80
access-list 101 deny ip any any
✅ این ACL فقط به شبکه 192.168.1.0/24 اجازه دسترسی به اینترنت از طریق پورت 80 (HTTP) را میدهد.
🔹 اعمال ACL روی اینترفیس:
interface GigabitEthernet0/0
ip access-group 101 in
2.3. ACL نامگذاریشده (Named ACL)
🔹 ACL نامگذاریشده همان ACL گسترده یا استاندارد است، اما با یک نام مشخص، خوانایی بیشتری دارد.
🔹 فرمت دستورات:
<ip access-list {standard | extended} <ACL_Name
🔹 مثال:
ip access-list extended WEB-TRAFFIC
permit tcp any any eq 80
deny ip any any
🔹 اعمال ACL روی اینترفیس:
interface GigabitEthernet0/0
ip access-group WEB-TRAFFIC in
✅ مزیت ACL نامگذاریشده این است که میتوان آن را بهراحتی ویرایش کرد.
بخش 3: پیکربندی ACL در موقعیتهای مختلف
3.1. استفاده از ACL برای امنیت و فیلتر کردن دسترسی
🔹 مثال: مسدود کردن دسترسی کاربران به یک سرور خاص
access-list 105 deny ip any host 192.168.1.100
access-list 105 permit ip any any
🔹 مثال: فقط اجازه دسترسی به سرور از یک IP خاص
access-list 110 permit ip host 10.0.0.10 host 192.168.1.100
access-list 110 deny ip any host 192.168.1.100
3.2. استفاده از ACL برای NAT
🔹 مثال: اجازه دادن به NAT فقط برای یک شبکه خاص
access-list 120 permit ip 192.168.1.0 0.0.0.255 any
ip nat inside source list 120 interface GigabitEthernet0/0 overload
✅ در این مثال فقط شبکه 192.168.1.0/24 اجازه ترجمه NAT را دارد.
3.3. استفاده از ACL برای VPN
🔹 مثال: اجازه دادن به ترافیک VPN Site-to-Site بین دو شبکه
access-list VPN-TRAFFIC permit ip 10.0.0.0 0.0.0.255 192.168.2.0 0.0.0.255
crypto map VPN-MAP 10 match address VPN-TRAFFIC
✅ این ACL مشخص میکند که فقط ترافیک بین 10.0.0.0/24 و 192.168.2.0/24 از طریق VPN عبور کند.
3.4. استفاده از ACL برای QoS (کنترل کیفیت سرویس)
🔹 مثال: اولویت دادن به ترافیک VoIP در شبکه
access-list VOIP-TRAFFIC permit udp any any range 16384 32767
class-map match-all VOIP
match access-group name VOIP-TRAFFIC
policy-map QOS
class VOIP
priority 1000
✅ این پیکربندی باعث میشود ترافیک VoIP دارای اولویت بیشتری در شبکه باشد.
بخش 4: ACLهای پیشرفته در سیسکو
در این بخش، به بررسی انواع پیشرفته ACL در سیسکو میپردازیم که شامل:
✅ Reflexive ACL – ACL بازتابی برای امنیت بالاتر
✅ Dynamic ACL – ACL پویا برای کنترل بهتر دسترسیها
✅ Time-Based ACL – ACL زمانبندیشده برای محدود کردن دسترسیها در بازههای خاص
4.1. Reflexive ACL (ACL بازتابی)
🔹 Reflexive ACL نوعی ACL دینامیک است که بهطور خودکار ترافیک مجاز را در مسیر برگشت اجازه میدهد. این نوع ACL برای افزایش امنیت فایروال و جلوگیری از حملات مفید است.
🔹 مثال: اجازه دسترسی به ترافیک خروجی و برگشتی
ip access-list extended OUTBOUND
permit tcp 192.168.1.0 0.0.0.255 any reflect MY-SESSION
permit udp 192.168.1.0 0.0.0.255 any reflect MY-SESSION
ip access-list extended INBOUND
evaluate MY-SESSION
deny ip any any
🔹 اعمال ACL روی اینترفیس:
interface GigabitEthernet0/0
ip access-group OUTBOUND out
ip access-group INBOUND in
✅ توضیح:
- ACL
OUTBOUNDاجازه ارسال ترافیک TCP/UDP را میدهد و بازتاب (Reflect) میکند. - ACL
INBOUNDبررسی میکند که آیا ترافیک برگشتی از قبل مجاز بوده یا نه. - اگر ترافیک برگشتی در لیست
MY-SESSIONباشد، اجازه ورود میگیرد.
4.2. Dynamic ACL (ACL پویا یا Lock-and-Key)
🔹 ACLهای پویا به کاربران خاص اجازه اتصال به منابع شبکه را فقط پس از احراز هویت اولیه میدهند. این نوع ACL در مدیریت کاربران از راه دور و امنیت شبکههای بزرگ مفید است.
🔹 مثال: تنظیم ACL پویا برای احراز هویت کاربران
aaa new-model
aaa authentication login MYAUTH local
username admin password mysecurepass
ip access-list extended DYNAMIC-ACCESS
deny ip any any
interface GigabitEthernet0/0
ip access-group DYNAMIC-ACCESS in
🔹 فعالسازی اتصال پویا از طریق Telnet یا SSH:
line vty 0 4
login authentication MYAUTH
autocommand access-enable host timeout 10
✅ توضیح:
- فقط کاربران احراز هویتشده میتوانند از ACL عبور کنند.
- اتصالات پس از 10 دقیقه بهصورت خودکار بسته میشوند.
4.3. Time-Based ACL (ACL مبتنی بر زمان)
🔹 ACL زمانبندیشده برای مدیریت دسترسیها در بازههای خاص زمانی استفاده میشود. به عنوان مثال، میتوان دسترسی به اینترنت را در ساعات کاری محدود کرد.
🔹 ایجاد یک بازه زمانی:
ip access-list extended INTERNET-ACCESS
permit tcp any any eq 80 time-range WORK-HOURS
permit tcp any any eq 443 time-range WORK-HOURS
deny ip any any
🔹 ایجاد ACL که فقط در ساعات کاری فعال باشد:
ip access-list extended INTERNET-ACCESS
permit tcp any any eq 80 time-range WORK-HOURS
permit tcp any any eq 443 time-range WORK-HOURS
deny ip any any
✅ توضیح:
- کاربران فقط در ساعات
08:00 - 18:00اجازه استفاده از اینترنت را دارند. - در سایر زمانها، ترافیک مسدود میشود.
بخش 5: مدیریت و بهینهسازی ACL در شبکههای بزرگ
🔹 در شبکههای بزرگ، مدیریت ACL بهینه بسیار مهم است. در این بخش، روشهایی برای بهبود عملکرد و امنیت ACL ارائه میدهیم.
5.1. نکات حرفهای برای مدیریت ACL
✅ 1. ACLها را همیشه مستند کنید
- برای خوانایی بهتر، از توضیحات (remark) در ACLها استفاده کنید.
access-list 101 remark "این ACL فقط ترافیک HTTP و HTTPS را مجاز میکند"
✅ 2. قوانین ACL را بهینهسازی کنید
- پرکاربردترین قوانین را در ابتدای لیست ACL قرار دهید.
- قوانین اضافی و غیرضروری را حذف کنید تا عملکرد بهتری داشته باشید.
✅ 3. همیشه لاگگیری را فعال کنید
- برای بررسی فعالیتهای مشکوک، لاگهای ACL را بررسی کنید.
access-list 105 deny ip any any log
✅ 4. بررسی کنید که ACLها به درستی روی اینترفیس اعمال شدهاند
show ip interface GigabitEthernet0/0
✅ 5. برای هر ACL یک شماره یا نام خاص در نظر بگیرید
ip access-list extended PROTECT-SERVER
بخش 6: عیبیابی (Troubleshooting) ACL در سیسکو
🔹 گاهی ممکن است ACL آنطور که انتظار دارید کار نکند. در اینجا برخی مشکلات رایج و روشهای حل آنها آورده شده است.
6.1. مشکل: ACL باعث قطع شدن ترافیک مجاز شده است
✅ راهحل:
- بررسی کنید که ACL به درستی روی اینترفیس اعمال شده باشد.
show run interface GigabitEthernet0/0
بررسی کنید که ACL قوانین لازم را در ابتدا دارد.
6.2. مشکل: ACL باعث عدم دسترسی به اینترنت شده است
✅ راهحل:
- بررسی کنید که NAT پس از ACL اجرا میشود.
show ip nat translations
بررسی کنید که ACL اجازه DNS، HTTP و HTTPS را میدهد.
6.3. مشکل: ACL لاگ نمیگیرد
✅ راهحل:
- مطمئن شوید که
logدر ACL فعال شده است.
access-list 110 deny ip any any log
- از دستور
debugبرای بررسی استفاده کنید.
debug ip packet detail
بخش 7: نتیجهگیری و خلاصه مقاله
✅ در این مقاله، ACL را از سطح مبتدی تا پیشرفته بررسی کردیم:
- انواع ACL (استاندارد، گسترده، نامگذاریشده، پیشرفته)
- نحوه اعمال ACL روی اینترفیسها
- ACLهای خاص مانند Reflexive، Dynamic و Time-Based
- استفاده از ACL در NAT، VPN، و QoS
- نکات بهینهسازی و عیبیابی ACL
🔹 اکنون شما مهارت کامل در نوشتن و مدیریت ACL در سیسکو دارید! 🚀
🔹 اگر سوالی دارید یا به پیکربندی خاصی نیاز دارید، بپرسید! 😊




