CẤU HÌNH POLICY-MAP TRONG THIẾT BỊ CISCO
15 - ỨNG DỤNG VÀ CẤU HÌNH POLICY-MAP TRONG THIẾT BỊ CISCO
I. ỨNG DỤNG POLICY-MAP QOS CỦA THIẾT BỊ CISCO
Trong những tính năng của thiết bị Cisco, dịch vụ policy-map QoS (Quality of Service) được sử dụng để định nghĩa các hành động QoS sẽ được áp dụng cho các lớp lưu lượng cụ thể, thay vì phân loại thành các "loại" dịch vụ policy-map riêng biệt, bạn nên hiểu rằng policy-map chứa các hành động QoS khác nhau mà bạn có thể cấu hình cho các lớp lưu lượng đã được xác định trong class-map.
Phia dưới đây là các hành động QoS phổ biến mà bạn có thể cấu hình trong một policy-map trên thiết bị Cisco:
Bandwidth: Cấp phát băng thông tối thiểu cho một lớp lưu lượng. Có hai dạng chính:
Bandwidth: Chỉ định băng thông tối thiểu dựa trên giá trị tuyệt đối (kbps).
Bandwidth percent: Chỉ định băng thông tối thiểu dựa trên phần trăm băng thông của interface.
Priority: Cấp mức ưu tiên cao cho một lớp lưu lượng, đảm bảo rằng lưu lượng này được xử lý trước các lưu lượng khác trong trường hợp nghẽn mạng. Thường được sử dụng cho các ứng dụng nhạy cảm với độ trễ như thoại và video. Có hai dạng chính:
Priority: Chỉ định băng thông ưu tiên dựa trên giá trị tuyệt đối (kbps).
Priority percent: Chỉ định băng thông ưu tiên dựa trên phần trăm băng thông của interface.
Shape: Giới hạn lưu lượng ra trên một interface đến một tốc độ cấu hình. Điều này giúp ngăn chặn việc sử dụng quá nhiều băng thông và đảm bảo tính ổn định của mạng. Có hai dạng chính:
Shape average: Định cấu hình tốc độ trung bình.
Shape peak: Định cấu hình tốc độ cực đại.
Police: Giám sát tốc độ lưu lượng và thực hiện các hành động khi lưu lượng vượt quá ngưỡng cấu hình. Các hành động phổ biến bao gồm:
Transmit: Cho phép lưu lượng vượt quá đi qua.
Drop: Loại bỏ lưu lượng vượt quá.
Mark: Đánh dấu lại lưu lượng vượt quá với một giá trị DSCP/CoS thấp hơn.
Set: Đặt các giá trị QoS khác nhau trong header của gói tin, chẳng hạn như:
Set ip dscp: Đặt giá trị Differentiated Services Code Point (DSCP) ở layer 3.
Set cos: Đặt giá trị Class of Service (CoS) ở layer 2.
Queueing: Cấu hình các cơ chế hàng đợi khác nhau để quản lý lưu lượng trong trường hợp nghẽn mạng, chẳng hạn như:
Fair-queue: Sử dụng Weighted Fair Queuing (WFQ) để đảm bảo chia sẻ băng thông công bằng giữa các luồng lưu lượng.
Random-detect: Sử dụng Weighted Random Early Detection (WRED) để ngăn chặn nghẽn mạng bằng cách giảm xác suất rớt gói tin cho các lưu lượng có mức ưu tiên thấp hơn khi hàng đợi bắt đầu đầy.
Service-policy (nested): Cho phép gọi một policy-map khác bên trong một policy-map, tạo ra cấu trúc QoS phân cấp.

