ACL (Access Control List) هي قائمة من القواعد Access Control Entries يفحص بها الراوتر أو السويتش كل حزمة ليقرر السماح بها permit أو منعها deny. وتُستخدم الـ ACL لتصفية الحركة على الواجهات، وأيضاً كأداة تصنيف لتحديد الحركة في NAT وQoS وVPN وإعادة التوزيع وغيرها.
قواعد المعالجة
- تُقرأ القواعد من الأعلى إلى الأسفل، وتتوقف المعالجة عند أول تطابق؛ لذا يجب وضع القواعد الأكثر تحديداً أولاً.
- في نهاية كل قائمة قاعدة ضمنية غير مرئية deny any، فإذا لم تتضمن القائمة أي permit فستحجب كل شيء.
- يمكن تطبيق ACL واحدة فقط لكل واجهة ولكل اتجاه (in أو out) ولكل بروتوكول.
الأنواع
| النوع | الأرقام | ما يفحصه | مكان التطبيق |
|---|---|---|---|
| Standard | 1–99 و1300–1999 | عنوان المصدر فقط | أقرب ما يمكن إلى الوجهة |
| Extended | 100–199 و2000–2699 | المصدر والوجهة والبروتوكول والمنافذ | أقرب ما يمكن إلى المصدر |
ويمكن لكلا النوعين أن يكون Named ACL باسم وصفي، وهو الأسلوب المفضل لأنه يسمح بإضافة القواعد وحذفها بأرقام التسلسل.
مثال: منع Telnet من شبكة المستخدمين
R1(config)# ip access-list extended BLOCK-TELNET
R1(config-ext-nacl)# deny tcp 192.168.10.0 0.0.0.255 any eq 23
R1(config-ext-nacl)# permit ip any any
R1(config)# interface GigabitEthernet0/0
R1(config-if)# ip access-group BLOCK-TELNET in
R1# show access-lists
لاحظ استخدام Wildcard Mask وليس قناع الشبكة. ولتقييد من يدخل إلى الراوتر نفسه عبر SSH، تُطبق ACL قياسية على خطوط VTY بالأمر access-class بدلاً من ip access-group.
الفرق بين ACL والجدار الناري
الـ ACL التقليدية Stateless؛ فهي تفحص كل حزمة مستقلة ولا تتذكر الاتصالات، لذلك يجب أحياناً كتابة قواعد للردود أيضاً. أما الجدار الناري Stateful فيتتبع الجلسات ويسمح بالرد تلقائياً، ويضيف فحص التطبيقات ومنع التسلل. لهذا تُستخدم الـ ACL كطبقة حماية أساسية وأداة تصنيف، لا كبديل عن جدار ناري حقيقي.
نصيحة عملية
قبل تطبيق ACL على واجهة تدير منها الجهاز عن بُعد، تأكد أن القواعد تسمح باتصالك، أو استخدم reload in 10 كشبكة أمان؛ فقاعدة deny الضمنية قد تقطع وصولك فوراً.


