Kiểm soát luồng truy cập và đường đi gói tin bằng Policy-Based Routing và MQC

Các phương thức định tuyến truyền thống dựa trên việc tra cứu bảng định tuyến theo địa chỉ IP đích của gói tin để xác định đường đi. Tuy nhiên, trong nhiều trường hợp, người quản trị mạng mong muốn có thể áp dụng các chính sách tùy chỉnh để điều khiển quá trình định tuyến và lựa chọn đường đi, đặc biệt là để tăng cường bảo mật mạng bằng cách kiểm soát các gói tin truy cập vào mạng.

Bài viết này sẽ đi sâu vào kỹ thuật lọc lưu lượng, định tuyến dựa trên chính sách (Policy-Based Routing - PBR) và sử dụng Giao diện Dòng lệnh QoS Mô-đun (Modular QoS Command-Line Interface - MQC) để kiểm soát đường đi của gói tin và thực hiện lọc lưu lượng.

Định tuyến dựa trên chính sách (Policy-Based Routing - PBR)

Bối cảnh kỹ thuật của PBR

Trong một số tình huống, chúng ta cần định tuyến lưu lượng của một nhóm người dùng hoặc một loại dịch vụ cụ thể theo một đường dẫn mạng đã định sẵn, trong khi lưu lượng còn lại vẫn tuân theo quy tắc định tuyến thông thường.

Giới thiệu về PBR

Khái niệm cơ bản

PBR (Policy-Based Routing) cho phép thiết bị mạng không chỉ dựa vào địa chỉ IP đích để chuyển tiếp dữ liệu mà còn có thể dựa trên các thuộc tính khác của gói tin như địa chỉ IP nguồn, địa chỉ MAC nguồn, địa chỉ MAC đích, cổng nguồn, cổng đích, ID VLAN, v.v.

Người dùng cũng có thể sử dụng Danh sách kiểm soát truy cập (Access Control List - ACL) để khớp các gói tin cụ thể và sau đó triển khai PBR dựa trên ACL đó. Khi PBR được cấu hình trên thiết bị, các gói tin khớp với chính sách PBR sẽ được ưu tiên xử lý, nghĩa là chính sách PBR có độ ưu tiên cao hơn bảng định tuyến thông thường.

Cấu trúc PBR

Tương tự như Route-Policy, PBR bao gồm nhiều nút (node). Mỗi nút bao gồm các điều kiện khớp (matching conditions) và các hành động thực thi (actions). Một nút có thể chứa nhiều điều kiện khớp. Mối quan hệ giữa các điều kiện khớp trong cùng một nút là "AND" (tất cả các điều kiện phải thỏa mãn). Mối quan hệ giữa các nút là "OR" (chỉ cần một nút thỏa mãn là đủ). PBR sẽ xử lý các nút theo thứ tự số nút tăng dần, và khi một nút được khớp, quá trình so khớp sẽ dừng lại.

Cú pháp lệnh

(Lưu ý: Phần này trong bài gốc không có cú pháp lệnh chi tiết, chỉ có tiêu đề. Do đó, không thể cung cấp cú pháp lệnh tương đương.)

Phân biệt PBR và Route-Policy

Thuộc tính Đối tượng tác động Mô tả
Route-Policy Thông tin định tuyến Route-Policy là một tập hợp các phương pháp để lọc và thiết lập thuộc tính cho thông tin định tuyến, từ đó ảnh hưởng đến đường đi của gói tin dữ liệu.
PBR Gói tin dữ liệu PBR tác động trực tiếp lên gói tin dữ liệu, sử dụng nhiều phương pháp để khớp các gói tin quan tâm, sau đó thực hiện hành động loại bỏ hoặc buộc chuyển tiếp theo một đường dẫn cụ thể.

Phân loại PBR

(Lưu ý: Phần này trong bài gốc chỉ có tiêu đề mà không có nội dung chi tiết.)

Kịch bản ứng dụng điển hình của PBR

Triển khai tường lửa nội bộ: Đặt tường lửa song song với switch lõi. Trên giao diện lớp 3 của switch lõi, cấu hình PBR để chuyển hướng lưu lượng từ mạng bên ngoài đến tường lửa để kiểm tra an ninh. Sau khi kiểm tra, lưu lượng sẽ được gửi trở lại switch lõi và sau đó được định tuyến vào mạng nội bộ.

Hành động chuyển hướng lưu lượng đến một thiết bị khác để kiểm tra an ninh được gọi là "引流" (yǐn liú - dẫn luồng), và PBR là một công cụ phổ biến cho mục đích này.

