تسعى مجموعة الوثائق لهذا المنتج جاهدة لاستخدام لغة خالية من التحيز. لأغراض مجموعة الوثائق هذه، يتم تعريف "خالية من التحيز" على أنها لغة لا تعني التمييز على أساس العمر، والإعاقة، والجنس، والهوية العرقية، والهوية الإثنية، والتوجه الجنسي، والحالة الاجتماعية والاقتصادية، والتمييز متعدد الجوانب. قد تكون الاستثناءات موجودة في الوثائق بسبب اللغة التي يتم تشفيرها بشكل ثابت في واجهات المستخدم الخاصة ببرنامج المنتج، أو اللغة المستخدمة بناءً على وثائق RFP، أو اللغة التي يستخدمها منتج الجهة الخارجية المُشار إليه. تعرّف على المزيد حول كيفية استخدام Cisco للغة الشاملة.
ترجمت Cisco هذا المستند باستخدام مجموعة من التقنيات الآلية والبشرية لتقديم محتوى دعم للمستخدمين في جميع أنحاء العالم بلغتهم الخاصة. يُرجى ملاحظة أن أفضل ترجمة آلية لن تكون دقيقة كما هو الحال مع الترجمة الاحترافية التي يقدمها مترجم محترف. تخلي Cisco Systems مسئوليتها عن دقة هذه الترجمات وتُوصي بالرجوع دائمًا إلى المستند الإنجليزي الأصلي (الرابط متوفر).
يصف هذا المستند نموذجا لتكوينات قوائم التحكم في الوصول (ACLs) إلى IP المستخدمة بشكل شائع، والتي تقوم بتصفية حزم IP.
تأكد من تلبية هذه المتطلبات قبل تجربة هذا التكوين:
الفهم الأساسي لعنونة IP.
ارجع إلى عنونة IP والتقسيم إلى شبكات فرعية للمستخدمين الجدد للحصول على معلومات إضافية.
لا يقتصر هذا المستند على إصدارات برامج ومكونات مادية معينة.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
قوائم التحكم في الوصول إلى IP تستند إلى:
لتصفية حركة مرور الشبكة، تتحكم قوائم التحكم في الشبكة (ACLs) فيما إذا كان سيتم إعادة توجيه للحِزم الموجَّهة أو حظرها في واجهة الموجّه. يفحص الموجّه لديك كل حزمة لتحديد ما إذا كان سيتم إعادة توجيه الحزمة أو إسقاطها بناءً على المعايير التي تحددها ضمن قائمة التحكم بالوصول (ACL). وتشتمل معايير التحكم في الوصول (ACL) على:
أكمل الخطوات التالية لإنشاء قائمة تحكم في الوصول (ACL) كما توضّح الأمثلة الواردة في هذا المستند:
قائمة التحكم في الوصول (ACL) لبروتوكول الإنترنت (IP) عبارة عن مجموعة تسلسلية من شروط السماح والرفض التي يتم تطبيقها على حزمة IP. يقوم الموجّه باختبار الحِزم للتحقُّق من توفر الشروط الواردة في قائمة التحكم في الوصول (ACL) حزمة واحدة في كل مرة.
تحدّد المطابقة الأولى ما إذا كان برنامج Cisco IOS® Software يقبل الحِزمة أو يرفضها. نظرا لأن برنامج Cisco IOS software يتوقف عن إختبار الشروط بعد المطابقة الأولى، فإن ترتيب الشروط يعد أمرا بالغ الأهمية. في حالة عدم تطابق أي من الشروط، يرفض الموجّه الحِزمة بسبب جملة ضمنية برفض الكل.
هذه أمثلة على قوائم التحكم في الوصول (ACLs) لبروتوكول الإنترنت (IP) التي يمكن تكوينها في برنامج Cisco IOS Software:
يناقش هذا المستند بعض قوائم التحكم في الوصول (ACLs) شائعة الاستخدام القياسية والموسَّعة. ارجع إلى تكوين قوائم الوصول إلى IP للحصول على مزيد من المعلومات حول الأنواع المختلفة من قوائم التحكم في الوصول (ACLs) المدعومة في برنامج Cisco IOS Software وكيفية تكوين قوائم التحكم في الوصول (ACLs) وتحريرها.
تنسيق صياغة الأمر لقائمة تحكم في الوصول (ACL) قياسية هو access-list access-list-number {permit|deny} {host|source source-wildcard|any}.
تقارن قوائم التحكم في الوصول (ACLs) القياسية عنوان حِزم IP للمصدر بالعناوين التي تم تكوينها في قائمة التحكم في الوصول (ACL) لكي يتم التحكم في حركة المرور.
تقارن قوائم التحكم في الوصول (ACL) الموسَّعة عناوين حِزم IP للمصدر والوجهة بالعناوين التي تم تكوينها في قائمة التحكم في الوصول (ACL) لكي يتم التحكم في حركة المرور. كما يمكنك جعل قوائم التحكم في الوصول (ACLs) الموسَّعة أكثر دقة وأن يتم تكوينها بدرجة أفضل لتصفية حركة المرور حسب معايير مثل:
تنسيقات صيغة الأمر لقوائم التحكم في الوصول (ACLs) الموسَّعة هي:
IP
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} protocol source source-wildcard destination destination-wildcard [precedence precedence] [tos tos] [log | log-input]
[time-range time-range-name][fragments]
بروتوكول رسائل التحكم في الإنترنت (ICMP)
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} icmp source source-wildcard destination destination-wildcard
[[icmp-type] [icmp-code] | [icmp-message]] [precedence precedence] [tos tos] [log | log-input]
[time-range time-range-name][fragments]
بروتوكول التحكم في النقل (TCP)
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} tcp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]]
[established] [precedence precedence] [tos tos] [log | log-input]
[time-range time-range-name][fragments]
بروتوكول مخطط بيانات المستخدم (UDP)
access-list access-list-number [dynamic dynamic-name [timeout minutes]] {deny | permit} udp source source-wildcard [operator [port]] destination destination-wildcard [operator [port]]
[precedence precedence] [tos tos] [log | log-input] [time-range time-range-name][fragments]
تستخدم أمثلة التكوين هذه قوائم التحكم في الوصول (ACLs) لبروتوكول الإنترنت (IP) الأكثر شيوعًا.
توضح هذه الصورة أن مضيف محدد تم منحه الإذن للوصول إلى الشبكة. يتم السماح بجميع حركات المرور الصادرة من المضيف B والمتجهة إلى NetA، ويتم رفض جميع حركات المرور الأخرى الصادرة من NetB والمتجهة إلى NetA.
يُوضّح المُخرَج في جدول R1 كيف تمنح الشبكة إمكانية الوصول إلى المضيف. يوضّح هذا المُخرَج أن:
التكوين يسمح فقط للمضيف بعنوان IP 192.168.10.1 من خلال واجهة Ethernet 0 على R1.
يمتلك هذا المضيف حق الوصول إلى خدمات IP الخاصة بـ NetA.
لا يمتلك مضيف آخر في NetB حق الوصول إلى NetA.
لم يتم تكوين أي عبارة رفض في قائمة التحكم في الوصول (ACL).
بشكل افتراضي، توجد جملة ضمنية برفض الكل في نهاية كل قائمة تحكم في الوصول (ACL). يتم رفض أي شيء لم يتم السماح بمروره بشكل صريح.
R1
hostname R1 ! interface ethernet0 ip access-group 1 in ! access-list 1 permit host 192.168.10.1
ملاحظة: تقوم قائمة التحكم في الوصول بتصفية حزم IP من NetB إلى NetA، باستثناء الحزم المستمدة من المضيف B. لا يزال يسمح بالحزم المستمدة من المضيف B إلى NetA.
ملاحظة: تصريح قائمة الوصول (ACL) لقائمة الوصول 1 192.168.10.1 0.0.0.0 هو طريقة أخرى لتكوين القاعدة نفسها.
توضح هذه الصورة أنه يتم رفض حركة المرور المستمدة من المضيف B الموجهة إلى NetA، بينما يتم السماح بجميع حركات المرور الأخرى من NetB للوصول إلى NetA.
يرفض هذا التكوين جميع الحِزم من المضيف 192.168.10.1/32 من خلال Ethernet 0 على R1 ويسمح بكل شيء آخر. يجب عليك استخدام الأمر access list 1 permit any للسماح بشكل صريح بكل شيء آخر بسبب وجود جملة ضمنية برفض الكل مع كل قائمة تحكم في الوصول (ACL).
R1
hostname R1 ! interface ethernet0 ip access-group 1 in ! access-list 1 deny host 192.168.10.1 access-list 1 permit any
ملاحظة: يعد ترتيب البيانات أمرا بالغ الأهمية لتشغيل قائمة التحكم في الوصول (ACL). إذا تم عكس ترتيب الإدخالات، كما يُظهر هذا الأمر، فإن السطر الأول يطابق كل عنوان مصدر للحِزمة. لذلك، تفشل قائمة التحكم في الوصول (ACL) في حظر المضيف 192.168.10.1/32 من الوصول إلى NetA.
access-list 1 permit any access-list 1 deny host 192.168.10.1
توضح هذه الصورة أن جميع الأجهزة المضيفة في NetB ذات عنوان الشبكة 192.168.10.0/24 يمكن أن تصل إلى الشبكة 192.168.200.0/24 في NetA.
يتيح هذا التكوين لحِزم IP التي تحتوي على عنوان IP الذي يتضمن عنوان مصدر في الشبكة 192.168.10.0/24 وعنوان وجهة في الشبكة 192.168.200.0/24 إمكانية الوصول إلى NetA. هناك جملة ضمنية برفض الكل في نهاية قائمة التحكم في الوصول (ACL) والتي ترفض كل حركة مرور أخرى عبر Ethernet 0 واردة على R1.
R1
hostname R1 ! interface ethernet0 ip access-group 101 in ! access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.200.0 0.0.0.255
ملاحظة: في الأمر access-list 101 يسمح ب IP 192.168.10.0.0.255 192.168.200.0.0.255، يكون 0.0.0.255 هو القناع المعكوس للشبكة 192.168.10.0 مع القناع 255.255.0. تستخدم قوائم التحكم في الوصول (ACL) القناع المعكوس لمعرفة عدد وحدات بت في عنوان الشبكة التي تحتاج إلى المطابقة. في الجدول، تسمح قائمة التحكم في الوصول ACL لجميع الأجهزة المضيفة بعناوين المصدر في شبكة 192.168.10.0/24 وعناوين الوجهة في شبكة 192.168.200.0/24.
ارجع إلى قسم الأقنعة في تكوين قوائم الوصول إلى IP للحصول على مزيد من المعلومات حول القناع من عنوان الشبكة وكيفية حساب القناع العكسي المطلوب لقوائم التحكم في الوصول (ACLs).
من أجل تلبية المخاوف الأمنية الأعلى، يمكنك تعطيل وصول Telnet إلى شبكتك الخاصة من الشبكة العامة. تظهر هذه الصورة كيفية رفض حركة مرور Telnet من NetB (عام) الموجهة إلى NetA (خاص)، والتي تسمح ل NetA ببدء جلسة عمل ل Telnet وإنشائها مع NetB بينما يتم السماح بجميع حركة مرور IP الأخرى.
يستخدم Telnet بروتوكول TCP، المنفذ 23. يوضح هذا التكوين أنه تم حظر جميع حركة مرور TCP الموجهة إلى NetA للمنفذ 23، ويتم السماح بجميع حركات مرور IP الأخرى.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 deny tcp any any eq 23 access-list 102 permit ip any any
يوضّح هذا الشكل أن حركة مرور TCP الصادرة من NetA والمتجهة إلى NetB مسموح بها، بينما يتم رفض حركة مرور TCP من NetB والمتجهة إلى NetA.
إن الغرض من قائمة التحكم في الوصول (ACL) في هذا المثال هو:
السماح للأجهزة المضيفة في NetA ببدء جلسة TCP وتأسيسها للأجهزة المضيفة في NetB.
منع الأجهزة المضيفة في NetB من بدء وإنشاء جلسة TCP متجهة للأجهزة المضيفة في NetA.
يسمح هذا التكوين بمرور مخطط البيانات خلال واجهة Ethernet 0 الواردة على الموجّه R1 عندما يملك مخطط البيانات:
مجموعة وحدات بت (ACK) أو RESET (RST) المعترف بها (تشير إلى جلسة عمل TCP)
قيمة منفذ وجهة أكبر من 1023
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any any gt 1023 established
ونظرا لأن معظم المنافذ المعروفة لخدمات IP تستخدم قيم أقل من 1023، فإن أي مخطط بيانات بمنفذ وجهة أقل من 1023 أو وحدة بت ACK/RST غير معينة يتم رفضه بواسطة قائمة التحكم في الوصول (ACL) 102. لذلك، عندما يقوم مضيف من NetB بتهيئة اتصال TCP ويرسل أول حزمة TCP (بدون مزامنة/بدء ربط (SYN/RST) بت set) لمنفذ رقم أقل من 1023، يتم رفضه ويفشل جلسة TCP. يتم السماح بجلسات TCP التي تم بدؤها من NetA والمتجهة إلى NetB لأنها تحتوي على مجموعة وحدات بت ACK/RST لإرجاع الحِزم وتستخدم قيم منفذ أكبر من 1023.
ارجع إلى RFC 1700 للحصول على قائمة كاملة بالمنافذ.
توضح هذه الصورة أنه يتم رفض بيانات FTP (TCP، port 21) و FTP (المنفذ 20) حركة المرور المصعدة من NetB الموجهة إلى NetA، بينما يتم السماح بجميع حركة مرور IP الأخرى.
يستخدم FTP المنفذ 21 والمنفذ 20. يتم رفض حركة مرور TCP الموجهة إلى المنفذ 21 والمنفذ 20 ويتم السماح بكل شيء آخر بشكل صريح.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 deny tcp any any eq ftp access-list 102 deny tcp any any eq ftp-data access-list 102 permit ip any any
يمكن أن يعمل FTP في وضعين مختلفين تحت مسمى نشط وخامل.
عندما يعمل FTP في الوضع النشط، يستخدم خادم FTP المنفذ 21 للتحكم، والمنفذ 20 للبيانات. يقع خادم FTP (192.168.1.100) في NetA. توضح هذه الصورة أنه مسموح بحركة مرور بيانات FTP (TCP، port 21) و FTP (المنفذ 20) التي يتم توجيهها من NetB إلى خادم FTP (192.168.1.100)، بينما يتم رفض جميع حركة مرور IP الأخرى.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any host 192.168.1.100 eq ftp access-list 102 permit tcp any host 192.168.1.100 eq ftp-data established ! interface ethernet1 ip access-group 110 in ! access-list 110 permit host 192.168.1.100 eq ftp any established access-list 110 permit host 192.168.1.100 eq ftp-data any
يمكن أن يعمل FTP في وضعين مختلفين تحت مسمى نشط وخامل.
عندما يعمل FTP في الوضع الخامل، يستخدم خادم FTP المنفذ 21 للتحكم والمنافذ الديناميكية الأكبر من أو التي تساوي 1024 للبيانات. يقع خادم FTP (192.168.1.100) في NetA. توضح هذه الصورة أنه مسموح بحركة مرور FTP (TCP، port 21) وبيانات FTP (المنافذ الأكبر من أو تساوي 1024) التي يتم توجيهها من NetB إلى خادم FTP (192.168.1.100)، بينما يتم رفض جميع حركة مرور IP الأخرى.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any host 192.168.1.100 eq ftp access-list 102 permit tcp any host 192.168.1.100 gt 1023 ! interface ethernet1 ip access-group 110 in ! access-list 110 permit host 192.168.1.100 eq ftp any established access-list 110 permit host 192.168.1.100 gt 1023 any established
توضح هذه الصورة أنه يتم السماح ب ICMP المصدري من NetA الموجه إلى NetB، ويتم رفض إختبارات الاتصال المصدرية من NetB الموجهة إلى NetA.
يسمح هذا التكوين فقط لحِزم استجابة الارتداد (استجابة أمر اختبار الاتصال) بالدخول على واجهة Ethernet 0 من NetB باتجاه NetA. ومع ذلك، فإن التكوين يحظر جميع حِزم ICMP الخاصة بطلب الارتداد عندما يتم إصدار أوامر اختبار الاتصال في NetB وتوجيهها إلى NetA. لذلك، يمكن للأجهزة المضيفة في NetA إصدار أمر اختبار الاتصال للأجهزة المضيفة في NetB، ولكن لا يمكن للأجهزة المضيفة في NetB إصدار أمر اختبار الاتصال للأجهزة المضيفة في NetA.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit icmp any any echo-reply
توضح هذه الصورة أنه مسموح فقط بحركة مرور HTTP و telnet و Simple Mail Transfer Protocol (SMTP) و POP3 و FTP، ويتم رفض بقية حركة المرور المستمدة من NetB الموجهة إلى NetA.
يسمح هذا التكوين بحركة مرور TCP ذات قيم منفذ الوجهة التي تطابق بيانات WWW (المنفذ 80) أو Telnet (المنفذ 23) أو SMTP (المنفذ 25) أو POP3 (المنفذ 110) أو FTP (المنفذ 21) أو FTP (المنفذ 20). لاحظ أن جملة رفض ضمني في نهاية قائمة التحكم في الوصول ACL ترفض جميع حركات المرور الأخرى، التي لا تتوافق مع عبارات السماح.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit tcp any any eq www access-list 102 permit tcp any any eq telnet access-list 102 permit tcp any any eq smtp access-list 102 permit tcp any any eq pop3 access-list 102 permit tcp any any eq 21 access-list 102 permit tcp any any eq 20
توضح هذه الصورة أنه يتم السماح بحركة مرور نظام اسم المجال (DNS) فقط، ويتم رفض بقية حركة المرور التي تم الحصول عليها من NetB الموجهة إلى NetA.
يسمح هذا التكوين بحركة مرور TCP مع قيمة منفذ الوجهة 53. يرفض شرط الرفض الضمني الكل في نهاية قائمة التحكم في الوصول (ACL) جميع حركات المرور الأخرى، والتي لا تطابق شروط الترخيص.
R1
hostname R1 ! interface ethernet0 ip access-group 102 in ! access-list 102 permit udp any any eq domain access-list 102 permit udp any eq domain any access-list 102 permit tcp any any eq domain access-list 102 permit tcp any eq domain any
عند تطبيق قائمة التحكم في الوصول (ACL) المضمّنة على واجهة، تأكد من عدم تصفية تحديثات التوجيه. استخدم قائمة التحكم في الوصول (ACL) ذات الصلة من هذه القائمة للسماح بحِزم بروتوكول التوجيه:
أدخِل هذا الأمر لأجل السماح ببروتوكول معلومات التوجيه (RIP):
access-list 102 permit udp any any eq rip
أدخِل هذا الأمر لأجل السماح ببروتوكول توجيه العبَّارة الداخلية (IGRP):
access-list 102 permit igrp any any
أدخِل هذا الأمرلأجل السماح ببروتوكول IGRP المُحسن (EIGRP):
access-list 102 permit eigrp any any
أدخِل هذا الأمر لأجل السماح ببروتوكول فتح أقصر مسار أولاً (OSPF):
access-list 102 permit ospf any any
أدخِل هذا الأمر لأجل السماح ببروتوكول عبَّارة الحدود (BGP):
access-list 102 permit tcp any any eq 179 access-list 102 permit tcp any eq 179 any
يتطلب استخدام أوامر debug تخصيص موارد النظام مثل الذاكرة وطاقة المعالجة وقد يتسبب في الحالات القصوى في حدوث توقف لنظام ثقيل الحِمل. استخدم أوامر debug بعناية. أستخدم قائمة تحكم في الوصول (ACL) من أجل تحديد حركة المرور التي تحتاج إلى الفحص بشكل انتقائي لتقليل تأثير الأمر debug. مثل هذا التكوين لا يقوم بتصفية أي حِزم.
يشغّل هذا التكوين الأمر debug ip packet فقط للحِزم بين المضيفين 10.1.1.1 و172.16.1.1.
R1(config)#access-list 199 permit tcp host 10.1.1.1 host 172.16.1.1 R1(config)#access-list 199 permit tcp host 172.16.1.1 host 10.1.1.1 R1(config)#end
R1#debug ip packet 199 detail IP packet debugging is on (detailed) for access list 199
ارجع إلى معلومات هامة حول أوامر تصحيح الأخطاء للحصول على معلومات إضافية حول تأثير أوامر تصحيح الأخطاء.
ارجع إلى استخدام أمر تصحيح الأخطاء قسم فهم أوامر Ping وأوامر Traceroute للحصول على معلومات إضافية حول استخدام قوائم التحكم في الوصول (ACL) مع أوامر debug.
يمكنك تصفية الإطارات باستخدام مصدر محطة طبقة MAC معين أو عنوان وجهة. يمكن تكوين أي عدد من العناوين في النظام بدون عقوبة على الأداء. من أجل التصفية حسب عنوان طبقة MAC، استخدم هذا الأمر في وضع التكوين العام:
Router#config terminal Router(config)#bridge irbRouter(config)#
bridge 1 protocol ieeeRouter(config)#
bridge 1 route ip
تطبيق بروتوكول الجسر على واجهة تحتاج إلى تصفية حركة المرور باستخدام قائمة الوصول التي تم إنشاؤها باستخدام الأمر bridge-group <group number> {input-address-list <ACL number> | output-address-list <ACL Number>}:
Router#config terminalRouter(config-if)#
interface fastEthernet0/0Router(config-if)#
no ip addressRouter(config-if)#
bridge-group 1 input-address-list 700Router(config-if)#
exit
قم بإنشاء واجهة افتراضية جسر وطبق عنوان IP الذي تم تعيينه لواجهة إيثرنت المادية:
Router#config terminalRouter(config-if)#
int bvi1Router(config-if)#
ip address 192.168.1.1 255.255.255.0Router(config-if)#
exitRouter(config)#
access-list 700 deny aaaa.bbbb.cccc 0000.0000.0000Router(config)#
access-list 700 permit 0000.0000.0000 ffff.ffff.ffff
باستخدام هذا التكوين، يسمح الموجه فقط بعناوين MAC التي تم تكوينها على قائمة الوصول 700. مع أمر قائمة الوصول access-list <ACL Number> رفض <mac address> 0000.000.000، قم برفض عنوان MAC الذي لا يمكن أن يكون له وصول ثم قم بالسماح بالباقي (على سبيل المثال، aaa.bbbb.cccc).
ملاحظة: إنشاء كل سطر من قائمة الوصول لكل عنوان MAC.
لا يوجد حاليًا إجراء للتحقق من صحة هذا التكوين.
هناك حاليا ما من معلومة محددة يتوفر أن يتحرى هذا تشكيل.
المراجعة | تاريخ النشر | التعليقات |
---|---|---|
3.0 |
21-Nov-2023 |
تم تحديث المصطلحات والتنسيق. |
2.0 |
04-Oct-2022 |
تنسيقات الأوامر المحدثة
منشئات محدثة، SEO، إخلاء المسؤولية القانوني، الترجمة الآلية والتنسيق. |
1.0 |
20-Aug-2002 |
الإصدار الأولي |