In the squid log :
2006/09/15 00:09:14| tproxy ip=10.0.0.200,0xc800000a,port=0 ERROR ASSIGN 2006/09/15 00:09:14| tproxy ip=10.0.0.200,0xc800000a,port=0 ERROR ASSIGN
and in squid's src/forward.c
static void fwdConnectStart(void *data) { ... itp.op = TPROXY_ASSIGN; if (setsockopt(fd, SOL_IP, IP_TPROXY, &itp, sizeof(itp)) == -1) { debug(20, 1) ("tproxy ip=%s,0x%x,port=%d ERROR ASSIGN\n", inet_ntoa(itp.v.addr.faddr), itp.v.addr.faddr.s_addr, itp.v.addr.fport);
Let it print errno, so we can find out what causes this.
It seems squid sends a ftport == 0 and tproxy returns -EINVAL. I will look more into it tomorrow but in the mean time, does anyone have an idea why ?
Supposedly the tproxy init routine is not complete? On Sep 14 2006 22:27, Enrico Demarin (home) wrote:
still not working for some reason but the squid messages are gone :
the rcv_saddr seems to be only set to something else than 0.0.0.0 if an explicit acl is set in squid.conf, in my case
acl enri src 10.0.0.0/255.0.0.0 tcp_outgoing_address 10.0.0.1 enri
You always need tcp_outgoing_address when using tproxy. I would suggest dropping the 'enri' parts entirely (do it unconditionally): tcp_outgoing_address <ip_of_proxy> Jan Engelhardt --