目录

简介

先决条件

要求

使用的组件

规则

WCCP和ASA概述

WCCP重定向

WCCP服务组

配置

验证

故障排除

相关信息

简介

本文档介绍思科自适应安全设备(ASA)上Web缓存协调协议(WCCP)的概念、限制和配置。WCCP是一种方法，ASA可通过通用路由封装(GRE)隧道将流量重定向到WCCP缓存引擎。

先决条件

要求

Cisco 建议您了解以下主题：

- Web缓存通信协议(WCCP)第2版(v2)

- 思科自适应安全设备(ASA)

- 思科自适应安全设备(ASA)软件；阅读配置指南了解兼容性

- 代理缓存

- 重定向

思科还建议您了解ASA上WCCP配置的局限性，如以下文档所述：

- 使用CLI的Cisco ASA 5500系列配置指南8.2:使用 WCCP 配置 Web 缓存服务:准则和限制

- Cisco ASA系列CLI配置指南9.0:使用 WCCP 配置 Web 缓存服务

使用的组件

本文档中的信息基于Web缓存通信协议(WCCP)第2版(V2)。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的信息，请参阅 Cisco 技术提示规则。

WCCP和ASA概述

WCCP指定一个或多个路由器与一个或多个Web缓存之间的交互。交互的目的是建立和维护通过一组路由器的选定流量类型的透明重定向。所选流量被重定向到一组Web缓存，以优化资源使用并缩短响应时间。

对于WCCP，ASA选择接口上配置的最高IP地址，并将其用作路由器ID。这与路由器ID的开放最短路径优先(OSPF)过程完全相同。  当ASA将数据包重定向到缓存引擎(CE)时，ASA从路由器ID IP地址（即使它源自不同接口）获取重定向，并将数据包封装到GRE报头中。

GRE连接是单向的。ASA将重定向数据包封装到GRE中，并将其发送到缓存引擎。ASA不处理来自CE的任何GRE封装响应。CE需要直接与内部主机通信。

重定向的工作流包括以下步骤：

1. 主机使用ASA的默认网关打开HTTP连接。

2. ASA将数据包（封装在GRE中）重定向到CE。

3. CE验证或更新所请求站点的缓存。

4. CE直接向主机回复。

- 从主机发出的所有出站数据包都从ASA重定向到CE。

- 从服务器到主机的所有入站数据包都从CE定向到主机。

ASA实施WCCP V2。如果服务器支持WCCP V2，则应兼容。

WCCP重定向

WCCP V2定义了允许启用透明重定向的一个或多个路由器发现、验证和通告到一个或多个Web缓存的连接的机制。以下是WCCP重定向中的步骤：

1. 用户在浏览器中输入URL。

2. 该URL会转发到域名系统(DNS)以进行地址解析。

3. URL解析为Web服务器的IP地址。

4. 客户端使用SYN请求发起到服务器的连接。

5. 在活动路由器上，WCCP Web缓存服务拦截HTTP请求（TCP端口80），并根据配置的负载分布将请求重定向到缓存：

- 如果缓存命中，CE会用请求的内容响应原始GET，并在响应包中使用源服务器的源IP地址。

- 如果请求的内容尚未存储在CE上，则会出现缓存缺失：

1. CE建立与源服务器的连接，使用其自己的IP地址作为源，并发送HTTP GET。

2. 服务器用内容响应CE。

3. CE将可缓存内容的副本写入磁盘。

WCCP服务组

建立连接后，路由器和Web缓存将形成服务组，以处理其特征是服务组定义一部分的流量的重定向。

Web缓存以HERE_I_AM_T(10)秒的间隔将WCCP2_HERE_I_AM消息传输到组中的每台路由器，以便加入并保持其在服务组中的成员资格。消息可以通过单播发送到每台路由器或通过组播发送到已配置的服务组组播地址。

- WCCP2_HERE_I_AM消息中的Web-Cache身份信息组件按IP地址标识Web缓存。

- WCCP2_HERE_I_AM消息的“服务信息”组件标识并描述Web缓存希望参与的服务组。

服务组

类型

描述

服务0

Web缓存

允许ASA将HTTP流量重定向到CE的Web缓存服务。

服务53

DNS

DNS缓存服务，允许ASA透明地将DNS客户端请求重定向到客户端引擎。

服务60

FTP-native

缓存服务，允许ASA透明地将FTP本地请求重定向到内容引擎上的单个端口。

服务70

https-cache

缓存服务，允许ASA拦截端口443 TCP流量并将此HTTPS流量重定向到内容引擎。

服务80

rtsp

允许ASA将实时流协议(RTSP)客户端请求重定向到内容引擎上的单个端口的媒体流服务。

服务81

mmst

媒体缓存服务，允许ASA使用基于TCP的Microsoft Media Server(MMST)重定向，以便将Windows Media Technology(WMT)客户端请求路由到内容引擎上的TCP端口1755。

服务82

mmsu

媒体缓存服务，允许ASA使用基于用户数据报协议(UDP)的Microsoft媒体服务器(MMSU)重定向，以便将WMT客户端请求路由到内容引擎上的UDP端口1755。

服务83

wmt-rtsp

