目录简介先决条件要求使用的组件规则配置相关信息简介本文档介绍当Web缓存通信协议(WCCP)用于实施反向透明缓存时如何对其进行故障排除.
先决条件要求本文档没有任何特定的要求.
使用的组件本文档中的信息基于以下软件和硬件版本:在本地模式下配置Supervisor1和MSFC1的Catalyst6500q思科IOS软件版本12.
1(8a)EX(c6sup11-jsv-mz.
121-8a.
EX.
bin)q缓存引擎550,版本2.
51q本文档中的信息都是基于特定实验室环境中的设备编写的.
本文档中使用的所有设备最初均采用原始(默认)配置.
如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响.
规则有关文档规则的信息,请参阅Cisco技术提示规则.
配置安装缓存引擎时,思科建议您仅配置实施WCCP所需的命令.
您可以稍后将其他功能(例如身份验证)添加到路由器和客户端重定向列表.
在缓存引擎上,必须指定路由器的IP地址和要使用的WCCP版本.
wccprouter-list1192.
168.
15.
1wccpreverse-proxyrouter-list-num1wccpversion2配置IP地址和WCCP版本后,您可能会看到一条消息,警告应在路由器中激活服务99以实施反向透明缓存.
服务99是反向透明缓存的WCCP服务标识符.
正常透明缓存的标识符是CiscoIOS中的"web-cache"一词.
要在路由器上激活服务99(反向透明缓存),并指定执行重定向的端口,请在全局配置模式下添加以下命令:ipwccp99interfaceVlan200ipaddress10.
10.
10.
120255.
255.
255.
0ipwccp99redirectout配置反向透明缓存时,运行WCCP服务99的路由器会拦截指向Web服务器的请求.
命令ipwccp99redirectout应用于要截取客户端HTTP数据包的接口,该客户端HTTP数据包位于通往Web服务器的路径中.
通常,这是Web服务器VLAN.
这通常不是安装缓存引擎的VLAN.
一旦WCCP处于活动状态,路由器将侦听已配置WCCP重定向的所有端口.
为了表明其存在,缓存引擎会持续将WCCPHereIampackets发送到路由器列表中配置的IP地址.
路由器和缓存之间形成WCCP连接.
要查看连接信息,请发出showipwccp命令.
路由器标识符是缓存引擎看到的路由器的IP地址.
此标识符不一定是重定向流量到达缓存所使用的路由器接口.
本示例中的路由器标识符为192.
168.
15.
1.
Router#showipwccpGlobalWCCPinformation:Routerinformation:RouterIdentifier:192.
168.
15.
1ProtocolVersion:2.
0ServiceIdentifier:99NumberofCacheEngines:1Numberofrouters:1TotalPacketsRedirected:0Redirectaccess-list:-none-TotalPacketsDeniedRedirect:0TotalPacketsUnassigned:0Groupaccess-list:-none-TotalMessagesDeniedtoGroup:0TotalAuthenticationfailures:0showipwccp99detail命令提供有关缓存的详细信息.
Router#showipwccp99detailWCCPCache-Engineinformation:IPAddress:192.
168.
15.
2ProtocolVersion:2.
0State:UsableRedirection:GREInitialHashInfo:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAssignedHashInfo:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFHashAllotment:256(100.
00%)PacketsRedirected:0ConnectTime:00:00:39字段表示用于将数据包从路由器重定向到缓存引擎的方法.
此方法可以是通用路由封装(GRE)或第2层.
使用GRE时,数据包将封装在GRE数据包中.
对于第2层,数据包会直接发送到缓存,但缓存引擎和交换机或路由器必须与第2层相邻,才能进行第2层重定向.
在"初始"和"分配的哈希信息"字段中所有可能的源Internet地址被划分为64个等大小范围,每个范围一个存储桶,并且每个缓存都分配来自这些存储桶源地址范围中的许多流量.
WCCP根据缓存的负载和负载加权动态管理此数量.
如果只安装了一个缓存,则可能会为此缓存分配所有存储桶.
当路由器开始将数据包重定向到缓存引擎时,"重定向的数据包总数"字量会增加.
TotalPacketsUnassigned字段是因未将数据包分配给任何缓存而未重定向的数据包数.
在本示例中,数据包数为5.
在初始发现缓存期间或在删除缓存时的较短间隔内,可能会取消分配数据包.
Router#showipwccpGlobalWCCPinformation:Routerinformation:RouterIdentifier:192.
168.
15.
1ProtocolVersion:2.
0ServiceIdentifier:99NumberofCacheEngines:1Numberofrouters:1TotalPacketsRedirected:28Redirectaccess-list:-none-TotalPacketsDeniedRedirect:0TotalPacketsUnassigned:5Groupaccess-list:-none-TotalMessagesDeniedtoGroup:0TotalAuthenticationfailures:0如果路由器未获取缓存,则调试WCCP活动可能会很有用.
每当路由器从缓存收到"HereIampacketfromthecache"(此处我是数据包)时,它都会以"Iseeyoupacket"(我看到您的数据包)来回应,并在调试中报告.
可用的debug命令是debugipwccpevents和debugipwccppackets.
注意:在使用debug命令之前,请参阅有关debug命令的重要信息.
以下输出提供正常WCCP调试消息的示例:Router#debugipwccpeventWCCPeventsdebuggingisonRouter#debugipwccppacketWCCPpacketinfodebuggingisonRouter#2d18h:WCCP-EVNT:S00:Builtnewrouterview:0routers,0usablewebcaches,change#000000012d18h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000012d18h:WCCP-EVNT:S00:Redirect_Assignmentpacketfrom192.
168.
15.
2failssourcecheck2d18h:%WCCP-5-SERVICEFOUND:Serviceweb-cacheacquiredonWebCache192.
168.
15.
22d18h:WCCP-PKT:S00:ReceivedvalidHere_I_Ampacketfrom192.
168.
15.
2w/rcv_id000000012d18h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d18h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000022d18h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d18h:WCCP-PKT:S00:ReceivedvalidRedirect_Assignmentpacketfrom192.
168.
15.
2w/rcv_id000000022d18h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000032d18h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d18h:WCCP-PKT:S00:ReceivedvalidRedirect_Assignmentpacketfrom192.
168.
15.
2w/rcv_id000000032d18h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000042d18h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000052d18h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000062d18h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d18h:WCCP-PKT:S00:ReceivedvalidRedirect_Assignmentpacketfrom192.
168.
15.
2w/rcv_id00000006为了提高调试级别,您可能希望跟踪IP数据包流量,以检查路由器是否从缓存引擎接收数据包.
为了避免生产环境中路由器过载并仅显示相关流量,您可以使用ACL将调试仅限于将缓存的IP地址作为源的数据包.
示例ACL为access-list130permitiphost192.
168.
15.
2host192.
168.
15.
1.
Router#debugipwccpeventWCCPeventsdebuggingisonRouter#debugipwccppacketWCCPpacketinfodebuggingisonRouter#debugippacket130IPpacketdebuggingisonforaccesslist1302d19h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d19h:WCCP-PKT:S00:ReceivedvalidRedirect_Assignmentpacketfrom192.
168.
15.
2w/rcv_id0000001B2d19h:datagramsize=174,IP18390:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id0000001C2d19h:datagramsize=174,IP18392:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id0000001D2d19h:datagramsize=174,IP18394:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id0000001E2d19h:datagramsize=378,IP18398:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen364,fragment0,fo0,rcvd32d19h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d19h:WCCP-PKT:S00:ReceivedvalidRedirect_Assignmentpacketfrom192.
168.
15.
2w/rcv_id0000001E2d19h:datagramsize=174,IP18402:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id0000001F2d19h:datagramsize=174,IP18404:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000202d19h:datagramsize=174,IP18406:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000212d19h:datagramsize=378,IP18410:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen364,fragment0,fo0,rcvd32d19h:WCCP-EVNT:S00:Builtnewrouterview:1routers,1usablewebcaches,change#000000022d19h:WCCP-PKT:S00:ReceivedvalidRedirect_Assignmentpacketfrom192.
168.
15.
2w/rcv_id000000212d19h:datagramsize=174,IP18414:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd32d19h:WCCP-PKT:S00:SendingI_See_Youpacketto192.
168.
15.
2w/rcv_id000000222d19h:datagramsize=174,IP18416:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd3如果路由器未看到缓存且未看到WCCP活动,请检查基本连接.
尝试从路由器或从缓存ping路由器的缓存.
如果ping操作正常,配置中可能存在错误.
如果获取了缓存,但没有重定向任何数据包,请验证路由器是否接收了流量,以及流量是否被转发到应用了ipwccp99redirectout命令的接口.
请记住,被拦截和重定向的流量只是指向TCP端口80的流量.
如果流量仍未重定向,而Web内容直接从服务器发出,请验证缓存是否正确传递了要拦截的内容的指令.
要完成此操作,您必须拥有一些有关WCCP的背景信息.
WCCP可识别两种不同类型的服务:标准和动态.
路由器隐含地知道标准服务.
也就是说,路由器不需要被告知使用端口80,因为它已经知道使用端口80.
普通透明缓存(Web缓存—标准服务0)是标准服务.
在所有其他情况下(包括透明缓存),路由器会被告知要拦截哪个端口.
此信息将在"HereIampacket"中传递.
您可以发出debugippacketdump命令来检查数据包本身.
使用创建的ACL仅调试缓存引擎发送的数据包.
Router#debugippacket130dump2d19h:datagramsize=174,IP19576:s=192.
168.
15.
2(Vlan300),d=192.
168.
15.
1(Vlan300),totlen160,fragment0,fo0,rcvd3072C5120:00049B294800.
.
.
)H.
!
---StartIPheader.
072C5130:00500F0D25360800450000A04C780000.
P.
.
%6.
.
E.
.
Lx.
.
072C5140:3F118F81C0A80F02C0A80F0108000800072C5150:008CF09E0000000A0200007C00000004.
.
p.
!
---StartWCCPheader.
072C5160:00000000000100180163E60600000515cf.
.
.
.
.
072C5170:00500000000000000000000000000000.
P.
!
---Porttointercept(0x50=80).
072C5180:0003002CC0A80F0200000000FFFFFFFF!
---Hashallotment(FFFF.
.
.
).
072C5190:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF072C51A0:FFFFFFFFFFFFFFFFFFFF000000000000072C51B0:000500180000000200000001C0A80F01072C51C0:0000000C00000001C0A80F0200080008072C51D0:000100040000000130.
.
.
.
.
.
.
.
0使用此命令,您可以确定是否通告了端口,而无需查看整个请求注解(RFC).
如果未通告端口,则问题很可能出在缓存的配置中.
有关详细信息,请参阅Web缓存协调协议V2.
0.
如果获取了缓存并重定向了数据包,但您的Internet客户端无法浏览您的服务器,请检查缓存是否与Internet和您的服务器有连接.
从缓存PingInternet上的各种IP地址和您的一些内部服务器.
如果ping完全限定域(URL)而不是IP地址,请确保指定要在缓存配置中使用的DNS服务器.
如果您不确定缓存是否处理请求,可以调试缓存中的HTTP活动.
要调试缓存中的HTTP活动,必须限制流量以避免缓存过载.
在路由器上,使用Internet中一个客户端的源IP地址创建ACL,您可以将其用作测试设备,并使用全局命令ipwccp99的redirect-list选项.
Router(config)#access-list50permit172.
17.
241.
126Router(config)#ipwccp99redirect-list50创建并应用ACL后,请完成以下步骤:使用命令debughttpall(CiscoCacheEngine2.
x版)或debughttpall(CiscoCacheEngine3版和ACNS4、5版)激活缓存中的HTTP调试.
1.
激活终端监控(发出termmon命令).
2.
尝试从您在ACL中配置的客户端浏览其中一台服务器.
3.
以下是输出示例:irq0#conftcework_readfirstdata()Starttherecv:0xb820800len4096timeout0x3a98msctx0xb87d800cework_recvurl()Starttherequest:0xb20c8000xb20c8380xb20c8e0HttpRequestheadersreceivedfromclient:GET/HTTP/1.
1Host:10.
10.
10.
152User-Agent:Links(0.
92;Linux2.
2.
16-22i686)Accept:*/*Accept-Charset:us-ascii,ISO-8859-1,ISO-8859-2,ISO-8859-4,ISO-8895-5,ISO-8859-13,windows-1250,windws-1251,windows-1257,cp437,cp850,cp852,cp866,x-cp866-u,x-mac-ce,x-kam-cs,x-koi8-r,x-koi8-u,utf8Connection:Keep-AliveProtocoldispatch:mode=1proto=2ValidateCode()Begin:pRequest=0xb20c800Proxy:CACHE_MISS:HealProcessUserRequestcework_teefile()0xb20c800:Trytoconnecttoserver:CheckProxyServerOut():Outgoingproxyisnotenable:0xb20c800(F)GetServerSocket():Forwardingtoserver:pHost=10.
10.
10.
152,Port=80HttpServerConnectCallBack:Connectcallbacksocket=267982944,error=0Httprequestheaderssenttoserver:GET/HTTP/1.
1Host:10.
10.
10.
152User-Agent:Links(0.
92;Linux2.
2.
16-22i686)Accept:*/*Accept-Charset:us-ascii,ISO-8859-1,ISO-8859-2,ISO-8859-4,ISO-8895-5,ISO-8859-13,windows-1250,windws-1251,windows-1257,cp437,cp850,cp852,cp866,x-cp866-u,x-mac-ce,x-kam-cs,x-koi8-r,x-koi8-u,utf8Connection:keep-aliveVia:1.
1irq0X-Forwarded-For:172.
17.
241.
126cework_sendrequest:lBytesRemote=386,nLength=386(0xb20c800)ReadResCharRecvCallback():lBytesRemote=1818,nLength=14320xb20c800)IsResponseCacheable()OBJECTSIZE_IS_UNLIMITED,lContentLength=3194cework_processresponse():0xb20c800iscacheableHttpresponseheadersreceivedfromserver:HTTP/1.
1200OKDate:Tue,20Nov200110:46:14GMTServer:Apache/1.
3.
12(Unix)(RedHat/Linux)mod_ssl/2.
6.
6OpenSSL/0.
9.
5amod_perl/1.
24Last-Modified:Fri,12Oct200112:55:23GMTETag:"5e23-c7a-3bc6e83b"Accept-Ranges:bytesContent-Length:3194Keep-Alive:timeout=15,max=100Connection:Keep-AliveContent-Type:text/htmlGetUpdateCode():GETrequestfromclient,GETrequesttoserver.
GetUpdateCode():nRequestType=-1SetTChain()0xb20c800:CACHE_OBJECT_CLIENT_OBJECTsendobj_and_cacheHttpresponseheaderssenttoclient:HTTP/1.
1200OKDate:Tue,20Nov200110:46:14GMTServer:Apache/1.
3.
12(Unix)(RedHat/Linux)mod_ssl/2.
6.
6OpenSSL/0.
9.
5amod_perl/1.
24Last-Modified:Fri,12Oct200112:55:23GMTETag:"5e23-c7a-3bc6e83b"Content-Length:3194Keep-Alive:timeout=15,max=100Content-Type:text/htmlConnection:keep-alivecework_tee_sendheaders()0xb20c800:sent323bytestoclientcework_tee_send_zbuf()0xb20c800:Send1087bytestoclient(1087)UseContentLength():ValidContent-Length(T)cework_tee_recv_zbuf()0xb20c800:Registertorecv2107bytestimeout120secHttpServerRecvCallBack():RecvCallBacksocket267982944,err0,length2107HttpServerRecvCallBack():lBytesRemote=3925,nLength=2107(186697728)cework_tee_send_zbuf()0xb20c800:Send2107bytestoclient(2107)UseContentLength():ValidContent-Length(T)cework_setstats():lBytesLocal=0,lBytesRemote=3925(0xb20c800)cework_readfirstdata()Starttherecv:0xb84a080len4096timeout0x3a98msctx0xb87d800cework_cleanup_final()Endtherequest:0xb20c8000xb20c8380xb20c8e0您在调试中可能找到的相关信息以粗体突出.
以下是网页页面事务的不同阶段:从客户端收到的HTTP请求报头.
1.
发送到服务器的HTTP请求报头.
2.
从服务器收到的HTTP响应报头.
3.
发送到客户端的HTTP响应报头.
4.
如果浏览的网页包含多个对象,则存在此事件序列的多个实例.
使用最简单的请求来减少调试输出.
在Catalyst6500或Cisco7600路由器上,功能管理器处理CiscoIOS中配置的所有功能,以便提供额外的故障排除层.
当这些设备中配置了第3层功能时,定义如何处理接收帧的信息会传递到交换机或路由器(功能管理器)的第2层控制功能.
对于WCCP,此控制信息定义了IOS和WCCP拦截并定向到透明缓存的数据包.
showfmfeatures命令显示CiscoIOS中启用的功能.
您可以使用此命令来检查要拦截的端口是否由缓存引擎正确通告.
Router#showfmfeaturesRedundancyStatus:stand-aloneInterface:Vlan200IPisenabledhw[EGRESS]=1,hw[INGRESS]=1hw_force_default[EGRESS]=0,hw_force_default[INGRESS]=0mcast=0priority=2reflexive=0vacc_map:outboundlabel:5merge_err:0protocol:ipfeature#:1featureid:FM_IP_WCCPServiceID:99ServiceType:1Thefollowingaretheusedlabelslabel5:swidb:Vlan200Vlous:ThefollowingarethefeaturesconfiguredIPWCCP:service_id=99,service_type=1,state=ACTIVEoutboundusers:user_idb:Vlan200WClist:address:192.
168.
15.
2Serviceports:ports[0]:80ThefollowingistheipACLsportexpansioninformationFM_EXPknobconfigured:yesFMmodeforWCCP:GRE(flowmask:destination-only)FMredirectindexbase:0x7E00ThefollowingareinternalstatisticsNumberofpendingtcaminserts:0Numberofmergequeueelements:0命令showfmintvlan200显示三态内容可寻址存储器(TCAM)的确切内容.
Router#showfmintvlan200Interface:Vlan200IPisenabledhw[EGRESS]=1,hw[INGRESS]=1hw_force_default[EGRESS]=0,hw_force_default[INGRESS]=0mcast=0priority=2reflexive=0vacc_map:outboundlabel:5merge_err:0protocol:ipfeature#:1featureid:FM_IP_WCCPServiceID:99ServiceType:1(onlyforIP_PROT)DestAddrSrcAddrDptSptL4OPTOSEstprotRsltvmrIPvalue#1:0.
0.
0.
0192.
168.
15.
2000006permitvmrIPmask#1:0.
0.
0.
0255.
255.
255.
25500000FFvmrIPvalue#2:0.
0.
0.
00.
0.
0.
08000006bridgevmrIPmask#2:0.
0.
0.
00.
0.
0.
0FFFF0000FFvmrIPvalue#3:0.
0.
0.
00.
0.
0.
0000000permitvmrIPmask#3:0.
0.
0.
00.
0.
0.
0000000vmrIP#1:线路定义来自缓存引擎的帧的侦听旁路.
如果没有这个,则会出现重定向环路.
vmrIP#2:线路定义侦听端口80作为其目的地的所有数据包.
如果第二行中未显示端口80,但WCCP处于活动状态,且路由器可使用缓存,则缓存配置中可能存在问题.
收集"HereIampacket"的转储,以确定该端口是否由缓存发送.
如果在排除故障后无法解决问题,请向思科技术支持中心(TAC)报告问题.
麻花云怎么样?麻花云公司成立于2007年,当前主打产品为安徽移动BGP线路,数据中心连入移动骨干网。提供5M,10M大带宽云主机,香港云服务器产品,数据中心为香港将军澳机房,香港宽频机房 cn2-GIA优质线路、采用HYPER-V,KVM虚拟技术架构一、麻花云官网点击直达麻花云官方网站合肥网联网络科技有限公司优惠码: 专属优惠码:F1B07B 享受85折优惠。最新活动 :双11 云上嗨购 香港云主...
ftlcloud(超云)目前正在搞暑假促销,美国圣何塞数据中心的云服务器低至9元/月,系统盘与数据盘分离,支持Windows和Linux,免费防御CC攻击,自带10Gbps的DDoS防御。FTL-超云服务器的主要特色:稳定、安全、弹性、高性能的云端计算服务,快速部署,并且可根据业务需要扩展计算能力,按需付费,节约成本,提高资源的有效利用率。活动地址:https://www.ftlcloud.com...
Cloudxtiny是一家来自英国的主机商,提供VPS和独立服务器租用,在英国肯特自营数据中心,自己的硬件和网络(AS207059)。商家VPS主机基于KVM架构,开设在英国肯特机房,为了庆祝2021年欧洲杯决赛英格兰对意大利,商家为全场VPS主机提供50%的折扣直到7月31日,优惠后最低套餐每月1.5英镑起。我们对这场比赛有点偏见,但希望这是一场史诗般的决赛!下面列出几款主机套餐配置信息。CPU...