Đa lối ra Internet: Khi một doanh nghiệp có nhiều cổng kết nối Internet, PBR có thể được sử dụng để chỉ định cổng kết nối Internet cho các dải mạng cụ thể. Cấu hình PBR trên giao diện nội bộ của thiết bị cổng ra, khớp lưu lượng từ mạng nội bộ và chỉ định địa chỉ IP Next-hop công cộng khác nhau.

Giới thiệu cấu hình

  1. Tạo PBR:

    [Huawei] policy-based-route policy-name { deny | permit } node node-id

    Tạo chính sách định tuyến và nút chính sách. Nếu nút đã tồn tại, hệ thống sẽ vào chế độ xem chính sách định tuyến cục bộ.
  2. Thiết lập điều kiện khớp cho gói tin IP:

    [Huawei-policy-based-route-PBR-10] if-match acl acl-number

    [Huawei-policy-based-route-PBR-10] if-match packet-length min-length max-length

    Mặc định, không có điều kiện khớp nào được cấu hình trong PBR. Có thể sử dụng ACL để khớp địa chỉ IP hoặc đặt độ dài gói tin.
  3. Chỉ định cổng ra cho gói tin PBR:

    [Huawei-policy-based-route-PBR-10] apply output-interface interface-type interface-number

    Mặc định, không có cổng ra nào được chỉ định. Sau khi cấu hình thành công, các gói tin khớp với nút chính sách sẽ được gửi ra từ cổng được chỉ định. Cổng ra không được là các giao diện kiểu broadcast như Ethernet.
  4. Thiết lập Next-hop cho gói tin PBR:

    [Huawei-policy-based-route-PBR-10] apply ip-address next-hop ip-address1 [ ip-address2 ]

    Người dùng có thể chỉ định Next-hop cho gói tin. Khi không có cổng ra nào được cấu hình cho nút chính sách này, các gói tin khớp sẽ được gửi đến Next-hop đã chỉ định.
  5. Gọi PBR toàn cục:

    [Huawei] ip local policy-based-route Policy-name

  6. Gọi PBR trên giao diện:

    [Huawei-GigabitEthernet0/0/0] ip policy-based-route Policy-name

Ví dụ cấu hình

Yêu cầu:

Mạng nội bộ có hai dải mạng: Dải 1: 10.1.1.0/24, Dải 2: 10.1.2.0/24. Trên giao diện GE0/0/0 của RTA, cấu hình PBR để lưu lượng từ Dải 1 truy cập Internet đi qua ISP1, và lưu lượng từ Dải 2 đi qua ISP2. RTA có một máy chủ đặt song song, cấu hình PBR không được ảnh hưởng đến việc người dùng nội bộ truy cập máy chủ này.

  1. Cấu hình ACL 3000: Rule 1 từ chối lưu lượng từ Dải 1 truy cập máy chủ. Rule 2 khớp lưu lượng từ Dải 1 truy cập Internet.
    [RTA] acl number 3000
    [RTA-acl-adv-3000] rule 1 deny ip source 10.1.1.0 0.0.0.255 destination 10.1.3.254 0
    [RTA-acl-adv-3000] rule 2 permit ip source 10.1.1.0 0.0.0.255 destination 0.0.0.0 0
    
  2. Cấu hình ACL 3001: Rule 1 từ chối lưu lượng từ Dải 2 truy cập máy chủ. Rule 2 khớp lưu lượng từ Dải 2 truy cập Internet.
    [RTA] acl number 3001
    [RTA-acl-adv-3001] rule 1 deny ip source 10.1.2.0 0.0.0.255 destination 10.1.3.254 0
    [RTA-acl-adv-3001] rule 2 permit ip source 10.1.2.0 0.0.0.255 destination 0.0.0.0 0
    
  3. Tạo PBR 'hcip', nút 10: Khớp ACL 3000, chỉ định Next-hop là 202.1.2.3.
    [RTA] policy-based-route hcip permit node 10
    [RTA-policy-based-route-hcip-10] if-match acl 3000
    [RTA-policy-based-route-hcip-10] apply ip-address next-hop 202.1.2.3
    
  4. Tạo PBR 'hcip', nút 20: Khớp ACL 3001, chỉ định Next-hop là 154.1.2.3.
    [RTA] policy-based-route hcip permit node 20
    [RTA-policy-based-route-hcip-20] if-match acl 3001
    [RTA-policy-based-route-hcip-20] apply ip-address next-hop 154.1.2.3
    
  5. Gọi PBR 'hcip' trên giao diện GE0/0/0:
    [RTA]interface GigabitEthernet 0/0/0
    [RTA-GigabitEthernet0/0/0] ip policy-based-route hcip
    

