On Nov 3, 2009, at 3:22 PM, Ross Kovelman wrote:
On Nov 3, 2009, at 12:07 AM, Amos Jeffries wrote:Ross Kovelman wrote:From: Amos Jeffries <squid3@xxxxxxxxxxxxx> Date: Fri, 30 Oct 2009 14:08:23 +1300 Cc: "squid-users@xxxxxxxxxxxxxxx" <squid-users@xxxxxxxxxxxxxxx> Subject: Re: WCCP Ross Kovelman wrote:Not a clue. I'd guess some delays on the network. Perhaps during DNSFrom: Amos Jeffries <squid3@xxxxxxxxxxxxx> Date: Tue, 27 Oct 2009 12:17:12 +1300 To: Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx> Cc: "squid-users@xxxxxxxxxxxxxxx" <squid-users@xxxxxxxxxxxxxxx> Subject: Re: WCCP On Wed, 21 Oct 2009 12:20:00 -0400, Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx> wrote:From: Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx> Date: Mon, 19 Oct 2009 22:35:36 -0400 To: Amos Jeffries <squid3@xxxxxxxxxxxxx> Cc: "squid-users@xxxxxxxxxxxxxxx" <squid-users@xxxxxxxxxxxxxxx> Subject: Re: WCCPFrom: Amos Jeffries <squid3@xxxxxxxxxxxxx> Date: Tue, 20 Oct 2009 13:20:27 +1300 To: Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx>Cc: "squid-users@xxxxxxxxxxxxxxx" <squid-users@squid- cache.org>Subject: Re: WCCP On Mon, 19 Oct 2009 20:06:55 -0400, Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx> wrote:From: Amos Jeffries <squid3@xxxxxxxxxxxxx> Date: Tue, 20 Oct 2009 12:40:02 +1300 To: Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx>Cc: "squid-users@xxxxxxxxxxxxxxx" <squid-users@xxxxxxxxxxxxxxx >Subject: Re: WCCP On Mon, 19 Oct 2009 18:26:18 -0400, Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx> wrote:From: Amos Jeffries <squid3@xxxxxxxxxxxxx> Date: Tue, 20 Oct 2009 11:04:42 +1300 To: Ross Kovelman <rkovelman@xxxxxxxxxxxxxxxx>Cc: "squid-users@xxxxxxxxxxxxxxx" <squid-users@xxxxxxxxxxxxxxx >Subject: Re: WCCP On Mon, 19 Oct 2009 14:21:44 -0400, Ross Kovelman wrote:From: Amos Jeffries Ross Kovelman wrote: From: Amos Jeffries: Ross Kovelman wrote:I am going to be using WCCP. I did another reconfigure withthe --enableWCCP option. How can I check that it is on and running? Thenextstep I need to do is upgrade to version 2 since the Cisco onlycommunicatesonversion 2. I tried to do the patch < upgrade patch but thenIgetaresponse with path to upgrade and I am not sure where thefileisIneed patch.There is zero need to patch for support WCCPv2. It's beenbuiltintoSquid for many years now. Run "./configure --help". * If it lists "--disable-wccpv2" there is no need to doanything.* If it lists "--enable-wccpv2" , add that to your buildoptions.* If it does not mention "wccpv2" at all upgrade your Squidversion.Then setup squid.conf with the relevant wccp2_* options.http://www.squid-cache.org/Doc/config/ or the wiki exampleconfigshavedetails on those. Thanks again. Running the ./configure --help only says this:--disable-wccp Disable Web Cache Coordination V1Protocol--disable-wccpv2 Disable Web Cache Coordination V2ProtocolWhen I did the install I ran the ./configure --enable wccpoption.Ididn'tsay --enable-wccpv2, does this matter? I also have this in theconfig:wccp2_router 192.168.16.1 wccp2_forwarding_method 1 wccp2_return_method 1 I am running Squid Web Proxy 2.7.STABLE5. Okay. Thats fine.The ./configure results mean that both WCCP versions are builtintoSquid by default unless you explicitly say --disable. Nothingextra needed to build them.The config options you have there are already WCCPv2- onlyoptionsforCisco. Nothing new needed there either. If thats not working its a config error somewhere.I am getting this in my cache log:Accepting proxy HTTP connections at 0.0.0.0, port 3128, FD 20. commBind: Cannot bind socket FD 21 to *:3128: (48) AddressalreadyinuseAccepting proxy HTTP connections at 0.0.0.0, port 80, FD 21. commBind: Cannot bind socket FD 22 to *:80: (48) Address alreadyinusehttp://wiki.squid-cache.org/SquidFaq/TroubleShooting#Cannot_bind_socket_FD_NN_to_.2A:8080_.28125.29_Address_already_in_useI would suspect this as part of the problem. The WCCP router willbetrying to contact whatever software is already running on port3128,notthe Squid you are starting with WCCP config.Accepting ICP messages at 0.0.0.0, port 3130, FD 22. WCCP Disabled. Accepting WCCPv2 messages on port 2048, FD 23.To answer your earlier question:the above two lines means WCCPv1 is disabled, WCCPv2 is beingused.Initialising all WCCPv2 listsAs from my other posting I need WCCP enabled but it is showingdisabled.Any reason why? How can I resolve this. Below is my lines inconfigThe above are only the config of how squid sends packets to thewccp2_router 192.168.16.1 wccp2_forwarding_method 1 wccp2_return_method 1Cisco.WCCP requires configuration Cisco, the squid box OS and firewall,and routing tables. Any one of which could be the problem.The tutorials and troubleshooting info we have at present is alittlespread out and disjointed. What how-to are you working from?AmosAmos,I just did a TCP dump and I think my problem is the GRE packet. Itis beinglisted I think as unknown. Shouldn't squid be able to pick thepacketupand open it? The Cisco sees squid and relays the information goodbutitisstopping at the squid box. Any ideas? I am just google'ing aroundnosethow to.Okay. I've polished up our exemplar configs a little: http://wiki.squid-cache.org/Features/Wccp2 (some way to go though). There are four parts to WCCP systems: 1) WCCP capture and redirect 2) gre tunnel between the Cisco and Squid boxes3) squid box firewall settings and NAT capture of received grepacketshttp://wiki.squid-cache.org/ConfigExamples/Intercept#Traffic_Interception_captFrom what I have read and what you show only for the PIX and ASAure_into_Squid4) squid.conf settings to make Squid contact the cisco routerAmosshouldHmm, I was worried a bit by this. Then realized what the problem was. The difference appears to have been only a security ACL added to the ASAbethe same. The Pix is actually correct for the ASA, although that iswhatCisco told me to do.config and the screwy wrapping. Thanks for that hint.As far as: wccp2_router - My cisco router addresswccp2_forwarding_method - I took this out of my config as GRE isdefault wccp2_return_method - same as forward wccp2_assignment_method - nothing in config wccp2_service - nothing in configAm I missing something? If I have my cisco config turned on for WCCPandsquid running no one can browse the web. If I turn squid off andleavewccprunning on the Cisco browsing web is perfect. No issues. Anythingelsetocheck?... rp_filter settings on the Squid box are turned off.... iptables does REDIRECT or DNAT capture of the packets to the Squidhttp_port marked with "transparent"bert:~ administrator$ sudo tcpdump -n -i en1 ip proto gretcpdump: verbose output suppressed, use -v or -vv for full protocoldecodelistening on en1, link-type EN10MB (Ethernet), capture size 96 bytes 15:00:33.599161 IP 192.168.xx.1 > 192.168.xx.xxx: GREv0, length 60:gre-proto-0x883e15:00:34.715585 IP 192.168.xx.1 > 192.168.xx.xxx: GREv0, length 60:gre-proto-0x883e15:00:34.805734 IP 192.168.xx.1 > 192.168.xx.xxx: GREv0, length 56:gre-proto-0x883e15:00:34.808181 IP 192.168.xx.1 > 192.168.xx.xxx: GREv0, length 56:gre-proto-0x883e gre-proto-0x883e15:00:34.805734 IP 192.168.xx.1 > 192.168.xx.xxx: GREv0, length 56:gre-proto-0x883e15:00:34.808181 IP 192.168.xx.1 > 192.168.xx.xxx: GREv0, length 56:gre-proto-0x883eDoes that help? Let me know what you need from me so we can resolvethis.I did mask off my IP but the IP prior to the > is the ASA and thenumbersafter is the squid server ThanksAmos, I have this in my sysctl config: net.ipv4.ip_forward =1 net.ipv4.conf.all.rp_filter = 0That should take care of the rp_filter. Although how can I check thatIdon't know. I am also running transparent so I assume that iptablesI am starting to look more into this and what I see is this on thething you wrote I do not need to do? Thanksfirewalllog: Oct 21 12:03:37 bert ipfw: 12313 Accept P:47 192.168.xx.1192.168.xx.xxxin via en1P47 is GRE so I can see that the GRE packet from the ASA is passed and accepted to the squid server. I do not think Squid knows how to either decipher the GRE packet and or when it tries to send the informationbackout its not going back to the client or ASA. How can I resolve this?Aha, you have an ASA. Somehow I missed that detail earlier. This is thespecific ASA config details we have so far:http://wiki.squid-cache.org/ConfigExamples/Intercept/ CiscoAsaWccp2Check that you have the squid bypass in the config. Thats one of thecritical parts. Good tracking so far.It's the OS business to unwrap the GRE packet into a normal TCP packet before passing it to Squid. I'm not sure how ipfw ensures that. modprobeip_gre?The next bit will be to see if Squid receives the packet at all. With debug_options ALL,6 or so cache.log should record a connection acceptedfrom the client and show what happens to it. AmosAmos,Got it working, but I am having some timeout issues when browsing all websites. Do you know why or know what I can look for? I do see the ASAand squid server communicating now. Thankslookups. Amos -- Please be using Current Stable Squid 2.7.STABLE7 or 3.0.STABLE19 Current Beta Squid 3.1.0.14Amos,I got cisco on the phone and did some packet debugging. What we found is the ASA and squid communicate. The problem lies where for some reason theclients browser will report a "connection time out". Do you know ofanything that should be done, IPTables or Firewall so the packet does go correctly to the client. I was told WCCP communicates with the ASA and Squid and then from there the request is between squid and the client. Ihave done everything here: http://www.sublime.com.au/squid-wccp/Sorry for the delay. Looks like you understand it all so far. I just have a few Qs to clarify your situation in my mind: The architecture piece labeled "10/100BT Layer-2 Segment"... that is a switch right?so that squid+client are able to directly wire-connect without going through the cisco ASA again? with both also setup to route local network range packets directly to each other? (again without involving the cisco ASA)Besides compile of the wccp module and kernal rebuilding. I know this is not squid issue, or at least I do not think so, so an Fedora help you can give would be appreciated. I have also followed the book from O'reilly called squid. I am going to dig a lil deeper on the server side doing dumps to see what else I find. The only other clue I see is the packet going fromthe server to the ASA: ICMP Destinatoon unreachable (Host administratively prohibited)Hmm, indicates a firewall problem. Possibly preventing part of the traffic between squid and the client or between squid and server.Worth getting a low-level trace and finding out whats generating it. Amos -- Please be using Current Stable Squid 2.7.STABLE7 or 3.0.STABLE20 Current Beta Squid 3.1.0.14Amos,The "10/100" statement on the website I am unsure of as I used it more for the configuration then his network diagram. To explain further I did compare the 2 network layouts but I strictly wanted to see his config vs mine. On my network all clients and servers eventually go through the ASA there is no way around it. I am not sure at this current time how I can not involve the ASA as the server squid is on is used now for other functionalities.I will try to run some packet stuff by the end of day and report back my findings. Anything specific?Thanks
Amos, Here is the outputs [root@cache Administrator]# tcpdump -n -i eth0 ip proto gretcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes14:43:57.241246 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e 14:43:57.674427 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e 14:43:57.737913 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e 14:43:58.089966 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e 14:43:58.942476 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e 14:43:59.705716 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e 14:44:00.194796 IP 192.168.16.1 > 192.168.16.217: GREv0, length 56: gre-proto-0x883e
GRE is working netstat -s | grep unknown 3 packets to unknown port received. That seems to be ok, number does not increase netstat -i Kernel Interface tableIface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX- DRP TX-OVR Flg eth0 1500 0 846693 0 0 0 70715 0 0 0 BMRU gre1 1476 0 0 0 0 0 0 0 0 0 OPRU lo 16436 0 103 0 0 0 103 0 0 0 LRU
any ideas? Thanks
<<attachment: smime.p7s>>