Hướng dẫn cấu hình URL Filtering trên các thiết bị JunOS

Hướng dẫn cấu hình URL Filtering trên các thiết bị JunOS

Tổng quan về URL Filtering

Bạn có thể sử dụng chức năng lọc URL (URL filtering) để xác định nội dung web nào không được phép truy cập đối với người dùng.

Các thành phần của tính năng này bao gồm:

  • Tệp cơ sở dữ liệu lọc URL (URL filter database file)
  • Cấu hình một hoặc nhiều mẫu (template) (tối đa 8 mẫu cho mỗi hồ sơ/profie)
  • Plug-in lọc URL (URL Filter Plug-in - jservices-urlf)
  • Tiến trình lọc URL (URL filtering daemon - url-filterd)

Tệp cơ sở dữ liệu lọc URL được lưu trữ trên Routing Engine và chứa tất cả các URL bị cấm. Các mẫu được cấu hình sẽ xác định lưu lượng nào cần giám sát, tiêu chí nào để so khớp, và hành động nào cần thực hiện. Bạn sẽ cấu hình các mẫu này cùng với vị trí của tệp cơ sở dữ liệu URL trong một hồ sơ (profile).

Bắt đầu từ Junos OS phiên bản 17.2R2 và 17.4R1, đối với Adaptive Services, bạn có thể tắt chức năng lọc các lưu lượng HTTP chứa địa chỉ IP nhúng (ví dụ: http://10.1.1.1) mà thuộc về tên miền đã bị cấm trong cơ sở dữ liệu lọc URL. Bắt đầu từ Junos OS phiên bản 19.3R2, chức năng tương tự cũng được hỗ trợ cho Next Gen Services trên các thiết bị MX240, MX480 và MX960.

Để kích hoạt tính năng lọc URL, bạn cần cấu hình jservices-urlf làm package-name tại cấp lệnh: typescript, [edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]. Sau khi kích hoạt, jservices-urlf sẽ duy trì hồ sơ lọc URL, nhận tất cả lưu lượng cần lọc, tiêu chí lọc và hành động cần thực hiện đối với lưu lượng đó.

**Lưu ý: Đối với MX-SPC3, không cần cấu hình jservices-urlf làm package-name theo cấp lệnh trên. Tính năng lọc URL đã được hỗ trợ mặc định.

Tiến trình lọc URL (url-filterd), cũng nằm trên Routing Engine, sẽ phân giải tên miền (domain name) của từng URL trong cơ sở dữ liệu lọc URL thành danh sách các địa chỉ IP (IPv4 và IPv6). Sau đó, danh sách địa chỉ IP này sẽ được tải xuống service PIC – nơi chạy jservices-urlf. Tiếp theo, url-filterd tương tác với tiến trình Dynamic Firewall (dfwd) để cài đặt các bộ lọc (filters) trên Packet Forwarding Engine (PFE) nhằm chuyển tiếp (punt) lưu lượng phù hợp từ PFE đến service PIC để xử lý.

Khi có lưu lượng HTTP hoặc HTTPS mới đến router, quyết định cho phép hay chặn sẽ được đưa ra dựa trên thông tin trong tệp cơ sở dữ liệu lọc URL. Các quy tắc lọc sẽ được kiểm tra, và router sẽ hoặc: Cho phép lưu lượng và chuyển tiếp hoặc chặn lưu lượng. Nếu lưu lượng bị chặn, một trong các hành động cấu hình sau sẽ được thực hiện:

  • Gửi HTTP redirect (chuyển hướng HTTP) tới người dùng,
  • Gửi trang tùy chỉnh (custom page) tới người dùng,
  • Gửi HTTP status code tới người dùng,
  • Gửi TCP reset (đóng kết nối TCP).

Ngoài ra, Accept cũng là một tùy chọn – trong trường hợp này, lưu lượng sẽ không bị chặn.

Hình 1 minh họa luồng xử lý gói tin (packet flow) trong quá trình lọc URL cho các phiên HTTP.

Hình 1: Packet Flow-URL Filtering for HTTP Sessions

Hình 2 minh họa quy trình lọc URL cho các phiên HTTPS.

Hình 2: Luồng xử lý gói tin (Packet Flow) - Lọc URL cho các phiên HTTPS

Để biết thêm chi tiết về tính năng lọc URL, hãy xem các phần sau

Tệp cơ sở dữ liệu lọc URL

Tệp cơ sở dữ liệu lọc URL chứa các mục (entries) gồm URL và địa chỉ IP. Bạn cần tạo tệp cơ sở dữ liệu lọc URL theo định dạng được chỉ định trong bảng 1 và lưu tệp đó vào Routing Engine tại thư mục /var/db/url-filterd.

Bảng 1: Định dạng tệp cơ sở dữ liệu lọc URL (URL Filter Database File Format)

MụcMô tảVí dụ
FQDNTên miền đầy đủ (Fully Qualified Domain Name).www.badword.com/jjj/bad.jpg
URLChuỗi URL đầy đủ, không bao gồm giao thức tầng 7 (ví dụ: không có http:// hoặc https://).www.srch.com/*badword*
www.srch.com
www.srch.com/xyz
www.srch.com/xyz*
Địa chỉ IPv4Yêu cầu HTTP trên một địa chỉ IPv4 cụ thể.10.1.1.199
Địa chỉ IPv6Yêu cầu HTTP trên một địa chỉ IPv6 cụ thể.1::1

Bạn phải chỉ định tệp cơ sở dữ liệu lọc URL tùy chỉnh trong hồ sơ (profile). Nếu cần, bạn cũng có thể gán một tệp cơ sở dữ liệu lọc URL tùy chỉnh cho bất kỳ mẫu (template) nào, và trong trường hợp đó, tệp cơ sở dữ liệu gán cho template sẽ ưu tiên hơn tệp được cấu hình ở cấp hồ sơ.

Nếu bạn thay đổi nội dung của tệp cơ sở dữ liệu lọc URL, hãy sử dụng lệnh: request services (url-filter | web-filter) update. Các lệnh khác hỗ trợ quản lý tệp cơ sở dữ liệu lọc URL gồm:

  • request services (url-filter | web-filter) delete
    (Xóa tệp cơ sở dữ liệu)
  • request services (url-filter | web-filter) force
    (Cưỡng chế cập nhật tệp cơ sở dữ liệu)
  • request services (url-filter | web-filter) validate
    (Xác thực tệp cơ sở dữ liệu)

Các lưu ý về hồ sơ lọc URL (URL Filter Profile Caveats)

Một hồ sơ lọc URL bao gồm từ một đến tám mẫu (templates).

Mỗi mẫu bao gồm một tập hợp các giao diện logic (logical interfaces) được cấu hình để giám sát lưu lượng cho việc lọc URL và một hoặc nhiều điều kiện (terms).

Điều kiện (term) là tập hợp các tiêu chí so khớp (match criteria) và hành động sẽ thực hiện nếu tiêu chí đó được đáp ứng. Bạn phải cấu hình ít nhất một term để kích hoạt lọc URL. Mỗi term gồm hai phần from statement: xác định các prefix IP nguồn và các cổng đích (destination ports) sẽ được giám sát và then statement: chỉ định hành động sẽ thực hiện. Nếu bạn bỏ qua phần from, thì mọi IP nguồn và mọi cổng đích đều được xem là phù hợp (match). Tuy nhiên, bạn chỉ được phép bỏ qua một from duy nhất cho mỗi mẫu hoặc mỗi hồ sơ.

Phía sau tài liệu sẽ có ví dụ cấu hình nhiều term mà không có from statements.

template1 {

    client-interfaces [ xe-4/0/3.35 xe-4/0/3.36 ];

    server-interfaces xe-4/0/0.31;

    dns-source-interface xe-4/0/0.1;

    dns-routing-instance data_vr;

    routing-instance data_vr2;

    dns-server 50.0.0.3;

    dns-retries 3;

    url-filter-database url_database.txt;

    term term1 {

        then {

            tcp-reset;}}

    term term2 {

        then {

            redirect-url www.google.com;}}}

Nếu bạn bỏ qua nhiều hơn một câu lệnh from trong mỗi template, bạn sẽ gặp thông báo lỗi sau khi thực hiện lệnh commit:

URLFD_CONFIG_FAILURE: Configuration not valid:

Cannot have two wild card terms in template template1

error: configuration check-out failed

Cấu hình lọc URL (Configuring URL Filtering)

Để cấu hình tính năng lọc URL, trước tiên bạn phải cấu hình jservices-urlf làm tên gói (package-name) tại cấp cấu hình sau: [edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]. Để biết thêm thông tin về cách cấu hình gói extension-provider (package-name), hãy tham khảo phần tài liệu package (Loading on PIC).

**Lưu ý: Thiết bị MX-SPC3 không cần cấu hình jservices-urlf làm package-name tại cấp cấu hình trên — tính năng này đã được hỗ trợ mặc định.

Việc lọc URL được cấu hình trên một Service PIC. Các giao diện bạn sẽ làm việc là: Giao diện dịch vụ (bắt đầu bằng tiền tố ms) hoặc giao diện multiservices gộp nhóm (AMS interfaces, bắt đầu bằng tiền tố ams). Để biết thêm chi tiết về AMS interfaces, tham khảo tài liệu Adaptive Services Interfaces User Guide for Routing Devices, bắt đầu từ phần Understanding Aggregated Multiservices Interfaces.

Một hồ sơ lọc URL (URL filtering profile) là tập hợp các mẫu (templates). Mỗi template bao gồm một bộ tiêu chí xác định: URL nào sẽ bị cấm (disallowed) và cách thông báo cho người nhận (recipient) khi truy cập bị chặn.

Các bước để cấu hình một URL profile:

  • Gán một tên cho URL profile.

[edit]

user@host# edit services (web-filter | url-filter) profile profile-name

Bắt đầu từ Junos OS phiên bản 18.3R1, đối với Adaptive Services, bạn cấu hình hồ sơ (profile) tại cấp cấu hình: [edit services web-filter]. Trước phiên bản Junos OS 18.3R1, bạn phải cấu hình hồ sơ tại cấp cấu hình: [edit services url-filter]. Bắt đầu từ Junos OS phiên bản 19.3R2, chức năng tương tự cũng được hỗ trợ cho Next Gen Services trên các thiết bị MX240, MX480 và MX960.

  • Chỉ định tên của tệp cơ sở dữ liệu lọc URL (URL filter database) mà bạn muốn sử dụng.

[edit services (web-filter | url-filter) profile profile-name]

user@host# set url-filter-database filename

  • Cấu hình một hoặc nhiều mẫu cho hồ sơ.

        Để cấu hình từng mẫu:

+ Đặt tên cho mẫu

[edit services (web-filter | url-filter) profile profile-name]

user@host# set (url-filter-template template-name | template template-name)

**Lưu ý: Bắt đầu từ Junos OS phiên bản 18.3R1, bạn cấu hình template với câu lệnh url-filter-template. Trước phiên bản Junos OS 18.3R1, bạn cấu hình template với câu lệnh template.

+ Hãy chuyển đến cấp cấu hình mới cho template đó.

[edit services (web-filter | url-filter) profile profile-name]

user@host# edit (url-filter-template template-name | template template-name)

+ Chỉ định tên của tệp cơ sở dữ liệu lọc URL (URL filter database) mà bạn muốn sử dụng.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set url-filter-database filename

+ Chỉ định giao diện loopback mà địa chỉ IP nguồn sẽ được chọn để gửi các truy vấn DNS.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set dns-source-interface loopback-interface-name

+ Tắt tính năng lọc lưu lượng HTTP chứa địa chỉ IP nhúng (ví dụ: http:/10.1.1.1) thuộc tên miền không được phép trong cơ sở dữ liệu lọc URL.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set disable-url-filtering

+ Cấu hình khoảng thời gian giải quyết DNS (DNS resolution) tính bằng phút.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set dns-resolution-interval minutes

+ Cấu hình số lần thử lại cho một truy vấn DNS trong trường hợp truy vấn thất bại hoặc hết thời gian chờ.

[edit services (web-filter | url-filter) profile profile-name]

user@host# set dns-retries number

+ Chỉ định các địa chỉ IP (IPv4 hoặc IPv6) của các máy chủ DNS mà truy vấn DNS sẽ được gửi đến.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set dns-server [ip-address]

+ Chỉ định các giao diện logic hướng khách hàng (client-facing logical interfaces) mà trên đó tính năng lọc URL được cấu hình.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set client-interfaces [ client-interface-name ]

+ Chỉ định các giao diện logic hướng máy chủ (server-facing logical interfaces) mà trên đó tính năng lọc URL được cấu hình.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set server-interfaces [ server-interface-name ]

+ Chỉ định phiên bản định tuyến (routing instance) mà trên đó tính năng lọc URL được cấu hình.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set routing-instance routing-instance-name

+ Chỉ định phiên bản định tuyến (routing instance) mà trên đó máy chủ DNS có thể truy cập được.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# dns-routing-instance dns-routing-instance-name

  • Cấu hình thông tin của term (thông số lọc).

Các term được sử dụng trong các bộ lọc để phân chia chính sách hoặc bộ lọc thành các cặp điều kiện và hành động nhỏ.

+ Đặt tên cho term.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# set term term-name

+ Chuyển đến cấp cấu hình mới cho term.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name)]

