Nếu các bạn đã quen với ACL chuẩn (Standard ACL) – nơi mà chúng ta chỉ có thể lọc dựa vào địa chỉ nguồn. Nhưng khi bước lên tầm cao hơn với Extended ACL, quyền kiểm soát sẽ chi tiết và mạnh mẽ hơn rất nhiều. Đây là công cụ mà bất kỳ CCNA/CCNP/CCIE nào cũng phải nắm vững nếu muốn triển khai những chính sách bảo mật tinh vi trong hệ thống.
1. Cấu hình Extended Numbered ACL
Trên router, để tạo extended numbered ACL, ta dùng cú pháp:
Router(config)# access-list access-list-number permit|deny protocol source_criteria destination_criteria
👉 Ví dụ:
RouterX(config)# access-list 101 deny tcp 172.16.3.0 0.0.0.255 any eq 22
RouterX(config)# access-list 101 deny tcp 172.16.3.0 0.0.0.255 any eq 23
RouterX(config)# access-list 101 permit ip 172.16.3.0 0.0.0.255 any
Ở đây:
Lưu ý quan trọng: port nằm sau địa chỉ destination → đây là cổng đích, còn nếu port đứng sau địa chỉ nguồn thì đó là cổng nguồn.
2. Cấu hình Extended Named ACL
Ngoài ACL theo số, ta có thể dùng named ACL cho dễ quản lý:
Router(config)# ip access-list extended ACL-NAME Router(config-ext-nacl)# deny tcp 172.16.3.0 0.0.0.255 any eq 22 Router(config-ext-nacl)# deny tcp 172.16.3.0 0.0.0.255 any eq 23 Router(config-ext-nacl)# permit ip 172.16.3.0 0.0.0.255 any
3. Cách hoạt động của Extended ACL
4. Ví dụ thực tế: kiểm soát web traffic
Giả sử bạn muốn:
Router(config)# access-list 110 permit tcp host 172.16.1.100 host 203.0.113.10 eq 80
Router(config)# access-list 110 deny tcp any host 203.0.113.10 eq 80
Router(config)# access-list 110 permit ip any any
👉 Đây là một ví dụ điển hình cho việc Extended ACL giúp chúng ta lọc lưu lượng cả theo địa chỉ IP và cổng dịch vụ. Với Standard ACL thì hoàn toàn không thể làm được điều này.
5. Kết luận
Extended ACL là một công cụ cực mạnh cho việc kiểm soát lưu lượng mạng. Anh em cần nhớ:
Câu hỏi ôn tập
1. Cấu hình Extended Numbered ACL
Trên router, để tạo extended numbered ACL, ta dùng cú pháp:
Router(config)# access-list access-list-number permit|deny protocol source_criteria destination_criteria
- Số ACL: từ 100–199 hoặc 2000–2699.
- Protocol: ip, tcp, udp, icmp... (nếu dùng ip thì nghĩa là tất cả các giao thức).
- Nguồn/Destination: có thể là địa chỉ IPv4 + wildcard, host <ip>, hoặc any.
- Port: chỉ rõ cổng nguồn/destination bằng toán tử:
- eq (bằng)
- lt (nhỏ hơn)
- gt (lớn hơn)
- neq (khác)
- range (khoảng cổng, ví dụ: range 1024 65535)
👉 Ví dụ:
RouterX(config)# access-list 101 deny tcp 172.16.3.0 0.0.0.255 any eq 22
RouterX(config)# access-list 101 deny tcp 172.16.3.0 0.0.0.255 any eq 23
RouterX(config)# access-list 101 permit ip 172.16.3.0 0.0.0.255 any
Ở đây:
- Dòng đầu tiên chặn SSH (port 22).
- Dòng thứ hai chặn Telnet (port 23).
- Dòng thứ ba cho phép mọi lưu lượng còn lại.
Lưu ý quan trọng: port nằm sau địa chỉ destination → đây là cổng đích, còn nếu port đứng sau địa chỉ nguồn thì đó là cổng nguồn.
2. Cấu hình Extended Named ACL
Ngoài ACL theo số, ta có thể dùng named ACL cho dễ quản lý:
Router(config)# ip access-list extended ACL-NAME Router(config-ext-nacl)# deny tcp 172.16.3.0 0.0.0.255 any eq 22 Router(config-ext-nacl)# deny tcp 172.16.3.0 0.0.0.255 any eq 23 Router(config-ext-nacl)# permit ip 172.16.3.0 0.0.0.255 any
- Từ khóa ip access-list extended sẽ đưa ta vào chế độ cấu hình ACL theo tên (Router(config-ext-nacl)#).
- Có thể đặt tên là chữ hoặc số, nhưng phải tuân thủ đúng loại ACL (extended).
3. Cách hoạt động của Extended ACL
- ACL được xử lý tuần tự từ trên xuống dưới. Khi một dòng khớp, ACL sẽ dừng và không xét các dòng sau.
- Do đó, câu lệnh càng cụ thể (deny một host/cổng) phải đặt trước câu lệnh tổng quát (permit cả subnet).
- Nếu không có gì khớp → áp dụng mặc định deny ip any any (implicit deny).
4. Ví dụ thực tế: kiểm soát web traffic
Giả sử bạn muốn:
- Cho phép máy 172.16.1.100 truy cập web server 203.0.113.10 port 80.
- Cấm tất cả các máy khác trong LAN.
Router(config)# access-list 110 permit tcp host 172.16.1.100 host 203.0.113.10 eq 80
Router(config)# access-list 110 deny tcp any host 203.0.113.10 eq 80
Router(config)# access-list 110 permit ip any any
👉 Đây là một ví dụ điển hình cho việc Extended ACL giúp chúng ta lọc lưu lượng cả theo địa chỉ IP và cổng dịch vụ. Với Standard ACL thì hoàn toàn không thể làm được điều này.
5. Kết luận
Extended ACL là một công cụ cực mạnh cho việc kiểm soát lưu lượng mạng. Anh em cần nhớ:
- Số 100–199, 2000–2699 (hoặc đặt tên).
- Lọc theo IP và cổng (source/destination).
- Lệnh cụ thể đặt trước, lệnh tổng quát đặt sau.
- Luôn có deny any any mặc định cuối cùng.
Câu hỏi ôn tập
- Extended ACL khác Standard ACL ở điểm nào?
- Nếu port number nằm sau địa chỉ source thì đó là port gì?
- Lệnh access-list 101 deny tcp 192.168.1.0 0.0.0.255 any eq 80 có ý nghĩa gì?
- Tại sao cần đặt lệnh deny/permit cụ thể trước lệnh tổng quát trong ACL?
- Lệnh nào được dùng để cấu hình Extended Named ACL?