#  > Telecomunicações >  > Cisco >  >  WCCP v2 Cisco 2801 + Squid 2.7 + CentOs 5.4 = Surra absurda!

## Josue Guedes

Boa tarde a todos, venho recorrer novamente aos amigos mais experientes sobre como solucionar a configuração do WCCPv2 em um Cisco 2801, segue os resultados que obtive, acredito que falta pouca coisa para funcionar: 



```
MegaRouter>sh ip wccp
Global WCCP information:
    Router information:
        Router Identifier:                   200.xxx.xxx.126
        Protocol Version:                    2.0
 
    Service Identifier: web-cache
        Number of Cache Engines:             1
        Number of routers:                   1
        Total Packets Redirected:            5731
        Process:                             2
        Fast:                                0
        CEF:                                 5729
        Redirect access-list:                -none-
        Total Packets Denied Redirect:       0
        Total Packets Unassigned:            4
        Group access-list:                   -none-
        Total Messages Denied to Group:      0
        Total Authentication failures:       0
        Total Bypassed Packets Received:     0
```

 


```
MegaRouter>sh ip wccp web-cache detail
WCCP Cache-Engine information:
        Web Cache ID:          172.16.1.6
        Protocol Version:      2.0
        State:                 Usable
        Initial Hash Info:     00000000000000000000000000000000
                               00000000000000000000000000000000
        Assigned Hash Info:    FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
                               FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
        Hash Allotment:        256 (100.00%)
        Packets Redirected:    319
        Connect Time:          01:04:06
        Bypassed Packets
          Process:             0
          Fast:                0
          CEF:                 0
```

 
Bom, pelo que entendo o 2801 está reconhecendo o cache, porém, não está havendo tráfego, os pacotes não estão sendo redirecionados, segue minha configuração no Cisco: 



```
Current configuration : 1485 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname MegaRouter
!
boot-start-marker
boot-end-marker
!
enable secret 5 $1$1wLv$dgIgekFXlOyGhnuFlxLBf1
!
no aaa new-model
!
resource policy
!
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
ip subnet-zero
ip wccp web-cache
ip cef
!
!
no ip dhcp use vrf connected
!
!
!
!
!
!
interface FastEthernet0/0
 ip address 189.xxx.xxx.97 255.255.255.240
 ip wccp web-cache redirect out
 duplex auto
 speed auto
!
interface FastEthernet0/1 
 ip address 172.16.1.5 255.255.255.252
 duplex auto
 speed auto
 --More--
```

 
FastEthernet 0/1 é a interface ligada ao servidor squid por um cabo cat5 crossover.

Iptables:



```
 iptables -t nat -A PREROUTING -i wccp2 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
```

 
Interfaces configuradas no servidor squid:



```
eth2      Link encap:Ethernet  EndereÃ§o de HW 00:1F:D0:FE:A2:C4
          inet end.: 172.16.1.6  Bcast:172.16.1.7  Masc:255.255.255.252
          endereÃ§o inet6: fe80::21f:d0ff:fefe:a2c4/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  MÃ©trica:1
          RX packets:1225 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1776 errors:0 dropped:0 overruns:0 carrier:0
          colisÃµes:0 txqueuelen:1000
          RX bytes:153658 (150.0 KiB)  TX bytes:200334 (195.6 KiB)
          IRQ:233 EndereÃ§o de E/S:0x8000
 
lo        Link encap:Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereÃ§o inet6: ::1/128 Escopo:MÃ¡quina
          UP LOOPBACKRUNNING  MTU:16436  MÃ©trica:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          colisÃµes:0 txqueuelen:0
          RX bytes:560 (560.0 b)  TX bytes:560 (560.0 b)
 
wccp2     Link encap:NÃ£o Especificado  EndereÃ§o de HW AC-10-01-06-8E-BF-F4-AF-00-00-00-00-00-00-00-00
          inet end.: 172.16.1.6  P-a-P:172.16.1.6  Masc:255.255.255.255
          UP POINTOPOINT RUNNING NOARP  MTU:1476  MÃ©trica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          colisÃµes:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
```

 
Tenho algumas dúvidas: 

O servidor cache, aponta rota default? Estou apontando para 172.16.1.5 que é o Cisco, o servidor cache tem acesso a todas as faixas de ip no Cisco mais não sai para internet, isso está certo? 

A marcação ZPH para cache full será reconhecida no firewall? 

Grato a todos.

----------


## alexandrecorrea

tcpdump na wccp2 e veja se tem trafego...

----------


## Josue Guedes

> tcpdump na wccp2 e veja se tem trafego...


Bom dia Alexandre, no final de semana fiz mais testes, verifiquei se há trafego no tunnel, e não há, esse tunel gre que fiz na realidade não estava conectado, pois a interface eth2 estava com o mesmo ip, resolvi então criar o tunel no Cisco e setar ip´s diferentes da faixa de ip do tunnel, ai sim, estabeleceu rede tanto no tunel como nas interfaces do cisco e servidor squid. Contudo após isso o cisco não reconheceu mais o cache. Voltando ao modo anterior passou a ser reconhecido contudo não abre página.