user@host# edit term term-name

+ Chỉ định các tiền tố địa chỉ IP nguồn cho lưu lượng mà bạn muốn lọc.

[edit services (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name) term term-name]

user@host# set from src-ip-prefix [prefix]

+ Chỉ định các cổng đích cho lưu lượng mà bạn muốn lọc.

[edit services  (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name) term term-name]

user@host# set from dest-port [port]

+ Cấu hình hành động cần thực hiện.

[edit services  (web-filter | url-filter) profile profile-name (url-filter-template template-name | template template-name) term term-name]

user@host# set then action

Hành động có thể là một trong các tùy chọn sau:

custom-page custom-pageGửi một chuỗi trang tùy chỉnh đến người dùng.
http-status-code http-status-codeGửi mã trạng thái HTTP đến người dùng.
redirect-url redirect-urlGửi một yêu cầu HTTP redirect đến người dùng.
tcp-resetGửi một yêu cầu TCP reset đến người dùng.
  • Liên kết hồ sơ URL với một tập dịch vụ next-hop.

**Lưu ý: Đối với lọc URL, bạn phải cấu hình tập dịch vụ như một tập dịch vụ next-hop.

[edit]

user@host# set services service-set service-set-name (web-filter-profile profile-name | url-filter-profile profile-name)