MQC (Modular QoS Command-Line Interface)

Giới thiệu MQC

MQC là một giao diện dòng lệnh mô-đun hóa cho phép phân loại các luồng dữ liệu có đặc điểm chung và áp dụng các dịch vụ tương tự cho chúng, hoặc cung cấp các dịch vụ khác nhau cho các luồng dữ liệu khác nhau. MQC bao gồm ba thành phần chính: phân loại luồng (traffic classifier), hành vi luồng (traffic behavior), và chính sách luồng (traffic policy).

Hành vi luồng trong MQC hỗ trợ hành động chuyển hướng gói tin, do đó có thể sử dụng MQC để triển khai định tuyến dựa trên chính sách cho các luồng IP đơn kênh.

Chính sách luồng: Liên kết phân loại luồng với hành vi luồng, áp dụng các hành động được định nghĩa trong hành vi luồng cho các gói tin đã được phân loại. Một chính sách luồng có thể liên kết nhiều phân loại luồng và hành vi luồng.

Phân loại luồng (Traffic Classifier)

Phân loại luồng định nghĩa một tập hợp các quy tắc khớp để phân loại gói tin. Các mục khớp được hỗ trợ trong phân loại luồng bao gồm:

(Lưu ý: Phần này trong bài gốc chỉ liệt kê tiêu đề mà không có danh sách chi tiết các mục khớp.)

Hành vi luồng (Traffic Behavior)

Hành vi luồng dùng để định nghĩa các hành động được thực thi, bao gồm lọc gói tin, đánh dấu lại mức độ ưu tiên, chuyển hướng, thống kê lưu lượng, v.v.

Chính sách luồng (Traffic Policy)

Chính sách luồng có thể được gọi trên giao diện. Chính sách luồng có khái niệm về hướng (inbound, outbound). Hành vi luồng trong chính sách sẽ khớp với các gói tin đi vào hoặc đi ra khỏi giao diện và thực hiện các hành động tương ứng.

Giới thiệu cấu hình

  1. Tạo phân loại luồng:

    [Huawei] traffic classifier classifier-name [ operator { and | or } ]

    Mặc định, mối quan hệ giữa các quy tắc trong phân loại luồng là "OR". Chi tiết cấu hình quy tắc khớp có thể tham khảo tài liệu sản phẩm.
  2. Tạo hành vi luồng:

    [Huawei] traffic behavior behavior-name

    Định nghĩa các hành động trong hành vi luồng dựa trên tình huống thực tế. Miễn là các hành động không xung đột, chúng có thể được cấu hình trong cùng một hành vi luồng. Chi tiết cấu hình hành vi luồng có thể tham khảo tài liệu sản phẩm.
  3. Tạo chính sách luồng và liên kết phân loại luồng với hành vi luồng:

    [Huawei] traffic policy policy-name

    [Huawei-trafficpolicy-policyname] classifier classifier-name behavior behavior-name

Sử dụng MQC để triển khai định tuyến dựa trên chính sách

Yêu cầu:

Mạng nội bộ có hai dải mạng: Dải 1: 10.1.1.0/24, Dải 2: 10.1.2.0/24. Sử dụng MQC trên RTA để triển khai định tuyến dựa trên chính sách, đảm bảo lưu lượng từ Dải 1 truy cập Internet đi qua ISP1, và lưu lượng từ Dải 2 đi qua ISP2. Gọi cấu hình MQC trên giao diện GE0/0/0 của RTA.

  1. Cấu hình ACL 3000 và 3001 để khớp lưu lượng từ Dải 1 và Dải 2 truy cập Internet tương ứng.
    [RTA] acl number 3000
    [RTA-acl-adv-3000] rule 2 permit ip source 10.1.1.0 0.0.0.255 destination 0.0.0.0 0
    [RTA] acl number 3001
    [RTA-acl-adv-3001] rule 2 permit ip source 10.1.2.0 0.0.0.255 destination 0.0.0.0 0
    
  2. Tạo phân loại luồng 1 và 2 để khớp với ACL 3000 và ACL 3001.
    [RTA] traffic classifier 1
    [RTA-classifier-1] if-match acl 3000
    [RTA] traffic classifier 2
    [RTA-classifier-2] if-match acl 3001
    
  3. Tạo hành vi luồng 1 và 2 để thực hiện hành động chuyển hướng gói tin đến Next-hop 202.1.2.3 và 154.1.2.3.
    [RTA] traffic behavior 1
    [RTA-behavior-1] redirect ip-nexthop 202.1.2.3
    [RTA] traffic behavior 2
    [RTA-behavior-2] redirect ip-nexthop 154.1.2.3
    
  4. Tạo chính sách luồng 'Redirect', liên kết phân loại luồng 1 với hành vi luồng 1, và phân loại luồng 2 với hành vi luồng 2.
    [RTA] traffic policy Redirect
    [RTA-trafficpolicy-Redirect] classifier 1 behavior 1
    [RTA-trafficpolicy-Redirect] classifier 2 behavior 2
    
  5. Gọi chính sách luồng 'Redirect' theo hướng inbound trên giao diện GE0/0/0.
    [RTA] interface GigabitEthernet 0/0/0
    [RTA-GigabitEthernet0/0/0] traffic-policy Redirect inbound
    

