URL 过滤概述
您可以使用 URL 过滤来确定用户无法访问哪些 Web 内容。
此功能的组件包括:
-
URL 过滤器数据库文件
-
配置一个或多个模板(每个配置文件最多八个)
-
URL 过滤器插件 (jservices-urlf)
-
URL 过滤守护程序(url 过滤)
URL 过滤器数据库文件存储在路由引擎上,其中包含所有不允许的 URL。配置 的模板 定义要监控哪些流量、要匹配哪些条件以及要执行哪些操作。在 配置文件中配置 URL 过滤器数据库文件的模板和位置。
从 Junos OS 17.2R2 和 17.4R1 版开始,对于自适应服务,可以禁用对包含嵌入 IP 地址(例如 http:/10.1.1.1)的 HTTP 流量的过滤,这些 IP 地址属于 URL 过滤器数据库中不允许的域名。从 Junos OS 19.3R2 版开始,MX240、MX480 和 MX960 上的新一代服务也支持相同的功能。
要启用 URL 过滤功能,您必须在[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]
层次结构级别配置jservices-urlf
为 。package-name
启用后,jservices-urlf 将维护 URL 过滤配置文件,并接收所有要过滤的流量、过滤条件和对过滤后的流量执行的操作。
MX-SPC3 在层次结构级别上没有显式需要 jservices-urlf
package-name
[edit chassis fpc slot-number pic pic-number adaptive-services service-package extension-provider]
。默认情况下受支持。
URL 过滤守护程序 (url-filterd) 也驻留在路由引擎上,将 URL 过滤器数据库中每个 URL 的域名解析为 IPv4 和 IPv6 地址列表。然后,它会将 IP 地址列表下载到运行 jservices-urlf 的服务 PIC。然后,url-filterd 与动态防火墙进程 (dfwd) 交互,在数据包转发引擎上安装过滤器,从而将所选流量从数据包转发引擎传送到服务 PIC。
当新的 HTTP 和 HTTPS 流量到达路由器时,会根据 URL 过滤器数据库文件中的信息做出决定。检查过滤规则,路由器接受流量并传递流量,或阻止流量。如果流量被阻止,将执行以下配置操作之一:
-
HTTP 重定向将发送给用户。
-
自定义页面将发送给用户。
-
HTTP 状态代码将发送给用户。
-
发送 TCP 重置。
接受也是一种选择。在这种情况量不会被阻止。
图 1 说明了 HTTP 会话的 URL 过滤。

图 2 说明了 HTTPS 会话的 URL 过滤。

有关 URL 过滤功能的更多详细信息,请参阅以下部分:
URL 过滤器数据库文件
URL 过滤器数据库文件包含 URL 和 IP 地址的条目。按照 表 1 所示的格式创建 URL 过滤器数据库文件,并将其定位在路由引擎的 /var/db/url-filterd 目录下。
进入 |
描述 |
例 |
---|---|---|
FQDN |
全限定域名。 |
www.badword.com/jjj/bad.jpg |
URL |
不带第 7 层协议的完整字符串 URL。 |
www.srch.com/*坏词*/ www.srch.com www.srch.com/xyz www.srch.com/xyz* |
IPv4 地址 |
对特定 IPv4 地址的 HTTP 请求。 |
10.1.1.199 |
IPv6 地址 |
对特定 IPv6 地址的 HTTP 请求。 |
1::1 |
您必须在配置文件中指定自定义 URL 过滤器数据库。如果需要,您还可以使用任何模板分配自定义 URL 过滤器数据库文件,并且该数据库优先于在配置文件级别配置的数据库。
如果更改 URL 筛选器数据库文件的内容,请使用命令 request services (url-filter | web-filter) update
。帮助维护 URL 过滤器数据库文件的其他命令包括:
-
request services (url-filter | web-filter) delete
-
request services (url-filter | web-filter) force
-
request services (url-filter | web-filter) validate
URL 过滤器配置文件注意事项
URL 过滤器配置文件由一到八个模板组成。每个模板都由一组已配置的逻辑接口组成,在这些接口中,系统会监控流量以进行 URL 过滤以及一个或多个术语。
术语是一组匹配标准,如果满足匹配标准,则要执行操作。您必须至少配置一个术语才能配置 URL 过滤。每个术语都由语from
句和语then
句组成,其中语from
句定义受监控的源 IP 前缀和目标端口。语then
句指定要执行的操作。如果省略该from
语句,则任何源 IP 前缀和任何目标端口都将被视为匹配。但是,每个模板或配置文件只能省略一个from
语句。
不带 from 语句的多个术语的配置示例
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; } } }
如果每个模板省略多个 from
语句,则在提交时将收到以下错误消息:
URLFD_CONFIG_FAILURE: Configuration not valid: Cannot have two wild card terms in template template1 error: configuration check-out failed
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。