Fiz o seguinte no Cisco:

interface Tunnel0

ipaddres 172.16.1.5
source destination 192.168.0.1 (interface setada no squid)

etc.....

Tenho a impressão que algo está errado no tunel.

Grato pela ajuda.

----------


## herlon2008

Não pude ver o restante de sua configuração cisco, em virtude da outra interface não apaecer a configuração. 

Já aconteceu comigo este problema, experimente adicionar a rota no Linux para o gateway dos clientes.

No meu caso passou a funcionar, ao que me parece ele não conseguia encontrar retorno.

----------


## alexandrecorrea

nao precisa de criar o tunel0 nao.. o wccp comunica com o proxy via gre sem esse tunel

----------


## Josue Guedes

> Não pude ver o restante de sua configuração cisco, em virtude da outra interface não apaecer a configuração. 
> 
> Já aconteceu comigo este problema, experimente adicionar a rota no Linux para o gateway dos clientes.
> 
> No meu caso passou a funcionar, ao que me parece ele não conseguia encontrar retorno.



Bom dia Herlon,

mudei algumas coisas aqui, 

ip wccp web-cache mudei para in, estava em out;

como eu estava falando com Alexandre, o Tunel Gre (wccp2) estava só de enfeite, ou não sei se isso é assim mesmo.

segue a configuração do Cisco:



```
Current configuration : 1484 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname MegaRouter
!
boot-start-marker
boot-end-marker
!
enable secret 5 $1$1wLv$dgIgekFXlOyGhnuFlxLBf1
!
no aaa new-model
!
resource policy
!
mmi polling-interval 60
no mmi auto-configure
no mmi pvc
mmi snmp-timeout 180
ip subnet-zero
ip wccp web-cache
ip cef
!
!
no ip dhcp use vrf connected
!
!
!
!
!
!
interface FastEthernet0/0
 ip address 189.xxx.xxx.97 255.255.255.240
 ip wccp web-cache redirect in
 duplex auto
 speed auto
!
interface FastEthernet0/1
 ip address 172.16.1.5 255.255.255.252
 duplex auto
 speed auto
 !
interface Serial0/1/0
 ip address 200.xxx.xxx.126 255.255.255.252
 encapsulation ppp
!
interface Serial0/1/1
 no ip address
 shutdown
 clockrate 2000000
!
interface Serial0/3/0
 no ip address
 shutdown
 clockrate 2000000
!
interface Serial0/3/1
 no ip address
 shutdown
 clockrate 2000000
!
router rip
 network 200.209.129.0
!
ip classless
ip route 0.0.0.0 0.0.0.0 200.xxx.xxx.125
ip route 189.xxx.xxx.0 255.255.255.192 198.xxx.xxx.98
ip route 189.xxx.xxx.0 255.255.255.192 189.xxx.xxx.99
ip route 189.xxx.xxx.64 255.255.255.192 198.xxx.xxx.98
ip route 189.xxx.xxx.64 255.255.255.192 189.xxx.xxx.99
ip route 200.xxx.xxx.0 255.255.255.0 200.xxx.xxx.125
ip route 200.xxx.xxx.0 255.255.255.0 200.xxx.xxx.125
!
no ip http server
!
!
!
!
control-plane
!
!
line con 0
line aux 0
line vty 0 4
 password 7 060B0A264D4F0A1C16041D1306573233767165
 login
!
end
 
MegaRouter#
```

 
Tentarei apontar então a rota default no Squid para 189.xxx.xxx.98 que é o Gateway das faixas válidas nos cliente, ou aponto para o Gateway dos clientes mesmo que 200.xxx.xxx.1?

Grato.

----------


## Josue Guedes

> nao precisa de criar o tunel0 nao.. o wccp comunica com o proxy via gre sem esse tunel


Hum, beleza, é porque fazendo o Tunnel0 no Cisco piorou, então a interface que levanta o tunel gre, tem o mesmo ip do tunel mesmo?

----------


## alexandrecorrea

na epoca que estava mexendo na codificação do tproxy no lusca, o adrian (mantedor e desenvolvedor) me disse que o ideal que o proy fique em uma interface SEPARADA, para evitar confusão do router em qual pacote atuar...

mesmo que seja uma VLAN. e realmente, fiz isso aqui e fica muito melhor de trabalhar.. menos confuso e sem problemas de pacotes entrarem e sairem por locais errados..


como tenho algumas FE´s sobrando.. coloquei os proxyes em interfaces separadas.. ficando assim:

FastEthernet 0/0/0 - clientes
FastEthernet 1/0/0 - lan proxyes
FastEthernet 2/0/0 - wan1
FastEthernet 2/0/1 - wan2

na lan dos proxyes.. eu do um exclude no wccp.. na interface dos clientes eu coloco redirect IN

no linux.. configuro a interface normal.. note que, o trafego na WCCP2, sera somente de ENTRADA (do router para o servidor) .. a saida sera pela ethernet normal

----------


## herlon2008

Acho que existe uma forma mais facil de resolver seu problema, atribua um IP valido /30, que ao meu ver ira funcionar. 