user@host# set services service-set service-set-name next-hop-service inside-service-interface interface-name.unit-number

user@host# set services service-set service-set-name next-hop-service outside-service-interface interface-name.unit-number

**Lưu ý: Giao diện dịch vụ cũng có thể có tiền tố là ams. Nếu bạn sử dụng các giao diện ams tại cấp cấu hình [edit services service-set service-set-name] cho lọc URL, bạn cũng phải cấu hình câu lệnh load-balancing-options hash-keys tại cấp cấu hình [edit interfaces ams-interface-name unit number].

**Lưu ý: Bắt đầu từ Junos OS phiên bản 18.3R1, cấu hình tập dịch vụ với câu lệnh web-filter-profile. Trước phiên bản Junos OS 18.3R1, cấu hình tập dịch vụ với câu lệnh url-filter-profile.

Lọc yêu cầu DNS cho các tên miền Website không được phép

Tổng Quan về Lọc Yêu Cầu DNS

Bắt đầu từ Junos OS phiên bản 18.3R1, bạn có thể cấu hình lọc DNS để nhận diện các yêu cầu DNS đối với các tên miền website không được phép. Bắt đầu từ Junos OS phiên bản 19.3R2, bạn có thể cấu hình lọc DNS nếu bạn đang sử dụng Next Gen Services với thẻ dịch vụ MX-SPC3. Next Gen Services được hỗ trợ trên các router MX240, MX480 và MX960. Đối với các loại yêu cầu DNS như A, AAAA, MX, CNAME, TXT, SRV, và ANY, bạn cấu hình hành động cần thực hiện đối với yêu cầu DNS cho một tên miền không được phép. Bạn có thể chọn một trong các hành động sau:

  • Chặn truy cập vào website bằng cách gửi một phản hồi DNS chứa địa chỉ IP hoặc tên miền đầy đủ (FQDN) của máy chủ DNS sinkhole. Điều này đảm bảo khi client cố gắng gửi lưu lượng đến tên miền không được phép, lưu lượng sẽ thay vào đó được chuyển đến máy chủ sinkhole (xem Hình 3).
  • Ghi lại yêu cầu và cho phép truy cập.

Bắt đầu từ Junos OS phiên bản 21.1R1, bạn cũng có thể cấu hình các hành động sau cho yêu cầu DNS đối với một tên miền không được phép:

  • Cảnh báo
  • Chấp nhận
  • Bỏ qua
  • Bỏ qua không ghi log

Đối với các loại yêu cầu DNS khác đối với một tên miền không được phép, yêu cầu sẽ được ghi lại và truy cập sẽ được cho phép.

Các hành động mà máy chủ sinkhole thực hiện không được kiểm soát bởi tính năng lọc yêu cầu DNS; bạn phải tự cấu hình các hành động của máy chủ sinkhole. Ví dụ, máy chủ sinkhole có thể gửi thông điệp đến người yêu cầu rằng tên miền không thể truy cập và ngăn chặn truy cập vào tên miền không được phép.

Hình 3: Yêu cầu DNS cho tên miền không được phép

Lợi ích

