Danh mục sản phẩm
Bài 59: Named ACL & Troubleshooting ACL Thường Gặp
💡 Liên hệ thực tế
Sau khi cấu hình cả chục ACL đánh số như access-list 110, access-list 120... anh Nam bên VNExperts nhận ra 1 vấn đề: nhìn con số không thể nào nhớ nổi ACL nào dùng để làm gì, phải liên tục show access-lists để tra cứu lại mục đích từng ACL. Giải pháp: Named ACL — đặt tên gợi nhớ như BLOCK-FTP-ACCOUNTING thay vì chỉ là con số 110 khô khan.
📘 Kiến thức cốt lõi
⚙️ Cú pháp cấu hình Named ACL:
Router(config)# ip access-list extended BLOCK-FTP-ACCOUNTING Router(config-ext-nacl)# deny tcp 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 eq 21 Router(config-ext-nacl)# permit ip any any
📎 Lệnh
ip access-list extended <tên>đưa Router vào chế độ cấu hình ACL riêng (dấu nhắc lệnh đổi thành(config-ext-nacl)#), sau đó gõ các dòngpermit/denykhông cần lặp lại số/tên ACL ở đầu mỗi dòng — khác với ACL đánh số phải gõaccess-list 110 ...lặp lại ở từng dòng.
Tương tự với Standard ACL:
Router(config)# ip access-list standard ALLOW-MANAGEMENT Router(config-std-nacl)# permit host 192.168.1.100
⚙️ Sequence Number — cơ chế đánh số ẩn giúp chèn/sửa dễ dàng:
Mỗi dòng ACL (dù đánh số hay đặt tên) đều tự động được gán 1 Sequence Number, mặc định dòng đầu tiên là 10, các dòng sau tăng dần thêm 10 mỗi dòng (10, 20, 30...). Nhờ vậy, có thể chèn thêm dòng mới vào đúng vị trí mong muốn mà không cần xóa và gõ lại toàn bộ ACL — ví dụ chèn dòng mới với Sequence Number 15 để nó nằm giữa dòng 10 và 20.
Router(config-ext-nacl)# 15 permit tcp any any eq 443
Có thể đánh số lại toàn bộ (resequence) nếu các số đã quá sát nhau:
Router(config)# ip access-list resequence BLOCK-FTP-ACCOUNTING 100 10
📎 Lệnh trên đánh số lại từ
100, mỗi dòng cách nhau10đơn vị. Lệnhresequencecực kỳ hữu ích khi bạn đã chèn quá nhiều dòng nhỏ (như 11, 12, 13, 14, 15...) khiến các số dính sát vào nhau và không còn khoảng trống để chèn thêm luật mới giữa dòng 10 và 20 nữa.
⚠️ Tổng hợp các lỗi Troubleshooting ACL phổ biến nhất:
| Triệu chứng | Nguyên nhân thường gặp |
|---|---|
| Lưu lượng hợp lệ bị chặn hoàn toàn | Quên dòng permit cuối cùng — bị Implicit Deny chặn (Bài 56) |
| ACL cấu hình xong nhưng "không có tác dụng gì" | Quên áp dụng ip access-group/ip access-class vào Interface |
| Chặn nhầm cả lưu lượng không liên quan | Đặt sai vị trí ACL (Standard đặt gần nguồn thay vì gần đích — Bài 57) |
| ACL áp dụng đúng nhưng vẫn không lọc đúng ý | Thứ tự các dòng permit/deny bị sai — dòng phía trên "chặn đường" dòng phía sau đúng ý hơn (Bài 56) |
| Router mất khả năng học định tuyến động (OSPF...) | ACL vô tình chặn cả gói tin Multicast của giao thức định tuyến (địa chỉ 224.0.0.5/224.0.0.6 của OSPF, liên hệ lại Bài 51) |
🔍 Bộ 3 lệnh kiểm tra kinh điển khi troubleshooting ACL:
Router# show access-lists Router# show ip interface gigabitEthernet 0/1 Router# show running-config | include access-list
💬 Hỏi & Đáp nhanh
❓ Named ACL có thể áp dụng cho VTY line (quản lý Telnet/SSH) giống ACL đánh số không?
❌ Không — đây là 1 giới hạn quan trọng cần nhớ: ACL áp dụng cho VTY line bắt buộc phải dùng ACL đánh số, không thể dùng Named ACL cho mục đích này. Named ACL chỉ áp dụng được cho Interface thông thường qua ip access-group.
📎 VTY (Virtual Teletype) line là gì? Đây là các "cổng ảo" trên Router/Switch dùng để quản trị viên truy cập từ xa qua Telnet hoặc SSH — khác với cổng Console (kết nối trực tiếp bằng cáp Rollover, đã học ở Bài 5) chỉ dùng được khi ngồi ngay tại thiết bị. ACL áp dụng lên VTY line (bằng lệnh
access-classthay vìip access-group) giúp giới hạn chỉ những địa chỉ IP quản trị được phép mới đăng nhập quản lý thiết bị từ xa — đây là 1 lớp bảo mật quan trọng, tránh việc bất kỳ ai trên mạng cũng có thể thử đăng nhập vào Router/Switch.
❓ Có thể chuyển đổi qua lại giữa ACL đánh số và Named ACL không, hay phải chọn 1 trong 2 ngay từ đầu?
✅ Về mặt chức năng, cả 2 loại hoạt động hoàn toàn tương đương — sự khác biệt chỉ nằm ở cách đặt tên/đánh số. Tuy nhiên, Cisco IOS không hỗ trợ lệnh "convert" trực tiếp — muốn đổi từ đánh số sang đặt tên (hoặc ngược lại), cần tạo lại ACL mới với đầy đủ các dòng permit/deny tương tự.
❓ Khi ACL vô tình chặn cả gói tin Multicast của OSPF, làm sao phát hiện ra nguyên nhân này nhanh nhất?
✅ Dấu hiệu rõ ràng nhất: OSPF Neighbor đột nhiên rớt xuống Down hoặc không hình thành được (đã học ở Bài 51), dù cấu hình network/area vẫn đúng. Kiểm tra ngay ACL đang áp dụng trên Interface đó (show ip interface) xem có dòng nào vô tình chặn dải Multicast 224.0.0.0/24 hay không — đây là nguyên nhân rất dễ bị bỏ sót vì không liên quan trực tiếp đến "ý định ban đầu" khi viết ACL.
📝 Bài tập đánh giá
Câu 1: Named ACL có điểm hạn chế nào so với ACL đánh số?
- A. Không thể dùng để lọc theo địa chỉ IP
- B. Không thể áp dụng cho VTY line, chỉ ACL đánh số mới áp dụng được
- C. Named ACL luôn chạy chậm hơn
- D. Named ACL không hỗ trợ Extended ACL
Câu 2: Nguyên nhân phổ biến nhất khiến ACL "cấu hình xong nhưng không có tác dụng gì" là gì?
- A. Quên áp dụng ACL vào Interface bằng
ip access-group - B. Đặt tên ACL quá dài
- C. Dùng sai Wildcard Mask
- D. ACL chỉ hoạt động vào ban đêm
👉 Đáp án:
Câu 1: B — ACL áp dụng cho VTY line bắt buộc phải là ACL đánh số, Named ACL không áp dụng được cho mục đích này.
Câu 2: A — Đây là lỗi phổ biến nhất: dù ACL được cấu hình đúng nội dung, nếu quên ip access-group để gán vào Interface, ACL đó hoàn toàn không có tác dụng lọc bất kỳ lưu lượng nào.
📚 Bài viết thuộc khóa học CCNA của VNExperts
🧭 Điều hướng
| ⬅️ Bài trước | 🏠 Mục lục khóa học | Bài kế tiếp ➡️ |
|---|---|---|
| Bài 58: Extended ACL | Mục lục khóa học CCNA | Bài 60: Interpreting routing table thực chiến |