Pois não encontrei um NAT ou algo que faça com que o proxy tenha saida para o mundo externo.

----------


## Josue Guedes

> na epoca que estava mexendo na codificação do tproxy no lusca, o adrian (mantedor e desenvolvedor) me disse que o ideal que o proy fique em uma interface SEPARADA, para evitar confusão do router em qual pacote atuar...
> 
> mesmo que seja uma VLAN. e realmente, fiz isso aqui e fica muito melhor de trabalhar.. menos confuso e sem problemas de pacotes entrarem e sairem por locais errados..
> 
> 
> como tenho algumas FE´s sobrando.. coloquei os proxyes em interfaces separadas.. ficando assim:
> 
> FastEthernet 0/0/0 - clientes
> FastEthernet 1/0/0 - lan proxyes
> ...


Meu Cisco aqui é o 2801 ele tem 2 fastEthernet, a situação é um pouco parecida com a sua, pois estou com o proxy em uma interface separada. Já entendi sobre o tunuel, vou fazer mais testes agora a tarde, pelo que vi tenho colocar no tunnel o gre remote, o ip que vai interceptar as requisições, vou testar isso aqui. O trafego no wccp2 aconteceu somente na entrada, mais achei que isso estava errado, rsrsr. Posto novos resultados.

----------


## Josue Guedes

> Acho que existe uma forma mais facil de resolver seu problema, atribua um IP valido /30, que ao meu ver ira funcionar. 
> 
> Pois não encontrei um NAT ou algo que faça com que o proxy tenha saida para o mundo externo.


Exato, cheguei a fazer isso aqui e deu acesso a net mesmo, contudo como não vi isso em nehum tutorial dos "montes" que li na net, desconfiei que poderia causar problemas. Você tem ai funcionando com Ip´s válidos? Tentarei inicialmente sem ip´s validos. Obrigado

----------


## Josue Guedes

Bom dia a todos.

Venho informar que tive sucesso na configuração do WCCPv2. Conforme nosso amigo Herlon sugeriu com utilização de Ip válido entre o router e o Squid, o squid passou a ter acesso a net e funcionou o WCCP. Conforme o Alexandre disse o tráfego ocorre em apenas um lado do tunel gre. Mais acredito que a grande questão que pegou aqui foi o entendimento da criação do tunel gre. Segue minha configuração:

No rc.local



```
/bin/echo 1 > /proc/sys/net/ipv4/ip_forward
/bin/echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
/sbin/modprobe ip_gre
ip tunnel add wccp2 mode gre remote 200.xxx.xxx.126 local 189.xxx.xxx.106 dev eth2
ip addr add 189.xxx.xxx.106/32 dev wccp2
ip link set wccp2 up
/bin/echo 0 > /proc/sys/net/ipv4/conf/wccp2/rp_filter
```

 
O ip remote foi o ip que aparece no Cisco, no router indentification. Outro detalhe também é na hora de definir o ip wccp web-cache redirect, se será out ou in. Isso dependerá de qual interface será aplicado, se for na interface que sai para net será out, se for interface que vai para os clientes/Servidor será in.

Agora vamos para a segunda parte da luta, o Tproxy, pois no site meu ip aparece o Ip do proxy, mesmo usando o WCCP. O caminho realmente é o Tproxy ou temos outra opção?

Grato a todos.

----------


## Josue Guedes

Boa tarde a todos, informo que iniciei as tentativas com o Tproxy, estarei abrindo outro tópico, já que o WCCP foi resolvido. Obrigado a todos. Não estou conseguindo agradecer os posts!

----------


## herlon2008

Se for fazer tproxy utilize um kernel recente pois já vem com os scripts bastando somente habilitar e recompilar, antigamente quando fiz tive que aplicar os patchs no kernel, habilitar as opções e recompilar.
Tive varios problemas e tive que ir mexendo em alguns arquivos do iptables e movimentando arquivos de local ou criando links, haja visto que muitas vezes não o encontrava algumas bibliotecas que estavam lá mas em local diferente.

----------


## Josue Guedes

> Se for fazer tproxy utilize um kernel recente pois já vem com os scripts bastando somente habilitar e recompilar, antigamente quando fiz tive que aplicar os patchs no kernel, habilitar as opções e recompilar.
> Tive varios problemas e tive que ir mexendo em alguns arquivos do iptables e movimentando arquivos de local ou criando links, haja visto que muitas vezes não o encontrava algumas bibliotecas que estavam lá mas em local diferente.


Foi exatamente o caminho que escolhi, estou tentando no Fedora 11 e a ultima versão do Lusca, a briga já começou:

https://under-linux.org/f96/lusca-tp...96/#post467455

----------


## dvladimir

Amigos, tenho um problema com WCCP em cima de Squid com proxy transparente. Está funcionando beleza com trafego http (porta 80), só que acesso a bancos (https / ssl) não rola. É sabido que https não funciona com proxy transparent por proteção a ataque do Homem do Meio. Minha pergunta, como fazer funcionar WCCP em cima de proxy linux (transparente ou não), e que funcione para acesso a portas 80 / 443/ 563.

----------