Lọc DNS chuyển hướng các yêu cầu DNS đối với các tên miền website không được phép đến các máy chủ sinkhole, đồng thời ngăn chặn bất kỳ ai vận hành hệ thống nhìn thấy danh sách các tên miền không được phép. Điều này vì các tên miền không được phép được lưu trữ ở định dạng mã hóa.

Tệp cơ sở dữ liệu bộ lọc tên miền không được phép

Lọc yêu cầu DNS yêu cầu một tệp cơ sở dữ liệu bộ lọc tên miền không được phép có định dạng .txt, trong đó xác định từng tên miền không được phép, hành động cần thực hiện đối với yêu cầu DNS cho tên miền không được phép, và địa chỉ IP hoặc tên miền đầy đủ (FQDN) của máy chủ DNS sinkhole.

Hồ sơ bộ lọc DNS

Bạn cấu hình một hồ sơ bộ lọc DNS để chỉ định tệp cơ sở dữ liệu bộ lọc tên miền không được phép cần sử dụng. Bạn cũng có thể chỉ định các giao diện mà lọc yêu cầu DNS được thực hiện, giới hạn lọc cho các yêu cầu từ các máy chủ DNS cụ thể, và giới hạn lọc cho các yêu cầu từ các tiền tố địa chỉ IP nguồn cụ thể.

Cách cấu hình lọc yêu cầu DNS

Để lọc các yêu cầu DNS đối với các tên miền website không được phép, thực hiện các bước sau:

Cách cấu hình tệp cơ sở dữ liệu bộ lọc tên miền.

Tạo một hoặc nhiều tệp cơ sở dữ liệu bộ lọc tên miền bao gồm một mục cho mỗi tên miền không được phép. Mỗi mục chỉ định hành động cần thực hiện với yêu cầu DNS đối với một tên miền website không được phép.

Để cấu hình tệp cơ sở dữ liệu bộ lọc tên miền:

  • Tạo tên cho tệp. Tên tệp cơ sở dữ liệu có thể có độ dài tối đa là 64 ký tự và phải có phần mở rộng .txt.
  • Thêm phần đầu tệp với định dạng như: 20170314_01:domain,sinkhole_ip,v6_sinkhole,sinkhole_fqdn,id,action.
  • Thêm một mục vào tệp cho mỗi tên miền không được phép. Bạn có thể thêm tối đa 10.000 mục tên miền. Mỗi mục trong tệp cơ sở dữ liệu có các thành phần sau:
    • replace: Bộ định tuyến MX Series gửi một phản hồi DNS với địa chỉ IP hoặc FQDN của máy chủ DNS sinkhole.
    • report: Yêu cầu DNS được ghi lại và sau đó gửi đến máy chủ DNS.
    • alert: Yêu cầu DNS được ghi lại và yêu cầu được gửi đến máy chủ DNS.
    • accept: Yêu cầu DNS được ghi lại và yêu cầu được gửi đến máy chủ DNS.
    • drop: Yêu cầu DNS bị loại bỏ và yêu cầu được ghi lại, không gửi đến máy chủ DNS.
    • drop-no-log: Yêu cầu DNS bị loại bỏ và không tạo syslog, không gửi yêu cầu đến máy chủ DNS.
    • hashed-domain-name: Giá trị băm của tên miền không được phép (64 ký tự hex). Phương pháp và khóa băm bạn sử dụng để tạo giá trị tên miền băm cần được cung cấp khi cấu hình lọc DNS bằng Junos OS CLI.
    • IPv4 sinkhole address: Địa chỉ của máy chủ DNS sinkhole cho yêu cầu DNS IPv4.
    • IPv6 sinkhole address: Địa chỉ của máy chủ DNS sinkhole cho yêu cầu DNS IPv6.
    • sinkhole FQDN: Tên miền đầy đủ (FQDN) của máy chủ DNS sinkhole.
    • ID: Số 32-bit liên kết duy nhất mục đó với tên miền băm.
    • action: Hành động áp dụng cho yêu cầu DNS khớp với tên miền không được phép. Các lựa chọn hành động:
  • Trong dòng cuối cùng của tệp, bao gồm giá trị băm của tệp, được tính bằng cách sử dụng cùng phương pháp và khóa băm đã dùng để tạo tên miền băm.
  • Lưu các tệp cơ sở dữ liệu trên Routing Engine trong thư mục /var/db/url-filterd.
  • Xác minh tệp cơ sở dữ liệu bộ lọc tên miền.

user@host> request services web-filter validate dns-filter-file-name filename hash-key key-string hash-method hash-method-name

  • Nếu bạn thực hiện bất kỳ thay đổi nào đối với tệp cơ sở dữ liệu, hãy áp dụng các thay đổi đó.

user@host> request services web-filter update dns-filter-database filename

Cách cấu hình hồ sơ bộ lọc DNS

Một hồ sơ bộ lọc DNS bao gồm các cài đặt chung để lọc các yêu cầu DNS cho các tên miền trang web không được phép, và bao gồm tối đa 32 mẫu. Cài đặt mẫu áp dụng cho các yêu cầu DNS trên các giao diện logic uplink và downlink cụ thể hoặc các thể hiện định tuyến, hoặc cho các yêu cầu DNS từ các tiền tố địa chỉ IP nguồn cụ thể, và sẽ ghi đè các cài đặt tương ứng ở cấp độ hồ sơ DNS. Bạn có thể cấu hình tối đa tám hồ sơ bộ lọc DNS.

Để cấu hình một hồ sơ bộ lọc DNS:

  • Cấu hình tên cho một hồ sơ bộ lọc DNS.

[edit]

user@host# edit services web-filter profile profile-name

Số lượng hồ sơ tối đa là 8.

  • Cấu hình khoảng thời gian ghi nhật ký thống kê per-client cho bộ lọc DNS. Phạm vi là từ 0 đến 60 phút và mặc định là 5 phút.

[edit services web-filter profile profile-name]

