Thanks Jan,

Have checked everything.
Tcp outgoing address is used,
http_port 3128 transparent tproxy is used
echo 1 > /proc/sys/net/ipv4/ip_forward

Iptables list used
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t tproxy -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j TPROXY --on-port 3128

Iptables status shows
Table: tproxy
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination        
1    TPROXY     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 TPROXY redirect 0.0.0.0:3128

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination        

Table: nat
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination        
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 3128

I feel that the problem is the traffic may be moving in a loop in the server.
Pls. suggest.

Regards
Sunil

Jan Engelhardt wrote:
1. tcp_outgoing_address <ip address of the cache server>
2. http_port 3128 tproxy
    

tproxy is a separate option. Provided that you actually patched squid to 
include tproxy support.

  
3. iptables -t tproxy -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j
TPROXY --on-port 80
    

 --on-port 3128

  
Tried changing the proxy port to 80 and 3128 but no luck.
    


Jan Engelhardt