媒体流服务，允许ASA将RTSP请求从Windows Media Service 9客户端重定向到CE上的UDP端口5005。

服务90-97

用户可配置

用户定义的WCCP服务，每个WCCP服务最多支持八个端口。配置这些用户定义的服务时，必须指定是将流量重定向到HTTP缓存应用、HTTPS应用还是内容引擎上的流应用。

服务98

自定义Web缓存

缓存服务，允许ASA在端口80以外的多个端口上透明地将HTTP流量重定向到内容引擎。

服务99

反向代理

缓存服务，允许ASA将HTTP反向代理流量重定向到端口80上的内容引擎。

服务组由服务类型和服务ID标识。服务组分为两种类型：

- 众所周知的服务

- 动态服务

众所周知的服务由ASA和Web缓存所知，除服务ID外，不需要其他描述。

相反，动态服务必须描述给ASA。ASA可以配置为参与由服务ID标识的特定动态服务组，而不知道与该服务组相关联的流量的特征。流量描述在第一个Web缓存的WCCP2_HERE_I_AM消息中传达到ASA，以便加入服务组。Web缓存使用服务信息组件的协议、服务标志和端口字段来描述动态服务。定义动态服务后，ASA将丢弃包含冲突描述的任何后续WCCP2_HERE_I_AM消息。ASA还会丢弃描述尚未为其配置服务组的WCCP2_HERE_I_AM消息。

数字0到254是动态服务，而Web缓存服务是标准或公认服务。这意味着，当指定Web缓存服务时，WCCP V2协议已预定义要重定向TCP目标端口80流量。对于数字0到254，每个数字代表动态服务组。WCCP CE（例如Bluecoat）用于定义一组协议和端口，这些协议和端口将针对每个服务组进行重定向。然后，当ASA配置了相同的服务组编号（wccp 0 ...或wccp 1 ...）时，ASA会按照Bluecoat设备的指示对指定协议和端口执行重定向。

以下是显示Web缓存身份信息的示例：

以下示例显示Web缓存是服务组0的一部分：

以下示例显示Web缓存服务器作为客户服务组91的一部分，以及其流量被重定向到服务器的端口：

ASA使用WCCP2_I_SEE_YOU消息响应WCCP2_HERE_I_AM消息。

- 如果WCCP2_HERE_I_AM消息是单播消息，则路由器会立即以单播WCCP2_I_SEE_YOU消息作出响应。

- 如果WCCP2_HERE_I_AM消息是组播消息，则路由器会以服务组的计划组播WCCP2_I_SEE_YOU消息做出响应。

以下是路由器/ASA“I See You”消息的示例，该消息显示路由器加入服务组91并将端口80、8080和443重定向到Web缓存服务器：

以下是GRE数据包的示例：

配置

注意：在redirect-list中，访问列表应仅包含网络地址。不支持端口特定条目。

注意：有关wccp命令的详细信息，请参阅Cisco ASA 5500系列命令参考，8.2。

本步骤介绍如何在ASA上配置WCCP:

1. 输入wccp命令以指定要重定向的流量：

wccp {web-cache | service_number} [redirect-list access_list] [group-list access_list]

[password password]

2. 输入wccp命令以指定应发生流量重定向的接口：

wccp interface interface_name {web-cache | service_number} redirect in

注意：WCCP重定向仅在接口的入口上受支持。

以下是ASA配置的示例：

access-list caching permit ip source_subnet mask any

wccp 90 redirect-list caching

wccp interface 90 redirect in

Helpful Commands:

show wccp

show wccp 90 service -> this should indicate the ports that are being serviced by this WCCP

server. Without the 'service-flags ports-defined' in the Cache server configuration, the ports

to be redirected are NOT passed to the ASA. Therefore, the traffic will never be redirected.

This will result in 'Unassigned' increases with 'show wccp'.

ASA# show wccp 90 service

WCCP service information definition:

Type:          Dynamic

Id:            90

Priority:      0

Protocol:      6

Options:       0x00000013

--------

Hash:      SrcIP DstIP

Alt Hash:  -none-

Ports:     Destination:: 80 8080 0 0 0 0 0 0

ASA# show wccp 90 view

WCCP Routers Informed of:

X.X.X.X [Higher IP address on the device will be seen here]

WCCP Cache Engines Visible:

Y.Y.Y.Y [IP address of the web-cache server in the service-group 91]

注意：使用命令查找工具（仅限注册用户）可获取有关本部分所使用命令的详细信息。

验证

当前没有可用于此配置的验证过程。

故障排除

如果重定向不按预期工作，请使用这些输出排除故障。所有这些输出都在ASA上。

- show tech-support

- show wccp [service|view|hash|bucket|detail]

- show asp table classify

如果这三个命令的输出看起来有效，则可能需要：

- 查看相应的系统日志。

- 使用capture命令可以调查ASA接口和Web缓存服务器IP之间的捕获，以及客户端与其尝试访问的Web服务器之间的捕获。

命令输出解释程序工具（仅限注册用户）支持某些 show 命令。使用输出解释器工具来查看 show 命令输出的分析。

相关信息

- Cisco ASA 5500系列下一代防火墙参考指南

- Cisco ASA 5500系列下一代防火墙配置指南

- 技术支持和文档 - Cisco Systems