user@host# set global-dns-stats-log-timer minutes

  • Cấu hình các cài đặt bộ lọc DNS chung cho hồ sơ. Những giá trị này sẽ được sử dụng nếu một yêu cầu DNS không khớp với một mẫu cụ thể.

+ Xác định tên của cơ sở dữ liệu bộ lọc tên miền sẽ sử dụng khi lọc các yêu cầu DNS.

[edit services web-filter profile profile-name dns-filter]

user@host# set database-file filename

+ (Tùy chọn) Để giới hạn việc lọc DNS chỉ đối với các yêu cầu DNS hướng tới các máy chủ DNS cụ thể, xác định tối đa ba địa chỉ IP (IPv4 hoặc IPv6).

[edit services web-filter profile profile-name dns-filter]

user@host# set dns-server [ ip-address ]

+ Xác định định dạng cho khóa băm.

[edit services web-filter profile profile-name dns-filter]

user@host# set hash-key  ascii-text

+ Xác định khóa băm mà bạn đã sử dụng để tạo tên miền đã băm trong tệp cơ sở dữ liệu bộ lọc tên miền.

[edit services web-filter profile profile-name dns-filter]

user@host# set hash-key key-string

+ Xác định phương pháp băm đã được sử dụng để tạo tên miền đã băm trong tệp cơ sở dữ liệu bộ lọc tên miền.

[edit services web-filter profile profile-name dns-filter]

user@host# set hash-method hash-method-name

Phương pháp băm duy nhất được hỗ trợ là hmac-sha2-256.

+ Cấu hình khoảng thời gian để ghi log thống kê cho các yêu cầu DNS và các hành động sinkhole thực hiện cho mỗi địa chỉ IP khách hàng. Khoảng thời gian này có thể từ 1 đến 60 phút và mặc định là 5 phút.

[edit services web-filter profile profile-name dns-filter]

user@host# set statistics-log-timer minutes

+ Cấu hình thời gian sống (TTL) khi gửi phản hồi DNS sau khi thực hiện hành động DNS sinkhole. Khoảng thời gian có thể từ 0 đến 86,400 giây và mặc định là 1800 giây.

[edit services web-filter profile profile-name dns-filter]

user@host# set dns-resp-ttl seconds

+ Cấu hình mức độ các tên miền con sẽ được tìm kiếm để khớp. Khoảng giá trị từ 0 đến 10. Giá trị 0 chỉ ra rằng các tên miền con sẽ không được tìm kiếm.

[edit services web-filter profile profile-name dns-filter]

user@host# set wildcarding-level level

Ví dụ, nếu bạn thiết lập wildcarding-level là 4 và tệp cơ sở dữ liệu bao gồm một mục cho example.com, các phép so sánh sẽ được thực hiện đối với yêu cầu DNS đến với miền 198.51.100.0.example.com như sau:

- 198.51.100.0.example.com: không khớp

- 51.100.0.example.com: không khớp với một cấp con

- 100.0.example.com: không khớp với hai cấp con

- 0.example.com: không khớp với ba cấp con

- example.com: khớp với bốn cấp con

  • Cấu hình một mẫu. Bạn có thể cấu hình tối đa 8 mẫu trong một hồ sơ. Mỗi mẫu xác định các thiết lập bộ lọc cho các yêu cầu DNS trên các giao diện logic uplink và downlink cụ thể hoặc các phiên bản định tuyến, hoặc cho các yêu cầu DNS từ các tiền tố địa chỉ IP nguồn cụ thể.

+ Cấu hình tên cho mẫu.

[edit services web-filter profile profile-name]

user@host# set dns-filter-template template-name

+ (Bạn có thể chọn) Chỉ định các giao diện logic hướng khách (uplink) mà bộ lọc DNS được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set client-interfaces client-interface-name

+ (Bạn có thể chọn) Chỉ định các giao diện logic hướng máy chủ (downlink) mà bộ lọc DNS được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set server-interfaces server-interface-name

+ (Bạn có thể chọn) Chỉ định instance định tuyến cho giao diện logic hướng máy khách (client-facing) mà bộ lọc DNS được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set client-routing-instance client-routing-instance-name

+ (Bạn có thể chọn) Chỉ định instance định tuyến cho giao diện logic hướng máy chủ (server-facing) mà bộ lọc DNS được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set server-routing-instance server-routing-instance-name

**Lưu ý: Nếu bạn cấu hình cả giao diện client và server hoặc cả instance định tuyến client và server, các bộ lọc ngầm định sẽ được cài đặt trên các giao diện hoặc instance định tuyến để chuyển hướng lưu lượng DNS đến PIC dịch vụ để lọc DNS. Nếu bạn không cấu hình cả giao diện client và server hoặc các instance định tuyến, bạn phải cung cấp cách để chuyển hướng lưu lượng DNS đến PIC dịch vụ (ví dụ, thông qua các tuyến đường).

+ Chỉ định tên của cơ sở dữ liệu bộ lọc miền để sử dụng khi lọc các yêu cầu DNS.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set database-file filename

+ (Tùy chọn) Để giới hạn việc lọc DNS chỉ đối với các yêu cầu DNS dành cho các máy chủ DNS cụ thể, hãy chỉ định tối đa ba địa chỉ IP (IPv4 hoặc IPv6).

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set dns-server ip-address

+ Chỉ định phương pháp băm (hash method) đã được sử dụng để tạo ra tên miền đã băm (hashed domain name) trong tệp cơ sở dữ liệu lọc tên miền (domain filter database file).

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set hash-method hash-method-name

Phương pháp băm duy nhất được hỗ trợ là hmac-sha2-256.

+ Chỉ định khóa băm (hash key) đã được sử dụng để tạo ra tên miền đã băm (hashed domain name) trong tệp cơ sở dữ liệu lọc tên miền (domain filter database file).

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set hash-key key-string

+ Cấu hình khoảng thời gian ghi lại thống kê cho các yêu cầu DNS và các hành động sinkhole thực hiện cho mỗi địa chỉ IP khách hàng. Phạm vi là từ 1 đến 60 phút và giá trị mặc định là 5 phút.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set statistics-log-timer minutes