II. CÁC BƯỚC CẤU HÌNH POLICY-MAP TRONG THIẾT BỊ CISCO
Bước 1: Vào chế độ cấu hình toàn cục (Global Configuration Mode)
Tương tự như router, bạn cần vào chế độ cấu hình toàn cục để bắt đầu.
FdcFwCisco> enable
FdcFwCisco# configure terminal
Bước 2: Tạo Policy-map
Sử dụng lệnh policy-map để tạo hoặc chỉnh sửa policy-map.
FdcFwCisco(Config)# policy-map <tên-policy-map>
<tên-policy-map>: Tên bạn muốn đặt cho policy-map.
Sau khi nhập lệnh này, bạn sẽ vào chế độ Policy-map Configuration Mode:
FdcFwCisco(Config-pmap)#
Bước 3: Cấu hình các lớp (class) trong Policy-map
Trong chế độ Policy-map Configuration Mode, bạn sử dụng lệnh class để liên kết với các class-map đã được định nghĩa trước đó.
FdcFwCisco(Config-pmap)# class <tên-class-map>
<tên-class-map>: Tên của class-map bạn muốn áp dụng hành động trong policy-map này.
Sau khi nhập lệnh class, bạn sẽ chuyển sang chế độ Policy-map Class Configuration Mode:
FdcFwCisco(config-pmap-c)#
Bước 4: Cấu hình các hành động (actions) cho mỗi lớp
Đây là nơi bạn định nghĩa các hành động mà Firewall sẽ thực hiện đối với lưu lượng phù hợp với class-map đã chọn. Các hành động phổ biến trên Firewall Cisco bao gồm:
police: Giới hạn băng thông. Cú pháp tương tự router.
FdcFwCisco(Config-pmap-c)# police cir <tốc-độ> bc <kích-thước-burst-thường> [be <kích-thước-burst-vượt-mức>] conform-action <hành-động-phù-hợp> exceed-action <hành-động-vượt-mức> violate-action <hành-động-vi-phạm>
Shape: Định hình lưu lượng. Cú pháp tương tự router.
FdcFwCisco (Config-pmap-c)# shape average <tốc-độ> [bc <kích-thước-burst-thường>] [be <kích-thước-burst-vượt-mức>]
Priority: Gán mức ưu tiên (QoS). Cú pháp tương tự router.
FdcFwCisco(Config-pmap-c)# priority level <mức-ưu-tiên>
Set: Thiết lập các giá trị trường (ví dụ: DSCP). Cú pháp tương tự router.
FdcFwCisco (Config-pmap-c)# set dscp <giá-trị-dscp>
Drop: Loại bỏ gói tin.
FdcFwCisco(Config-pmap-c)# drop
Các hành động liên quan đến Security Intelligence (FTD): Trên FTD, bạn có thể thấy các hành động liên quan đến Security Intelligence như do-not-inspect, log, v.v. tùy thuộc vào cấu hình module.
Bước 5: (Tùy chọn) Cấu hình lớp mặc định (class-default)
Tương tự router, bạn có thể cấu hình lớp mặc định để xử lý lưu lượng không khớp với bất kỳ class-map nào khác.
FdcFwCisco(Config-pmap-c)# class class-default <các-hành-động>
Bước 6: Thoát khỏi các chế độ cấu hình
FdcFwCisco(Config-pmap-c)# exit
FdcFwCisco(Config-pmap)# exit
FdcFwCisco(Config)# end
FdcFwCisco# write memory
Áp dụng Policy-map trên Firewall Cisco:
Điểm khác biệt quan trọng trên Firewall Cisco là cách policy-map được áp dụng. Thay vì áp dụng trực tiếp lên interface như router, trên Firewall, policy-map thường được áp dụng trong service policy. Service policy xác định các quy tắc bảo mật và QoS áp dụng cho lưu lượng đi qua Firewall.
1. Đối với Cisco ASA:
Bạn sẽ tạo một service policy và liên kết policy-map vào đó. Service policy có thể được áp dụng một cách toàn cục (áp dụng cho tất cả các interface) hoặc cho từng interface.
Tạo Service Policy (Global):
FdcFwCisco(Config)# policy-map global_policy
FdcFwCisco(Config-pmap)# class <tên-class-map>
FdcFwCisco(Config-pmap-c)# service-policy <tên-policy-map> <input|output>
Hoặc bạn có thể trực tiếp áp dụng policy-map vào global service policy:
FdcFwCisco(Config-pmap-c)# service-policy global <tên-policy-map> <input|output>
Tạo Service Policy (Interface-specific):
FdcFwCisco(Config)# interface <tên-interface>
FdcFwCisco(Config-if)# service-policy <tên-policy-map> <input|output>
FdcFwCisco(Config-if)# exit
2. Đối với Cisco Firepower Threat Defense (FTD):
Việc cấu hình Service Policy và áp dụng Policy-map thường được thực hiện thông qua FlexConfig (nếu bạn đang quản lý FTD bằng FMC và muốn đẩy cấu hình CLI) hoặc trực tiếp trên CLI của FTD nếu bạn không sử dụng FMC cho phần này.
Sử dụng FlexConfig (thông qua FMC): Bạn sẽ tạo các đối tượng Policy-map trong FMC và sau đó sử dụng đối tượng này trong các rule FlexConfig để đẩy xuống FTD.
Cấu hình CLI trực tiếp trên FTD: Các lệnh tương tự ASA có thể được sử dụng, nhưng có thể có sự khác biệt nhỏ về cú pháp hoặc ngữ cảnh tùy thuộc vào phiên bản phần mềm.
Cấu hình Cisco CLI
FdcFwCisco(Config)# policy-map <tên-policy-map>
FdcFwCisco(Config-pmap)# class <tên-class-map>
FdcFwCisco(Config-pmap-c)# <các-hành-động>
FdcFwCisco(Config-pmap-c)# exit
FdcFwCisco(Config-pmap)# exit
FdcFwCisco(Config-pmap)# interface <tên-interface>
FdcFwCisco(Config-pmap-if)# service-policy <tên-policy-map> <input|output>
FdcFwCisco(Config-pmap-if)# exit
Ví dụ cấu hình Policy-map trên Cisco ASA:
Giả sử bạn muốn tạo policy-map QoS_Firewall để giới hạn băng thông tải lên cho lưu lượng từ mạng bên trong (interface inside) đến mạng bên ngoài (interface outside) cho lưu lượng web (class-map Web_Traffic_Inbound).
FdcFwCisco> enable
FdcFwCisco# configure terminal
FdcFwCisco(Config)# class-map Web_Traffic_Inbound
FdcFwCisco(Config-pmap)# match access-list Web_Access
FdcFwCisco(Config)# exit
FdcFwCisco(Config)# access-list Web_Access extended permit tcp any any eq 80
FdcFwCisco(Config)# access-list Web_Access extended permit tcp any any eq 443
FdcFwCisco(Config)# exit
FdcFwCisco(Config)# policy-map QoS_Firewall
FdcFwCisco(Config-pmap)# class Web_Traffic_Inbound
FdcFwCisco(Config-pmap-c)# police cir 512000 bc 10000 conform-action transmit exceed-action drop
FdcFwCisco(Config-pmap-c)#class class-default
FdcFwCisco(Config-pmap-c-c)# shape average 2048000
FdcFwCisco(Config-pmap-c-c)#exit
FdcFwCisco(Config-pmap-c)#exit
FdcFwCisco(Config-pmap)# interface inside
FdcFwCisco(Config-pmap)# service-policy QoS_Firewall output
FdcFwCisco(Config-pmap)# exit
FdcFwCisco(Config-pmap)# end
FdcFwCisco# write memory
Trong ví dụ này:
1.Một class-map tên Web_Traffic_Inbound được tạo để khớp với lưu lượng web đi qua interface inside.
2.Một access-list tên Web_Access được sử dụng để xác định lưu lượng web (port 80 và 443).
3.policy-map QoS_Firewall được tạo:
Lưu lượng khớp với Web_Traffic_Inbound bị giới hạn tốc độ 512 kbps.
Lưu lượng mặc định được định hình ở tốc độ 2 Mbps.
4. Policy-map QoS_Firewall được áp dụng theo hướng output trên interface inside, nghĩa là nó sẽ điều chỉnh lưu lượng đi ra từ interface inside (tức là lưu lượng từ mạng bên trong ra bên ngoài).
Lưu ý quan trọng cho Firewall Cisco:
Ngữ cảnh bảo mật (Security Contexts): Nếu bạn đang làm việc trên một ASA hoặc FTD cấu hình nhiều ngữ cảnh, bạn cần thực hiện các cấu hình policy-map và service policy trong ngữ cảnh thích hợp.
Hướng áp dụng (Input/Output): Xác định rõ bạn muốn áp dụng policy cho lưu lượng đi vào (input) hay đi ra (output) trên interface.
Thứ tự xử lý: Firewall Cisco xử lý các rule và policy theo một thứ tự nhất định. Hiểu rõ thứ tự này là quan trọng để đảm bảo policy của bạn hoạt động như mong đợi.
Kiểm tra và giám sát: Sau khi áp dụng policy, hãy sử dụng các lệnh như show service-policy interface <tên-interface> hoặc show policy-map <tên-policy-map> để kiểm tra cấu hình và theo dõi hiệu suất.