cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1168
Views
4
Helpful
1
Replies

Squid returning destination unreachable back to router

akshaycjoshi
Level 1
Level 1

I am desperately trying to use Squid(3.3.3) with WCCP2 (Cisco2921).  Although it's not working right now but I think I am really close.

Router has 3 interfaces and the config is this:

!

ip wccp web-cache password 7 01100F175804

!

interface GigabitEthernet0/0

ip address 187.72.34.82 255.255.255.248

ip nat outside

ip virtual-reassembly in

duplex auto

speed auto

!

interface GigabitEthernet0/1

ip address 192.168.1.1 255.255.255.0

ip nat inside

ip virtual-reassembly in

duplex auto

speed auto

!

interface GigabitEthernet0/2

ip address 172.16.1.1 255.255.255.0

ip wccp web-cache redirect in

ip nat inside

ip virtual-reassembly in

duplex auto

speed auto

!

ip nat inside source list NATTABLE_HOSTS interface GigabitEthernet0/0 od

ip route 0.0.0.0 0.0.0.0 GigabitEthernet0/0

!

ip access-list standard NATTABLE_HOSTS

permit 192.168.0.0 0.0.255.255

permit 172.16.0.0 0.0.255.255

permit 10.0.0.0 0.255.255.255

Squid is compiled with following options:

configure

options: '--prefix=/usr' '--includedir=/usr/include'

'--datadir=/usr/share' '--bindir=/usr/sbin'

'--libexecdir=/usr/lib/squid' '--localstatedir=/var'

'--sysconfdir=/etc/squid3' '--enable-delay-pools' '--enable-ssl-crtd'

'--enable-linux-netfilter' '--enable-eui' '--enable-snmp'

'--enable-gnuregex' '--enable-icmp' '--with-logdir=/var/log/squid/'

'--enable-referer-log' '--enable-cache-digests' '--enable-wccp'

'--enable-wccpv2' '--enable-ssl' --enable-ltdl-convenience

Squid.conf:

http_port 192.168.1.2:3129 intercept

http_port 192.168.1.2:3128

wccp2_router 192.168.1.1

wccp2_forwarding_method gre

wccp2_return_method gre

wccp2_service standard 0 password=cisco

Cache.log is also without any errors.

On ubuntu 12.04 I have set the following rules (based on

http://wiki.squid-cache.org/Features/Wccp2

):

modprobe ip_gre

ip tunnel add wccp0 mode gre remote 187.72.34.82 local 192.168.1.2 dev eth0

ifconfig wccp0 192.168.1.2 netmask 255.255.255.255 up

echo 0>/proc/sys/net/ipv4/conf/wccp0/rp_filter

echo 0>/proc/sys/net/ipv4/conf/eth0/rp_filter

echo 1>/proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -i wccp0 -p tcp --dport 80 -j REDIRECT --to-port 3129

iptables -t nat -A POSTROUTING -j MASQUERADE

With all this setup, client browser keeps on loading and loading and finally says server taking too long to respond etc.

On  the squid machine, via wireshark, I can see that a lot of "destination  unreachable" messages are sent from squid to router when I visit some  website on browser.

From: 192.168.1.2 to 192.168.1.1 [port unreachable]

When I manually set proxy IP in browser it works(websites open fine).I could also see HereIAm and ISeeYou messages flowing fine.

Please guide me on where am I missing. Let me know if more details are required.

1 Reply 1

Kyle McKay
Level 1
Level 1

Your WCCP packets are being sourced from the 172.16.1.1 interface and your proxy configuration is referencing the wccp router 192.168.1.1 IP address. I believe this is what is causing your issues with connectivity between Proxy and Router. The Router is sending the packets to the Proxy with a Source IP address of 172.16.1.1 and the Proxy is expecting to receive the packets with a source address of 192.168.1.1

You can change the WCCP source IP address with the following command:

ip wccp source-address 192.168.1.1

This will cause the WCCP redirection packets to be sourced from the 192.168.1.1 interface which should allow your configuration to begin working correctly.

HTH.

Kyle

Review Cisco Networking for a $25 gift card