+ Cấu hình thời gian sống (TTL) khi gửi phản hồi DNS sau khi thực hiện hành động DNS sinkhole. Phạm vi là từ 0 đến 86,400 giây và giá trị mặc định là 1800 giây.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set dns-resp-ttl seconds

+ Cấu hình mức độ các subdomain sẽ được tìm kiếm để so khớp. Phạm vi là từ 0 đến 10. Giá trị 0 chỉ ra rằng các subdomain sẽ không được tìm kiếm.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set wildcarding-level level

Ví dụ, nếu bạn đặt mức độ wildcarding-level là 4 và tệp cơ sở dữ liệu bao gồm một mục cho example.com, các so sánh sau sẽ được thực hiện đối với yêu cầu DNS có domain là 198.51.100.0.example.com:

- 198.51.100.0.example.com: không có sự khớp

- 51.100.0.example.com: không có sự khớp khi xuống một cấp

- 100.0.example.com: không có sự khớp khi xuống hai cấp

- 0.example.com: không có sự khớp khi xuống ba cấp

- example.com: khớp khi xuống bốn cấp

+ (Tùy chọn) Cấu hình mã lỗi phản hồi cho các loại truy vấn SRV và TXT.

(Tùy chọn) Cấu hình mã lỗi phản hồi cho các loại truy vấn SRV và TXT.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set txt-resp-err-code (Noerror | Refused)

user@host# set srv-resp-err-code (Noerror | Refused)

+ Cấu hình một điều kiện (term) cho mẫu (template). Bạn có thể cấu hình tối đa 64 điều kiện trong một mẫu.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set term term-name

+ (Bạn có thể) Cấu hình các tiền tố địa chỉ IP nguồn của các yêu cầu DNS mà bạn muốn lọc. Bạn có thể cấu hình tối đa 64 tiền tố trong một điều kiện.

[edit services web-filter profile profile-name dns-filter-template template-name term term-name]

user@host# set from src-ip-prefix source-prefix

+ Chỉ định rằng hành động sinkhole được xác định trong cơ sở dữ liệu bộ lọc miền sẽ được thực hiện đối với các yêu cầu DNS bị cấm.

[edit services web-filter profile profile-name dns-filter-template template-name term term-name]

user@host# set then dns-sinkhole

Cách cấu hình bộ dịch vụ cho lọc DNS

Kết hợp hồ sơ lọc DNS với bộ dịch vụ next-hop và bật logging cho lọc DNS. Giao diện dịch vụ có thể là giao diện ms- hoặc vms- (Dịch vụ Next Gen với thẻ dịch vụ MX-SPC3), hoặc có thể là giao diện aggregated multiservices (AMS).

[edit services service-set service-set-name]

user@host# set web-filter-profile profile-name

user@host# set syslog host hostname class urlf-logs

user@host# set next-hop-service inside-service-interface interface-name.unit-number

user@host# set next-hop-service outside-service-interface interface-name.unit-number

Hỗ trợ đa khách hàng cho lọc DNS

Tổng quan

Bắt đầu từ Junos OS Release 21.1R1, bạn có thể cấu hình các nguồn cấp dữ liệu tên miền tùy chỉnh cho từng khách hàng hoặc nhóm IP. Bạn có thể:

  • Cấu hình tên miền và hành động cho nhiều khách hàng sao cho các nguồn cấp dữ liệu tên miền có thể được quản lý theo từng khách hàng.

  • Cấu hình quản lý nguồn cấp dữ liệu tên miền phân cấp theo hồ sơ, theo mẫu dns-filter hoặc theo điều khoản dns-filter.

  • Miễn trừ các nguồn cấp dữ liệu tên miền ở mức IP, subnet hoặc CIDR.

Để triển khai hỗ trợ đa khách hàng cho lọc DNS, việc tạo tệp cơ sở dữ liệu lọc tên miền ở mức mẫu hoặc hồ sơ bị vô hiệu hóa. Bạn không cần chỉ định tệp ở mức mẫu hoặc hồ sơ. Bắt đầu từ Junos OS 21.1R1, mặc định sẽ có một tệp toàn cầu với tên cố định, nsf_multi_tenant_dn_custom_file.txt (định dạng văn bản thuần túy) hoặc dnsf_multi_tenant_dn_custom_file_hashed.txt (tệp mã hóa).

Mỗi mục trong tệp cơ sở dữ liệu có các mục sau:

hashed-domain-name, địa chỉ sinkhole IPv4, địa chỉ sinkhole IPv6, FQDN sinkhole, ID, hành động, feed-name.

Mã hash của tệp được tính toán và thêm vào danh sách các mục tên miền trong tệp. Mã hash của tệp được tính toán bằng cách sử dụng một khóa và phương thức toàn cầu, được xác thực với mã hash tệp được tính toán bằng khóa hash đã cấu hình tại cấp [edit services web-filter]. Việc xác thực tệp thành công chỉ khi mã hash tính toán khớp với mã hash tệp có sẵn trong tệp.

Mỗi mục trong tệp nsf_multi_tenant_dn_custom_file.txt bao gồm một trường bổ sung gọi là feed-name. Trường feed-name này được sử dụng như một chỉ báo để nhóm các tên miền và ánh xạ chúng đến một khách hàng (hồ sơ, mẫu, điều khoản hoặc địa chỉ IP).

Khi các gói DNS được nhận từ một địa chỉ IP nguồn cụ thể, feed-name tương ứng sẽ được lấy và tra cứu sẽ được thực hiện với các tên miền được ánh xạ với feed-name liên kết với điều khoản đó. Nếu feed-name không được cung cấp cho địa chỉ IP đó, thì sẽ quay lại feed-name được cấu hình ở cấp mẫu và tra cứu sẽ được thực hiện với các tên miền được ánh xạ với feed-name liên kết với mẫu đó. Nếu feed-name không được cấu hình ở cấp mẫu, thì tra cứu sẽ được thực hiện với các tên miền được ánh xạ với feed-name liên kết với hồ sơ.

