דילוג לתוכן הראשי
AD Academy
CCNA — יסודות רשתות Cisco
בינוני14 דקותעודכן לאחרונה: נושא 11 מתוך 12

ACL: Standard מול Extended וסדר הכללים

איפה למקם רשימת גישה, למה הסדר קריטי ומהו ה־deny any הסמוי.

לא הושלם

מה תלמדו כאן

  • ההבדל בין Standard ל־Extended ACL
  • למה סדר הכללים קריטי
  • מה זה ה־deny any הסמוי

כדאי לקרוא לפני הנושא הזה:OSPFv2: Router ID, Hello ו־DR/BDR

אנלוגיה: ACL הוא מאבטח בכניסה עם רשימת שמות. הוא קורא מלמעלה למטה ועוצר בשורה הראשונה שמתאימה — ומי שלא הופיע ברשימה בכלל, פשוט לא נכנס.

החבילה נבדקת מלמעלה למטה והשורה הראשונה שמתאימה קובעת. שורה 10 חוסמת SMB מרשת האורחים אל השרתים, שורה 20 מתירה HTTPS, שורה 30 מתירה DNS, וכל השאר נחסם על ידי ה־implicit deny הסמוי בסוף. Standard ACL בודק מקור בלבד וממוקם קרוב ליעד, ואילו Extended ACL בודק כתובת, פרוטוקול ופורט וממוקם קרוב למקור.

Standard מול Extended

  • Standard (1–99) — בודק רק כתובת מקור. ממקמים קרוב ליעד, אחרת חוסמים יותר מדי.
  • Extended (100–199) — בודק מקור, יעד, פרוטוקול ופורט. ממקמים קרוב למקור כדי לחסוך תעבורה מיותרת.
  • Named ACL — שמות במקום מספרים, מאפשר עריכה לפי מספרי שורה. מומלץ תמיד.
  • בסוף כל ACL קיים implicit deny any — מה שלא הותר במפורש, נחסם.
  • אפשר ACL אחד לכיוון אחד לכל ממשק (in / out).
! Extended ACL: לאפשר HTTPS ו־DNS, לחסום SMB מרשת האורחים
Router(config)# ip access-list extended GUEST-IN
Router(config-ext-nacl)# 10 deny tcp 192.168.99.0 0.0.0.255 192.168.50.0 0.0.0.255 eq 445
Router(config-ext-nacl)# 20 permit tcp 192.168.99.0 0.0.0.255 any eq 443
Router(config-ext-nacl)# 30 permit udp 192.168.99.0 0.0.0.255 any eq 53
Router(config-ext-nacl)# 40 deny ip any any log
Router(config)# interface gi0/1
Router(config-if)# ip access-group GUEST-IN in

! בדיקות
Router# show access-lists
Router# show ip interface gi0/1 | include access list
bash
ארכיטקטורה ותיאוריה — מתחת למכסה המנוע

ACL נבדק שורה אחר שורה מלמעלה למטה; ברגע שיש התאמה — הבדיקה נעצרת. בסוף כל ACL יש implicit deny any שלא רואים בקונפיג.

Packet -> line 10 permit? -> match? YES -> PERMIT (stop)
                 |NO
             line 20 deny? ...
                 |NO
             [implicit deny any]  <-- הכול נזרק כאן
text
  • Standard (1-99): מסנן לפי כתובת מקור בלבד — ממקמים קרוב ליעד.
  • Wildcard Mask הוא היפוך של Subnet Mask: 0 = חייב להתאים, 1 = לא אכפת. /26 → 0.0.0.63, host יחיד → 0.0.0.0, כל כתובת → any.
  • ACL על ממשק פועל רק על תעבורה שעוברת דרך הנתב (transit) — תעבורה שהנתב עצמו מייצר לא נבדקת, ולכן ping מהנתב יכול להצליח בזמן שהמשתמשים חסומים.
  • ACL על VTY מגן על הגישה לניהול הציוד.
הגדרה מעשית (CLI)
! Extended named ACL
R(config)# ip access-list extended BRANCH-IN
R(config-ext-nacl)# 10 permit tcp 192.168.10.0 0.0.0.255 host 10.0.0.50 eq 443
R(config-ext-nacl)# 20 permit udp any host 10.0.0.10 eq 53
R(config-ext-nacl)# 30 deny ip 192.168.10.0 0.0.0.255 10.0.20.0 0.0.0.255 log
R(config-ext-nacl)# 40 permit ip any any
R(config)# interface gi0/0
R(config-if)# ip access-group BRANCH-IN in

! הגנה על ניהול
R(config)# access-list 10 permit 192.168.99.0 0.0.0.255
R(config)# line vty 0 15
R(config-line)# access-class 10 in
bash
תרחישי אמת בארגון
  • בידוד VLAN אורחים: אינטרנט מותר, רשת פנימית חסומה.
  • גישה לשרתים רק מ־VLAN הניהול ורק בפורטים הנדרשים.
  • חסימת תעבורה בעייתית ידועה (SMB בין סניפים) לצמצום התפשטות כופר.
אבחון ופתרון תקלות
R# show access-lists
R# show ip access-lists BRANCH-IN     ! מונה התאמות לכל שורה
R# show ip interface gi0/0 | include access list
R# clear access-list counters
bash
  • הכול נחסם → שכחו permit בסוף, וה־implicit deny תפס את הכול.
  • הכלל לא נאכף → ה־ACL לא הוצמד לממשק, או הוצמד בכיוון ההפוך (in/out).
  • המונה של השורה נשאר 0 → התעבורה לא מגיעה לשם בכלל, או שורה קודמת תפסה אותה.
  • DNS/DHCP נשברו → שכחו לאפשר UDP 53 ו־67/68.
מילון מונחים ושורת פקודות מהירה
  • Standard = קרוב ליעד | Extended = קרוב למקור
  • ip access-group <name> in|out — על הממשק
  • בסוף תמיד implicit deny any
  • Wildcard: host = 0.0.0.0, any = 255.255.255.255

בדוק את עצמך

היכן ממקמים Standard ACL?

מה קורה לתעבורה שלא תואמת אף שורה ב־ACL?

העמוד הזה עזר לך?