Lọc lưu lượng

Bối cảnh yêu cầu

Để tăng cường bảo mật mạng, người quản trị cần kiểm soát lưu lượng truy cập vào mạng, loại bỏ các gói tin không đáng tin cậy tại biên mạng. Các gói tin không đáng tin cậy có thể là những gói tin tiềm ẩn rủi ro bảo mật hoặc không mong muốn. Đồng thời, để đảm bảo an toàn dữ liệu, thường có yêu cầu các phòng ban khác nhau không thể truy cập lẫn nhau trong mạng doanh nghiệp.

Công cụ lọc lưu lượng

(Lưu ý: Phần này trong bài gốc chỉ có tiêu đề mà không có nội dung chi tiết.)

Vị trí triển khai Traffic-Filter

Việc sử dụng Traffic-Filter để lọc lưu lượng có thể được triển khai linh hoạt tại giao diện nơi lưu lượng đi vào hoặc đi ra khỏi thiết bị. Áp dụng hành động lọc trên cả hai chiều truy cập có thể đạt được mục tiêu chặn các dịch vụ.

Sử dụng Traffic-Filter để lọc lưu lượng

  1. Ví dụ 1: Chặn truy cập giữa các bộ phận

    Yêu cầu: Từ chối Bộ phận 2 truy cập Bộ phận 3, cho phép tất cả các lưu lượng khác.

    Cấu hình trên RTA:

    1. Cấu hình ACL 3000 để từ chối lưu lượng từ 10.1.2.0/24 đến 10.1.3.0/24, và cho phép tất cả các lưu lượng khác.
      [RTA] acl number 3000
      [RTA-acl-adv-3000] rule 1 deny ip source 10.1.2.0 0.0.0.255 destination 10.1.3.0 0.0.0.255
      [RTA-acl-adv-3000] rule 2 permit ip
      
    2. Gọi Traffic-Filter trên giao diện GE0/0/2 theo hướng outbound.
      [RTA] interface GigabitEthernet 0/0/2
      [RTA-GigabitEthernet0/0/2] traffic-filter outbound acl 3000
      
  2. Ví dụ 2: Sử dụng MQC để lọc lưu lượng

    Yêu cầu: Chặn lưu lượng từ Bộ phận 2 truy cập Bộ phận 3.

    Cấu hình trên RTA:

    1. Cấu hình ACL 3000 để khớp lưu lượng từ Bộ phận 2 truy cập Bộ phận 3.
      [RTA] acl number 3000
      [RTA-acl-adv-3000] rule 1 permit ip source 10.1.2.0 0.0.0.255 destination 10.1.3.0 0.0.0.255
      
    2. Tạo phân loại luồng '2_3' và hành vi luồng '2_3'.

      Trong hành vi luồng, cấu hình hành động 'deny' để từ chối gói tin.

      Lưu ý quan trọng: Khi sử dụng ACL với hành động 'permit' trong rule, hành động cuối cùng (deny/permit) sẽ do hành vi luồng quyết định. Tuy nhiên, nếu rule trong ACL là 'deny', gói tin sẽ bị loại bỏ bất kể cấu hình trong hành vi luồng.

      [RTA] traffic classifier 2_3
      [RTA-classifier-2_3] if-match acl 3000
      [RTA] traffic behavior 2_3
      [RTA-behavior-2_3] deny
      
    3. Tạo chính sách luồng '2_3', liên kết phân loại luồng '2_3' với hành vi luồng '2_3'.
      [RTA] traffic policy 2_3
      [RTA-trafficpolicy-2_3] classifier 2_3 behavior 2_3
      
    4. Gọi chính sách luồng '2_3' theo hướng inbound trên giao diện GE0/0/1.
      [RTA] interface GigabitEthernet 0/0/1
      [RTA-GigabitEthernet0/0/1] traffic-policy 2_3 inbound
      

Thẻ: Policy-Based Routing PBR MQC Traffic Classifier Traffic Behavior

Đăng vào ngày 12 tháng 7 lúc 22:58