Cấu hình hỗ trợ đa khách hàng cho lọc DNS

  • Cấu hình bộ lọc web

[edit]

user@host# edit services web-filter

  • Kích hoạt hỗ trợ đa khách hàng

[edit services web-filter]

user@host# set multi-tenant-support

  • Cấu hình khóa băm tệp toàn cầu và phương pháp băm.

[edit services web-filter]

user@host# set multi-tenant-hash

user@host# set multi-tenant-hash file-hash-key (ascii-text | hexadecimal)

user@host# set multi-tenant-hash hash-method (ascii-text | hexadecimal)

**Lưu ý: Khi multi-tenant-hash được cấu hình, điều này chỉ ra rằng tệp DNS feed toàn cầu chỉ chứa các feed đã được mã hóa. Khi multi-tenant-hash không được cấu hình, điều này có nghĩa là tệp DNS feed toàn cầu chứa các feed ở định dạng văn bản thuần túy.

  • Cấu hình tên cho một DNS filter profile và ánh xạ domain feed ở cấp độ profile. Chỉ báo tên feed được cấu hình ở cấp độ profile sẽ được áp dụng cho tất cả các template và term dưới profile đó mà không có chỉ báo tên feed được cấu hình.

[edit]

user@host# [edit services web-filter profile profile-name]

user@host# [edit services web-filter profile profile-name feed-name feed-name]

  • Cấu hình các thiết lập DNS filtering chung cho profile. Những giá trị này sẽ được sử dụng nếu một yêu cầu DNS không khớp với một template cụ thể.

+ (Tùy chọn) Để giới hạn DNS filtering cho các yêu cầu DNS nhắm đến các DNS server cụ thể, hãy chỉ định tối đa ba địa chỉ IP (IPv4 hoặc IPv6).

[edit services web-filter profile profile-name dns-filter]

user@host# set dns-server [ip-address]

+ Cấu hình khoảng thời gian để ghi lại thống kê cho các yêu cầu DNS và các hành động sinkhole được thực hiện cho mỗi địa chỉ IP khách hàng. Khoảng thời gian có thể từ 1 đến 60 phút và mặc định là 5 phút.

[edit services web-filter profile profile-name dns-filter]

user@host# set statistics-log-timer minutes

+ Cấu hình thời gian sống (TTL) để gửi phản hồi DNS sau khi thực hiện hành động DNS sinkhole. Khoảng thời gian có thể từ 0 đến 86.400 giây và mặc định là 1800 giây.

[edit services web-filter profile profile-name dns-filter]

user@host# set  dns-resp-ttlseconds

+ Cấu hình mức độ các subdomain sẽ được tìm kiếm để so khớp. Phạm vi từ 0 đến 10. Giá trị 0 có nghĩa là không tìm kiếm các subdomain.

[edit services web-filter profile profile-name dns-filter]

user@host# set wildcarding-levellevel

+ (Tùy chọn) Chỉ định mã lỗi phản hồi cho loại truy vấn TXT.

[edit services web-filter profile profile-name dns-filter]

user@host# set txt-resp-err-code (Noerror | Refused) level

  • Cấu hình một mẫu. Bạn có thể cấu hình tối đa 8 mẫu trong một hồ sơ. Mỗi mẫu xác định các cài đặt lọc cho các yêu cầu DNS trên các giao diện logic uplink và downlink cụ thể hoặc các phiên bản định tuyến, hoặc cho các yêu cầu DNS từ các tiền tố địa chỉ IP nguồn cụ thể.

+ Cấu hình tên cho mẫu.

[edit services web-filter profile profile-name]

user@host# set dns-filter-template template-name

+ Cấu hình tên nguồn cấp dữ liệu (feed name). Với định dạng đa thuê bao, bạn không còn có thể thêm tên tệp dưới hồ sơ hoặc mẫu. Tên nguồn cấp dữ liệu được cấu hình dưới hồ sơ có độ ưu tiên thấp hơn so với tên được cấu hình dưới mẫu.

[edit services web-filter profile profile-namedns-filter-template template-name ]

user@host# set feed-name feed-name

+ (Tùy chọn) Chỉ định các giao diện logic phía khách hàng (uplink) mà lọc DNS sẽ được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set client-interfaces client-interface-name

+ (Tùy chọn) Chỉ định các giao diện logic phía máy chủ (downlink) mà lọc DNS sẽ được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set server-interfaces server-interface-name

+ (Tùy chọn) Chỉ định phiên định tuyến (routing instance) cho giao diện logic phía khách (client-facing) mà lọc DNS sẽ được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set client-routing-instance client-routing-instance-name

+ (Tùy chọn) Chỉ định phiên định tuyến (routing instance) cho giao diện logic phía máy chủ (server-facing) mà lọc DNS sẽ được áp dụng.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set server-routing-instance server-routing-instance-name

**Lưu ý: Nếu bạn cấu hình cả giao diện khách hàng và máy chủ hoặc cả phiên định tuyến khách hàng và máy chủ, bộ lọc ngầm định sẽ được cài đặt trên các giao diện hoặc phiên định tuyến để chuyển hướng lưu lượng DNS đến dịch vụ PIC cho việc lọc DNS. Nếu bạn không cấu hình giao diện khách hàng và máy chủ hoặc các phiên định tuyến, bạn phải cung cấp một cách để chuyển hướng lưu lượng DNS đến dịch vụ PIC (ví dụ: thông qua các tuyến đường).

+ Cấu hình khoảng thời gian để ghi lại thống kê cho các yêu cầu DNS và các hành động sinkhole được thực hiện cho mỗi địa chỉ IP của khách hàng. Khoảng giá trị là từ 1 đến 60 phút, mặc định là 5 phút.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set statistics-log-timer minutes

+ Cấu hình thời gian sống (TTL) khi gửi phản hồi DNS sau khi thực hiện hành động DNS sinkhole. Khoảng giá trị là từ 0 đến 86,400 giây và mặc định là 1800 giây.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set dns-resp-ttl seconds

+ Cấu hình mức độ các subdomain được tìm kiếm để so khớp. Khoảng giá trị là từ 0 đến 10. Giá trị 0 có nghĩa là không tìm kiếm các subdomain.

[edit services web-filter profile profile-name dns-filter-template template-name dns-filter]

user@host# set wildcarding-level level

+ Cấu hình một điều khoản cho mẫu. Bạn có thể cấu hình tối đa 64 điều khoản trong một mẫu.

[edit services web-filter profile profile-name dns-filter-template template-name]

user@host# set term term-name

+ Cấu hình tên nguồn cấp dữ liệu. Tên nguồn cấp dữ liệu được cấu hình tại điều khoản có độ ưu tiên cao hơn so với tên nguồn cấp dữ liệu được cấu hình dưới mẫu. Tuy nhiên, nếu tên miền sinkhole khớp với tên miền duy nhất được đề cập trong tên nguồn cấp dữ liệu dưới mẫu, hành động được chỉ định cho mục đó sẽ được thực thi.

[edit services web-filter profile profile-name dns-filter-template template-name term term-name]

user@host# set feed-name feed-name

+ (Optional) Cấu hình các tiền tố địa chỉ IP nguồn của các yêu cầu DNS mà bạn muốn lọc. Bạn có thể cấu hình tối đa 64 tiền tố trong một điều khoản.

[edit services web-filter profile profile-name dns-filter-template template-name term term-name]

user@host# set from src-ip-prefix source-prefix

+ Cấu hình hành động sinkhole được xác định trong cơ sở dữ liệu bộ lọc tên miền sẽ được thực hiện đối với các yêu cầu DNS bị cấm.

[edit services web-filter profile profile-name dns-filter-template template-name term term-name]

user@host# set then dns-sinkhole

  • Kết hợp hồ sơ bộ lọc DNS với bộ dịch vụ next-hop và bật ghi nhật ký cho bộ lọc DNS. Giao diện dịch vụ có thể là giao diện multiservices (ms) hoặc virtual multi service (vms) (Next Gen Services với thẻ dịch vụ MX-SPC3), hoặc có thể là giao diện aggregated multiservices (AMS).

[edit services service-set service-set-name]

user@host# set syslog mode event

user@host# set syslog syslog event-rate vent-rate

user@host# set syslog local-category urlf

user@host# set web-filter-profile profile-name

user@host# set set next-hop-service inside-service-interface interface-name.unit-number

user@host# set set next-hop-service outside-service-interface interface-name.unit-number

  • Nếu bạn đang chạy Next Gen Services trên thẻ dịch vụ MX-SPC3, hãy cấu hình giao diện vms để nhận thông tin FPC và PIC trong syslog.

[edit interfaces interface-name]

user@host# set vms 0/0/0

user@host# set services-options

[edit interfaces interface-name

user@host# fpc-pic-information

Ví dụ: Cấu hình hỗ trợ đa thuê bao cho lọc DNS

Cấu hình nhanh qua CLI

Để cấu hình nhanh ví dụ này, sao chép các lệnh dưới đây, dán vào một tệp văn bản, loại bỏ bất kỳ ngắt dòng nào, thay đổi các chi tiết cần thiết để phù hợp với cấu hình mạng của bạn, sau đó sao chép và dán các lệnh vào CLI tại cấp độ [edit].

set services service-set Test Zone3 syslog mode stream

set services service-set Test Zone3 syslog source-address 10.1.1.1

set services service-set Test Zone3 syslog stream t1 category urlf

set services service-set Test Zone3 syslog stream t1 host 10.10.1.1

set services service-set Test Zone3 syslog stream t1 routing-instance client_vr4

set services service-set Test Zone3 web-filter-profile Test-Profile-3-Zone3

set services service-set Test Zone3 next-hop-service inside-service-interface ams3.24

set services service-set Test Zone3 next-hop-service outside-service-interface ams3.25

set services web-filter multi-tenant-support

set services web-filter  multi-tenant-hash file-hash-key ascii-text "$9$VjsgJikP36AGD6Ap0hcbs2"

set services web-filter  multi-tenant-hash hash-method hmac-sha2-256

set services web-filter profile Test-Profile-3-Zone3 feed-name abc

set services web-filter profile Test-Profile-3-Zone3 global-dns-filter-stats-log-timer 20

set services web-filter profile Test-Profile-3-Zone3 dns-filter statistics-log-timer 5

set services web-filter profile Test-Profile-3-Zone3 dns-filter dns-resp-ttl 100

set services web-filter profile Test-Profile-3-Zone3 dns-filter wildcarding-level 10

 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: client-interfaces xe-7/0/2.32

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: server-interfaces xe-7/2/0.36

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: client-routing-instance client_vr4

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 inactive: server-routing-instance server_vr4

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer1 feed-name customer2

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer1 from src-ip-prefix 10.12.1.1

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer1 then dns-sinkhole

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer2 feed-name customer2

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer2 from src-ip-prefix 2001:db8::0/96

 set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer2 then dns-sinkhole

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer3 from src-ip-prefix 2001:db8:bbbb::/96

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area1 term Test-Profile-3-Zone3-Area1-Customer3 then dns-sinkhole

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: client-interfaces xe-7/0/2.32

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: server-interfaces xe-7/2/0.36

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: client-routing-instance client_vr4

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 inactive: server-routing-instance server_vr4

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 term Test-Profile-3-Zone3-Area2-Customer1 from src-ip-prefix 22.21.128.0/17

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone3-Area2 term Test-Profile-3-Zone3-Area2-Customer1 then dns-sinkhole

set services web-filter profile Test-Profile-3-Zone3 dns-filter-template Test-Profile-3-Zone4-Area2 feed-name customer2

set services web-filter pr